procedural wood texture generation, solid … · procedural wood texture generation, solid...

24
Procedural Wood Texture Generation, Solid Texturing and Simulation Jérémie Dumas Supervisor: Pierre Poulin Laboratoire d’Informatique Graphique de l’Université de Montréal May-July 2011 Jérémie Dumas (ENS de Lyon) Wood Texture Simulation May-July 2011 1 / 24

Upload: doanlien

Post on 21-Aug-2018

256 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Procedural Wood Texture Generation, Solid … · Procedural Wood Texture Generation, Solid Texturing and Simulation ... MapM : angularparameter ... Procedural Wood Texture Generation,

Procedural Wood Texture Generation,Solid Texturing and Simulation

Jérémie DumasSupervisor: Pierre Poulin

Laboratoire d’Informatique Graphique de l’Université de Montréal

May-July 2011

Jérémie Dumas (ENS de Lyon) Wood Texture Simulation May-July 2011 1 / 24

Page 2: Procedural Wood Texture Generation, Solid … · Procedural Wood Texture Generation, Solid Texturing and Simulation ... MapM : angularparameter ... Procedural Wood Texture Generation,

MotivationsWhy Wood Textures ?

Wood → one of the most often used material in CGVarious applications for biologists, artists, graphic designersCan use either 2D textures or 3D textures (solid textures)Faithful simulation process for texture renderingModelling of knots, arbitrary shapes, mechanical forces, etc.

Jérémie Dumas (ENS de Lyon) Wood Texture Simulation May-July 2011 2 / 24

Page 3: Procedural Wood Texture Generation, Solid … · Procedural Wood Texture Generation, Solid Texturing and Simulation ... MapM : angularparameter ... Procedural Wood Texture Generation,

2D Textures versus 3D TexturesAdvantages and Drawbacks

2D Textures+ Fast and straightforward, can create high quality results+ Multiple use (color maps, bump maps, displacement maps)– Mapping issues : arbitrary shape parametrization ?

3D Textures+ Easy of use, no parametrization issues– Difficult to represent as a simple function ρ(x , y , z)– Can be memory expensive (table of 103 × 103 × 103 elements ?)

Jérémie Dumas (ENS de Lyon) Wood Texture Simulation May-July 2011 3 / 24

Page 4: Procedural Wood Texture Generation, Solid … · Procedural Wood Texture Generation, Solid Texturing and Simulation ... MapM : angularparameter ... Procedural Wood Texture Generation,

Botanical Considerations

Main PhenomenaAnnual ring pattern (earlywood : wider, latewood : tighter)Knots (conical shape, more present around the pith)Heartwood and sapwood (reddish color, etc.)

Other FactorsWind and gravity forcesLight and water availabilityGrowth environment (fences, diseases, insects, temperature. . . )

Jérémie Dumas (ENS de Lyon) Wood Texture Simulation May-July 2011 4 / 24

Page 5: Procedural Wood Texture Generation, Solid … · Procedural Wood Texture Generation, Solid Texturing and Simulation ... MapM : angularparameter ... Procedural Wood Texture Generation,

Botanical ConsiderationsIllustration

Figure 1: Section of a Yew branch 1.

1. Source : Wikipedia. Author : MPF.Jérémie Dumas (ENS de Lyon) Wood Texture Simulation May-July 2011 5 / 24

Page 6: Procedural Wood Texture Generation, Solid … · Procedural Wood Texture Generation, Solid Texturing and Simulation ... MapM : angularparameter ... Procedural Wood Texture Generation,

Previous work

Procedural Wood Textures ([Pea85] and [Nor09])Multiple level of details, filtering issues

Voxel Simulation ([Buc98])Memory issues, biased along axis direction

L-systems and 3GMap L-systems ([PL96] and [TGM+09])Formal grammar with parallel application of rulesBiologicaly faithful, but hard to use

Jérémie Dumas (ENS de Lyon) Wood Texture Simulation May-July 2011 6 / 24

Page 7: Procedural Wood Texture Generation, Solid … · Procedural Wood Texture Generation, Solid Texturing and Simulation ... MapM : angularparameter ... Procedural Wood Texture Generation,

Previous WorkIllustrations

(a) Peachey [Pea85] (b) Buchanan [Buc98]

Jérémie Dumas (ENS de Lyon) Wood Texture Simulation May-July 2011 7 / 24

Page 8: Procedural Wood Texture Generation, Solid … · Procedural Wood Texture Generation, Solid Texturing and Simulation ... MapM : angularparameter ... Procedural Wood Texture Generation,

Previous WorkIllustrations

(c) Terraz et al. [TGM+09] (d) Norell [Nor09]

Jérémie Dumas (ENS de Lyon) Wood Texture Simulation May-July 2011 8 / 24

Page 9: Procedural Wood Texture Generation, Solid … · Procedural Wood Texture Generation, Solid Texturing and Simulation ... MapM : angularparameter ... Procedural Wood Texture Generation,

Our ApproachGlobal Framework

Figure 2: Modeling with blocks (Leblanc, 2011 [LHP11])

Jérémie Dumas (ENS de Lyon) Wood Texture Simulation May-July 2011 9 / 24

Page 10: Procedural Wood Texture Generation, Solid … · Procedural Wood Texture Generation, Solid Texturing and Simulation ... MapM : angularparameter ... Procedural Wood Texture Generation,

Our ApproachGlobal Framework

DescriptionRefinable polygonal meshSkeleton generation with L-systemsSurfacic and volumetric parametrizationGenerate cross-section texturesInterpolation between textures

Jérémie Dumas (ENS de Lyon) Wood Texture Simulation May-July 2011 10 / 24

Page 11: Procedural Wood Texture Generation, Solid … · Procedural Wood Texture Generation, Solid Texturing and Simulation ... MapM : angularparameter ... Procedural Wood Texture Generation,

Cross-section Texturing

Approach OutlineA first procedural generation ([Nor09])A second, particle-based, approachCell (active, dead), groups (generation)Parameters : speed, angle, age, color, etc.Output : a graph (skeleton) G = (V ,E )

Jérémie Dumas (ENS de Lyon) Wood Texture Simulation May-July 2011 11 / 24

Page 12: Procedural Wood Texture Generation, Solid … · Procedural Wood Texture Generation, Solid Texturing and Simulation ... MapM : angularparameter ... Procedural Wood Texture Generation,

Cross-section Texturing

RepresentationsRandom perturbationsPredefined shapeKnot simulationInward / OutwardMultiple piths

Jérémie Dumas (ENS de Lyon) Wood Texture Simulation May-July 2011 12 / 24

Page 13: Procedural Wood Texture Generation, Solid … · Procedural Wood Texture Generation, Solid Texturing and Simulation ... MapM : angularparameter ... Procedural Wood Texture Generation,

Cross-section Texturing

HeuristicsIntermediary cell generationSpeed readjustmentGroup splittingCell mergingSelf-intersectionsOrientation checkGroup collisions

Jérémie Dumas (ENS de Lyon) Wood Texture Simulation May-July 2011 13 / 24

Page 14: Procedural Wood Texture Generation, Solid … · Procedural Wood Texture Generation, Solid Texturing and Simulation ... MapM : angularparameter ... Procedural Wood Texture Generation,

Rendering process

2D Versionkd -tree with unstructured points in the planInterpolation methods : weighted (blurred), nearest neighbour

3D VersionGraph G = (V ,E ) with polygonsTriangulation : naive O(n2), sophisticated O(n)Bilinear color interpolation (direct with OpenGL)

Jérémie Dumas (ENS de Lyon) Wood Texture Simulation May-July 2011 14 / 24

Page 15: Procedural Wood Texture Generation, Solid … · Procedural Wood Texture Generation, Solid Texturing and Simulation ... MapM : angularparameter ... Procedural Wood Texture Generation,

Rendering process

(a) Nearest neighbour (b) Weighted sum (c) OpenGL

Figure 3: Result comparison of 3 different rendering processes.

Jérémie Dumas (ENS de Lyon) Wood Texture Simulation May-July 2011 15 / 24

Page 16: Procedural Wood Texture Generation, Solid … · Procedural Wood Texture Generation, Solid Texturing and Simulation ... MapM : angularparameter ... Procedural Wood Texture Generation,

Remaining Issues

Jagged patterns with large inward-growing groupsContour-limited growth behave as made inside a mould

Possible Corrections ?Spring-mass systemElement remappingBiased regrowth

Jérémie Dumas (ENS de Lyon) Wood Texture Simulation May-July 2011 16 / 24

Page 17: Procedural Wood Texture Generation, Solid … · Procedural Wood Texture Generation, Solid Texturing and Simulation ... MapM : angularparameter ... Procedural Wood Texture Generation,

Biased Regrowth

Algorithm Outline

Algorithm 1 Contour-driven Growth Simulation1: Contour + pith ⇒ initial growth G = (V ,E )2: Distance δ from pith to points on the border (eg. : Dijsktra)3: Map M : angular parameter θ → resulting distance δ4: Re-run the simulation with speed biased according to M5: Repeat step 2 to 4 until a visually satisfying result is obtained

Jérémie Dumas (ENS de Lyon) Wood Texture Simulation May-July 2011 17 / 24

Page 18: Procedural Wood Texture Generation, Solid … · Procedural Wood Texture Generation, Solid Texturing and Simulation ... MapM : angularparameter ... Procedural Wood Texture Generation,

3D Interpolation Problem

IntroductionCross-section textures at regular intervalsPixel-based interpolation of raster textures (blurry)Morphing-based modern techniques : automatized ⊕ efficient

Possible HeuristicMatch vertices of G1 with the second cross-section G2

# of generation, # of vertices (dummy cells)

Jérémie Dumas (ENS de Lyon) Wood Texture Simulation May-July 2011 18 / 24

Page 19: Procedural Wood Texture Generation, Solid … · Procedural Wood Texture Generation, Solid Texturing and Simulation ... MapM : angularparameter ... Procedural Wood Texture Generation,

3D Interpolation Problem

Greedy Methods ?Generations S1, S2 → Matching that minimize

∑c(αi ,j) ?

Greedy approximation : fix abitrary match of pi and qj with minimumc(i , j), then local algorithm in O(n)Quadratic version : try any two starting points pi and qj

Global optimization : assignment problem in O(n3)

Jérémie Dumas (ENS de Lyon) Wood Texture Simulation May-July 2011 19 / 24

Page 20: Procedural Wood Texture Generation, Solid … · Procedural Wood Texture Generation, Solid Texturing and Simulation ... MapM : angularparameter ... Procedural Wood Texture Generation,

3D Interpolation Problem

Assignment ProblemFind bijection f : A→ B which minimizes

∑c(a, f (a))

Hungarian method, or Kuhn–Munkres algorithm, in O(n3)

Idea : find maximum potential y : A ∪ B → R such asy(a) + y(b) 6 c(a, b) for all (a, b) ∈ A× BWhen done, tight edges induce a perfect matching

Jérémie Dumas (ENS de Lyon) Wood Texture Simulation May-July 2011 20 / 24

Page 21: Procedural Wood Texture Generation, Solid … · Procedural Wood Texture Generation, Solid Texturing and Simulation ... MapM : angularparameter ... Procedural Wood Texture Generation,

Applications and Limitations

Matching between two cross-sections X and YBranch creation and trunk splitting : match X with Y and Z ?Reverse problem : given a point in the 3D space, find its colorMore complex if the pith follow a curve, and not a straight lineCan use 1D or 2D textures to add a level of details

Jérémie Dumas (ENS de Lyon) Wood Texture Simulation May-July 2011 21 / 24

Page 22: Procedural Wood Texture Generation, Solid … · Procedural Wood Texture Generation, Solid Texturing and Simulation ... MapM : angularparameter ... Procedural Wood Texture Generation,

Conclusion

2D generative method, fast and customizableKnots, multiple sources, contour-limited growthPossible improvements (biased growth, etc.)3D interpolation models were proposed

Jérémie Dumas (ENS de Lyon) Wood Texture Simulation May-July 2011 22 / 24

Page 23: Procedural Wood Texture Generation, Solid … · Procedural Wood Texture Generation, Solid Texturing and Simulation ... MapM : angularparameter ... Procedural Wood Texture Generation,

Thank you for your attention.Feel free to ask your questions.

Jérémie Dumas (ENS de Lyon) Wood Texture Simulation May-July 2011 23 / 24

Page 24: Procedural Wood Texture Generation, Solid … · Procedural Wood Texture Generation, Solid Texturing and Simulation ... MapM : angularparameter ... Procedural Wood Texture Generation,

John W. Buchanan.Simulating wood using a voxel approach.Computer Graphics Forum, 17(3) :105–112, 1998.

Luc Leblanc, Jocelyn Houle, and Pierre Poulin.Modeling with blocks.The Visual Computer (Proc. Computer Graphics International 2011),27(6-8) :555–563, June 2011.

Kristin Norell.Creating synthetic log end face images.In Image and Signal Processing and Analysis, 2009. ISPA 2009.Proceedings of 6th International Symposium on, pages 353–358, Sept.2009.

Darwyn R. Peachey.Solid texturing of complex surfaces.SIGGRAPH Computer Graphics, 19(3) :279–286, July 1985.

Przemyslaw Prusinkiewicz and Aristid Lindenmayer.The algorithmic beauty of plants.Springer, 1996.

Olivier Terraz, Guillaume Guimberteau, Stéphane Mérillou, DimitriPlemenos, and Djamchid Ghazanfarpour.3Gmap L-systems : an application to the modelling of wood.The Visual Computer, 25(2) :165–180, 2009.

Jérémie Dumas (ENS de Lyon) Wood Texture Simulation May-July 2011 24 / 24