Lapped Solid Textrues Filling a Model with Anisotropic


![Procedural approach • [Perlin 1985; Cutler et al. 2002] • Difficult for non-expert users Procedural approach • [Perlin 1985; Cutler et al. 2002] • Difficult for non-expert users](https://slidetodoc.com/presentation_image_h2/16c59c96cba5a0dff7f51b670bce3160/image-3.jpg)





![• [Kopf et al. 2007] – 1 -a • [Owada et al. 2004] • [Kopf et al. 2007] – 1 -a • [Owada et al. 2004]](https://slidetodoc.com/presentation_image_h2/16c59c96cba5a0dff7f51b670bce3160/image-9.jpg)







![Preparation of solid texture exemplars • Solid texture synthesis [Kopf et al. 2007] • Preparation of solid texture exemplars • Solid texture synthesis [Kopf et al. 2007] •](https://slidetodoc.com/presentation_image_h2/16c59c96cba5a0dff7f51b670bce3160/image-17.jpg)





![Interpolating tensor field (1/3) • Laplacian smoothing [Fu et al. 2007] 23 Interpolating tensor field (1/3) • Laplacian smoothing [Fu et al. 2007] 23](https://slidetodoc.com/presentation_image_h2/16c59c96cba5a0dff7f51b670bce3160/image-23.jpg)















- Slides: 38
Lapped Solid Textrues Filling a Model with Anisotropic Textures Kenshi Takayama, Makoto Okabe, Takashi Ijiri, Takeo Igarashi The University of Tokyo 발표: 이성호
Abstract • representing solid objects – with spatially varying oriented textures – by repeatedly pasting solid texture exemplars • Extend the 2 D lapped textures to 3 D solids • creating solid models – whose textural patterns change gradually – along the depth fields • Identify several texture types 2
Procedural approach • [Perlin 1985; Cutler et al. 2002] • Difficult for non-expert users 3
2 D texture synthesis on cross sections • [Owada et al. 2004; Pietroni et al. 2007] • Limitations – Inconsistency among different cross-sections – Difficulty in handling textures with discontinuous elements • Such as seeds 4
Example-based 3 D solid texture synthesis • [Jagnow et al. 2004; Kopf et al. 2007] • For large-scale solid models – The amount of data and computational cost become problematic 5
Lapped textures 6
Lapped solid textures • Arrange solid textures along a tensor field • handle spatially-varying textures • classify solid textures into several types – according to the amount of anisotropy and spatial variation • Designed easily and created efficiently • Little memory and computational cost 7
Classification of solid textures 8
• [Kopf et al. 2007] – 1 -a • [Owada et al. 2004] – 1 -b • This paper – 2 -a and 2 -b • Not considered – 2 -c and 2 -d 9
User interface: Texture type 0 10
Type 1 -a 11
Type 1 -b 12
Type 2 -a 13
Type 2 -b 14
Manual pasting of textures 15
Algorithm: Tetrahedral mesh • The input mesh model is converted to a tetrahedral mesh model – Used the Tet. Gen library [Si 2006] 16
Preparation of solid texture exemplars • Solid texture synthesis [Kopf et al. 2007] • Noise functions [Cook and De. Rose 2005] • Volume capturing using slicers [Banvard 2002] • In-house voxel editor (this paper) – Created manually from photographs 17
Rendering an LST model • convert tetrahedron model – Into a polygonal model – That consists of surface triangles – with a list of 3 D texture coordinates assigned to each of its three vertices • Each surface triangle is rendered multiple times – Approximately 10– 20 times • in most of our results – With alpha blending enabled 18
Cutting • Constructs a scalar field – Using radial basis function (RBF) interpolation [Turk and O’Brien 1999] • Texture coordinates for each triangle on the cross-section – obtained by linear interpolation 19
Volume rendering • Construct a scalar field – over the mesh vertices – To give the distance between the camera and each vertex • Calculate a large number of slices of the model – perpendicular to the camera direction – by iso-surface extraction 20
Creating an alpha mask of the solid texture • Create 3 D mask – Using [Nealen et al. 2007] – The alpha value drops off around the boundary of the mask • We assume all the textures in our examples are less structured – Use a constant “splotch” mask shown in Fig. 11 • for all the textures 21
Constructing a tensor field • Type 1 -a and 1 -b – First direction • user-drawn strokes (1 -a) • Gradient direction of the depth field (1 -b) – Other direction is chosen randomly • when pasting each patch • Type 2 -a and 2 -b – First direction • Gradient direction of the depth field – Second direction • User-drawn strokes – Third direction • Cross product of the two • Magnitudes of tensors – User-specified texture scaling values – Except for types 1 -b and 2 -b • Set automatically from the depth field 22
Interpolating tensor field (1/3) • Laplacian smoothing [Fu et al. 2007] 23
Interpolating tensor field (2/3) • Minimizing Laplacians (Eq. 1) while satisfying the collection of constraints (Eq. 2) in a least squares sense forms a sparse linear system, which can be solved quickly. 24
Interpolating tensor field (3/3) • Perform Laplacian smoothing – for each x-, y-, and z-component of the vectors • which are later combined and normalized. • Types 2 -a and 2 -b, – no guarantee that resulting vectors will – always be orthogonal to the first direction – orthogonalize these vectors • To the first direction after smoothing 25
26
• Obtain a depth field – By using thin-plate RBF interpolation in the 3 D Euclidean space [Turk and O’Brien 1999] • the depth field must be defined as a smooth function in 3 D space • Assign depth values – of 0 and 1 to the outermost (red) and the innermost (blue) regions, respectively • Types 1 -b and 2 -b, – These depth values are used directly • As one of the three texture coordinates 27
Selecting a seed tetrahedron • Initialize a list of “uncovered” tetrahedra • One is selected at random – For each pasting operation • Tetrahedra are removed from the list – If they are completely covered • Repeat this process – Until the “uncovered” list becomes empty • Manual pasting of the textures – Seed tetrahedron is set to the one • Clicked by the user 28
Growing a clump of tetrahedra 29
Texture optimization 30
31
Coverage test of tetrahedron • linearly sample the alpha values of the mask – at these discrete points of each tetrahedron – in the clump – which are then accumulated. • Assume that the tetrahedron is completely covered by the overlapping textures – If the accumulated alpha values of all the sampling points of a tetrahedron reach 255 32
Creation of depth-varying solid models • Map the clump of tetrahedra – Into the corresponding depth position • In the texture space • Instead of the central position • alter the positional constraints – from (0. 5, 0. 5)t to (0. 5, dseed, 0. 5, )t, – dseed is the depth value assigned to Tseed • Assuming the s-axis corresponds to the depth orientation 33
Problem & solution 34
Results 35
36
37
Limitations and future work • Patch seams – a texture with strong low-frequency components • Singularities of the tensor field • blurring artifacts • Preparation of exemplar solid textures 38