3D graphics eBook - Course Materials Repository
3D graphics eBook - Course Materials Repository 3D graphics eBook - Course Materials Repository
Texture synthesis 219 Single purpose structured texture synthesis Algorithms of that family use a fixed procedure to create an output image, i. e. they are limited to a single kind of structured texture. Thus, these algorithms can both only be applied to structured textures and only to textures with a very similar structure. For example, a single purpose algorithm could produce high quality texture images of stonewalls; yet, it is very unlikely that the algorithm will produce any viable output if given a sample image that shows pebbles. Chaos mosaic This method, proposed by the Microsoft group for internet graphics, is a refined version of tiling and performs the following three steps: 1. The output image is filled completely by tiling. The result is a repetitive image with visible seams. 2. Randomly selected parts of random size of the sample are copied and pasted randomly onto the output image. The result is a rather non-repetitive image with visible seams. 3. The output image is filtered to smooth edges. The result is an acceptable texture image, which is not too repetitive and does not contain too many artifacts. Still, this method is unsatisfactory because the smoothing in step 3 makes the output image look blurred. Pixel-based texture synthesis These methods, such as "Texture synthesis via a noncausal nonparametric multiscale Markov random field." Paget and Longstaff, IEEE Trans. on Image Processing, 1998 [3] , "Texture Synthesis by Non-parametric Sampling." Efros and Leung, ICCV, 1999 [4] , "Fast Texture Synthesis using Tree-structured Vector Quantization" Wei and Levoy SIGGRAPH 2000 [5] and "Image Analogies" Hertzmann et al. SIGGRAPH 2001. [6] are some of the simplest and most successful general texture synthesis algorithms. They typically synthesize a texture in scan-line order by finding and copying pixels with the most similar local neighborhood as the synthetic texture. These methods are very useful for image completion. They can be constrained, as in image analogies, to perform many interesting tasks. They are typically accelerated with some form of Approximate Nearest Neighbor method since the exhaustive search for the best pixel is somewhat slow. The synthesis can also be performed in multiresolution, such as "Texture synthesis via a noncausal nonparametric multiscale Markov random field." Paget and Longstaff, IEEE Trans. on Image Processing, 1998 [3] . Patch-based texture synthesis Patch-based texture synthesis creates a new texture by copying and stitching together textures at various offsets, similar to the use of the clone tool to manually synthesize a texture. "Image Quilting." Efros and Freeman. SIGGRAPH 2001 [7] and "Graphcut Textures: Image and Video Synthesis Using Graph Cuts." Kwatra et al. SIGGRAPH 2003 [8] are the best known patch-based texture synthesis algorithms. These algorithms tend to be more effective and faster than pixel-based texture synthesis methods.
Texture synthesis 220 Pattern-based texture modeling In pattern-based modeling [9] a training image consisting of stationary textures are provided. The algorithm performs stochastic modeling, similar to the patch-based texture synthesis, to reproduce the same spatial behavior. The method works by constructing a pattern database. It will then use multi-dimensional scaling, and kernel methods to cluster the patterns into similar group. During the simulation, it will find the most similar cluster to the pattern at hand, and then, randomly selects a pattern from that cluster to paste it on the output grid. It continues this process until all the cells have been visited. Chemistry based Realistic textures can be generated by simulations of complex chemical reactions within fluids, namely Reaction-diffusion systems. It is believed that these systems show behaviors which are qualitatively equivalent to real processes (Morphogenesis) found in the nature, such as animal markings (shells, fishs, wild cats...). Implementations Some texture synthesis implementations exist as plug-ins for the free image editor Gimp: • Texturize [10] • Resynthesizer [11] A pixel-based texture synthesis implementation: • Parallel Controllable Texture Synthesis [12] Patch-based texture synthesis using Graphcut: • KUVA: Graphcut textures [13]
- Page 173 and 174: Rendering 168 • 1984 Distributed
- Page 175 and 176: Retained mode 170 Retained mode In
- Page 177 and 178: Scanline rendering 172 Comparison w
- Page 179 and 180: Screen Space Ambient Occlusion 174
- Page 181 and 182: Screen Space Ambient Occlusion 176
- Page 183 and 184: Shadow mapping 178 Algorithm overvi
- Page 185 and 186: Shadow mapping 180 Drawing the scen
- Page 187 and 188: Shadow mapping 182 Further reading
- Page 189 and 190: Shadow volume 184 There is also a p
- Page 191 and 192: Shadow volume 186 The depth fail me
- Page 193 and 194: Silhouette edge 188 Silhouette edge
- Page 195 and 196: Specular highlight 190 Specular hig
- Page 197 and 198: Specular highlight 192 normalized o
- Page 199 and 200: Sphere mapping 194 Sphere mapping I
- Page 201 and 202: Stencil codes 196 Stencil codes Ste
- Page 203 and 204: Stencil codes 198 Stencils The shap
- Page 205 and 206: Stencil codes 200 [7] Wellein, G et
- Page 207 and 208: Subdivision surface 202 used a four
- Page 209 and 210: Subsurface scattering 204 Subsurfac
- Page 211 and 212: Subsurface scattering 206 External
- Page 213 and 214: Surface normal 208 If a (possibly n
- Page 215 and 216: Surface normal 210 Normal in geomet
- Page 217 and 218: Texture filtering 212 Texture filte
- Page 219 and 220: Texture mapping 214 Texture mapping
- Page 221 and 222: Texture mapping 216 constant distan
- Page 223: Texture synthesis 218 • Structure
- Page 227 and 228: Texture synthesis 222 • Micro-tex
- Page 229 and 230: UV mapping 224 A UV map can either
- Page 231 and 232: Vertex 226 Polytope vertices are re
- Page 233 and 234: Vertex Buffer Object 228 //Make the
- Page 235 and 236: Vertex Buffer Object 230 GLuint sha
- Page 237 and 238: Vertex Buffer Object 232 vertexes *
- Page 239 and 240: Virtual actor 234 Virtual actor A v
- Page 241 and 242: Virtual actor 236 exercises, and ev
- Page 243 and 244: Volume rendering 238 Volume ray cas
- Page 245 and 246: Volume rendering 240 Maximum intens
- Page 247 and 248: Volume rendering 242 Image-based me
- Page 249 and 250: Volumetric lighting 244 References
- Page 251 and 252: Voxel 246 • Outcast, a game made
- Page 253 and 254: Z-buffering 248 Z-buffering In comp
- Page 255 and 256: Z-buffering 250 } } display COLOR a
- Page 257 and 258: Z-fighting 252 Z-fighting Z-fightin
- Page 259 and 260: Appendix 3D computer graphics softw
- Page 261 and 262: 3D computer graphics software 256
- Page 263 and 264: 3D computer graphics software 258
- Page 265 and 266: 3D computer graphics software 260 2
- Page 267 and 268: Article Sources and Contributors 26
- Page 269 and 270: Article Sources and Contributors 26
- Page 271 and 272: Image Sources, Licenses and Contrib
- Page 273 and 274: Image Sources, Licenses and Contrib
Texture synthesis 220<br />
Pattern-based texture modeling<br />
In pattern-based modeling [9] a training image consisting of stationary textures are provided. The algorithm performs<br />
stochastic modeling, similar to the patch-based texture synthesis, to reproduce the same spatial behavior.<br />
The method works by constructing a pattern database. It will then use multi-dimensional scaling, and kernel methods<br />
to cluster the patterns into similar group. During the simulation, it will find the most similar cluster to the pattern at<br />
hand, and then, randomly selects a pattern from that cluster to paste it on the output grid. It continues this process<br />
until all the cells have been visited.<br />
Chemistry based<br />
Realistic textures can be generated by simulations of complex chemical reactions within fluids, namely<br />
Reaction-diffusion systems. It is believed that these systems show behaviors which are qualitatively equivalent to<br />
real processes (Morphogenesis) found in the nature, such as animal markings (shells, fishs, wild cats...).<br />
Implementations<br />
Some texture synthesis implementations exist as plug-ins for the free image editor Gimp:<br />
• Texturize [10]<br />
• Resynthesizer [11]<br />
A pixel-based texture synthesis implementation:<br />
• Parallel Controllable Texture Synthesis [12]<br />
Patch-based texture synthesis using Graphcut:<br />
• KUVA: Graphcut textures [13]