Lapped Solid Textures: Filling a Model with Anisotropic Textures Kenshi Takayama 1 Makoto Okabe 1 Takashi Ijiri 1 Takeo Igarashi 1,2 1 The University of Tokyo 2 JST ERATO
Goal Create 3D models with internal textures Target: natural objects – Fruits, vegetables, … – Non-uniform internal structure Demo
Our approach
Key idea: Extend “Lapped textures” to 3D Lapped textures [Praun et al. ’00] Texture patch Surface vector field 2D texture exemplar Triangular mesh Patch- pasting Result
Key idea: Extend “Lapped textures” to 3D Texture patch Volumetric tensor field 3D texture exemplar Tetrahedral mesh Patch- pasting Result Lapped solid textures
Related work
Procedural approach Pros Compact Arbitrary resolution Cons Difficult to control Uniform patterns only [Perlin ’85] [Cutler et al. ’04]
Tweaking 2D photos Pros Intuitive user interface Non-uniform structure Cons Artifacts – Inconsistency (Owada) – Blur by morphing (Pietroni) [Owada et al. ’04] [Pietroni et al. ’07]
Solid texture synthesis Pros Quality 3D texture from 2D examplars Cons Data-intensive Difficult to handle non-uniform structure [Kopf et al. ’07] [Heeger and Bergen ’95; Ghazanfarpour and Dischler ’96; Dischler et al. ’98; Lefebvre and Poulin ’00 ; Wei ’02; Jagnow et al. ’04; Qin and Yang ’07; Kopf et al. ’07; Dong et al. ’08]
UI Non- uniform SizeQuality Procedural approach Tweaking 2D photos Solid texture synthesis
UI Non- uniform SizeQuality Procedural approach Tweaking 2D photos Solid texture synthesis Our method
Contributions Extend “Lapped textures” to 3D 1. Select position 2. Paste 3. Adjust shape Please refer to the paper!
Contributions (contd.) Classification of solid textures User interface for tensor field design Creation of depth- varying models
Classification of solid textures User interface for tensor field design Creation of depth- varying models
Classification of solid textures Based on 2 aspects a b c a b c Anisotropy level Change in appearance w.r.t. cutting orientation Variation level Change in pattern w.r.t. spatial position
Anisotropy level Change in appearance w.r.t. cutting orientation Level 0Level 1Level 2 – (Isotropic) 3D vector3D tensor Axis Align with Level a b c
Variation level Change in pattern w.r.t. spatial position 1D2D3D Level 0Level 1Level 2Level 3 0D ( Homogeneous ) Vary in Level a b c
Anisotropy level Variation level 0 1-b 1-a2-a 2-b 2-c 2-d – – – – – Tilability 3D 2D 1D 0D [Owada’04][Ours] Demo
Classification of solid textures User interface for tensor field design Creation of depth- varying models
User interface for tensor field design 1. Set depth field – Similar to [Owada’04] 2. Draw stroke on layers Demo
Classification of solid textures User interface for tensor field design Creation of depth- varying models
Depth-varying textures Depth Type 1-b Type 2-b
Creation of depth-varying models 3 kinds of texture patch MiddleOuterInner
Creation of depth-varying models Choose one according to depth
Results
Kiwi fruitCarrot
Displacement Tree
Watermelon SeedFlesh
Combination of LST models Upper Lower
Volume rendering
Limitations Artifacts – Tensor field singularities
Limitations Artifacts – Highly-structured textures BlurringMisalignment
Limitations How to create texture exemplar? – Currently: ad-hoc methods Sweep of 2D image Noise function Putting 3D geometry Copy / paste Solid texture synthesis In-house voxel editor
Conclusion Patch-based approach to creating 3D models with internal textures – Extend “Lapped textures” to 3D Contributions – Classification of solid textures – User interface for tensor field design – Creation of depth-varying models
Thank you! Acknowledgements: Shigeru Owada Kazuo Nakazawa (Sony CSL) (National Cardiovascular Center) SIGGRAPH reviewers Funded by IPA (Information-technology Promotion Agency, Japan)
Data representation Store texture coordinates only w0w0 w1w1 w2w2 w3w3 w0w0 w1w1 w2w2 w3w3 w0w0 w1w1 w2w2 w3w3 v0v0 v1v1 v2v2 v3v3
Data representation Store texture coordinates only When cutting: – Linearly interpolate texture coordinates – No voxel computation!
Statistics # of tetraPaste [sec]Size [MB] Kiwi fruit Carrot Tree Watermelon Strata Cake Tube CPU: 2.33 GHz RAM: 1.0 GB
Future work Anisotropic reflection – Different color at same position! – Depends on cutting orientation
Future work Translucent objects – Colors on cross-section reveals internal content Traditional synthesis methods cannot handle!
Creation of texture patch Constant “splotch” mask Mask shape Cross-sections
Creation of texture patch Assume less-structured textures What if texture is highly structured? Future work