Presentation is loading. Please wait.

Presentation is loading. Please wait.

Interactive Rendering of Meso-structure Surface Details using Semi-transparent 3D Textures Vision, Modeling, Visualization Erlangen, Germany November 16-18,

Similar presentations


Presentation on theme: "Interactive Rendering of Meso-structure Surface Details using Semi-transparent 3D Textures Vision, Modeling, Visualization Erlangen, Germany November 16-18,"— Presentation transcript:

1 Interactive Rendering of Meso-structure Surface Details using Semi-transparent 3D Textures Vision, Modeling, Visualization Erlangen, Germany November 16-18, 2005 Jean-François Dufort, Luc Leblanc, Pierre Poulin LIGUM, Université de Montréal

2 Goals and Motivation Hardware rendering semi-transparent details Flexible Arbitrary mesh and 3D texture Mesh animation Texture animation Semi-transparency neglected in most applications Important rendering features Color blending because of semi-transparency Filtering Displaced silhouettes

3 Motivation

4

5 Previous Work : Bump and Parallax mapping [Welsh 2004]

6 Previous Work : Displacement Mapping [Wang et al. 2003]  Adaptive tesselation [Moule and McCool 2002]  View-dependent displacement map [Wang et al. 2003]  Ray-tracing in height field [ Hirche et al. 2003 ]

7 Previous Work : 3D Textures  Using proxy geometry [Meyer and Neyret 1998] [Lensch et al. 2002]  Generalized displacement maps [Wang et al. 2004]  Shells maps [Porumbescu et al. 2005] [Wang et al. 2004]

8 Previous Work : Volume Rendering Data inside a grid Regular Tetrahedra [Kraus et al. 2004] Ray marching

9 Plan Algorithm overview Mesh processing Tetrahedra sorting Vertex shader: Ray construction Fragment shader: Opacity/color integration Results Conclusion and future work

10 Algorithm Overview Mesh extrusion CPU Computed once Extrude a shell from the surface triangular mesh Divide each shell prism into three tetrahedra

11 Algorithm Overview Mesh extrusion CPU Tetrahedra sorting Alpha blending involves sorting Sorting tetrahedra with the SXMPVO algorithm

12 Algorithm Overview Mesh extrusion CPU GPU Tetrahedra sorting Ray creation Vertex shader Defines an object-space ray within each tetrahedron

13 Algorithm Overview Mesh extrusion CPU GPU Tetrahedra sorting Ray creation Rendering loop Color integration Per pixel, maps object ray in texture space 3D texture sampling by ray marching Accumulate color in frame buffer

14 Mesh Processing We map tetrahedra on base mesh Defines a tetrahedral shell in which the 3D texture is mapped

15 Mesh Processing

16

17 Affine transformation from object space to texture space P tex = M obj->tex P obj

18 Tetrahedra Sorting Alpha blending requires sorting SXMPVO: graph of « behind » relations [Cook et al. 2004] G A B C F E D

19 Tetrahedra Sorting Adjacent faces : object space A B C G F E D

20 Tetrahedra Sorting Non-adjacent faces using A-buffer : screen space A B C G F E D

21 Tetrahedra Sorting Non-adjacent faces using A-buffer : screen space A B C G F E D

22 Tetrahedra Sorting Depth-first traversal ABDECFGF F G G E E C C D D B B A A A B C F E D G

23 Ray Construction Tetrahedra sent down the pipeline Each vertex has View vector Plane equation of other three faces Vertex shader computes ray intersection with faces

24 Ray Construction : 2D Example  Red triangle rasterized  Vertices A and B, Planes F 1 and F 2 B F1F1 F2F2 A

25 Ray Construction : 2D Example  Compute distance between A and other faces from viewpoint A I A1 I A2

26 Ray Construction : 2D Example  Compute distance between B and other faces from viewpoint B I B1 I B2

27 Ray Construction : 2D Example  Rasterization interpolates distances for each pixel covered  We keep the closest valid point B A

28 Color/Opacity Integration Fragment shader picks closest valid intersection point Matrix M obj->tex maps point in texture space Defines texture ray in texture space Ray marching

29 Color/Opacity Integration 3D normal map for shading Front-to-back blending Alpha at sample location is modified based on distance traveled by light in object space

30 Performances Implemented 2 schemes Uniform sampling DDA grid traversal Brute force uniform sampling worked best in our test cases (3D textures 512x512x32) Fixed number of iterations User defined, trade-off for quality Main bottleneck : sorting on CPU

31 Results : Filtering

32 Results : Transparency

33 Results : Volumetric Shadows

34 Results : Simpler Opaque Case

35 Results : Real-time Video

36 Conclusion We reached our goals Interactive rendering of arbitrary 3D textures using GPU Flexible: Semi-transparent and opaque Rendering effects (transparency, volumetric shadows) Allows animation of mesh and texture However… Not fast enough for real time Improve performance with precomputation? Faster sampling scheme?

37 Future Work Level-of-detail framework Geometric details filtering Improve shading effects Absorption within 3D texture Light scattering

38 Thank you! Questions?


Download ppt "Interactive Rendering of Meso-structure Surface Details using Semi-transparent 3D Textures Vision, Modeling, Visualization Erlangen, Germany November 16-18,"

Similar presentations


Ads by Google