logging in or signing up Efficient LDI Representation TPCG 2008 autopilot Download Post to : URL : Related Presentations : Share Add to Flag Embed Email Send to Blogs and Networks Add to Channel Uploaded from authorPOINTLite Insert YouTube videos in PowerPont slides with aS Desktop Copy embed code: (To copy code, click on the text box) Embed: URL: Thumbnail: WordPress Embed Customize Embed The presentation is successfully added In Your Favorites. Views: 424 Category: Education License: All Rights Reserved Like it (0) Dislike it (0) Added: July 16, 2008 This Presentation is Public Favorites: 0 Presentation Description Representing Layered Depth Images (LDI) as 3D texture can be used to approximate complex, arbitrarily shaped volumes on graphics hardware. Based on this concept, a number of real- time applications such as collision detection or 3D clipping agains Comments Posting comment... Premium member Presentation Transcript Slide1: Matthias Trapp, Jürgen Döllner Hasso-Plattner-Institute, University of Potsdam, Germany 9th June 2008 University of Manchester Efficient Representation of Layered Depth Images for Real-time Volumetric Tests Motivation: Volumetric Tests: Motivation: Volumetric Tests …determine if a 3D point is inside or outside a given volume Areas of application: Generalized clipping, Rendering with hybrid styles, 3D magic lenses,… Characteristics: Volume representation = LDI Test performed in shader program Applicable in real-timeLDI Representation of Solid Meshes: LDI Representation of Solid MeshesDepth-Peeling to 3D Textures: Depth-Peeling to 3D Textures Algorithm for LDI creation: Setup orthographic projection, adjust near/far planes Determine depth complexity of shape Create and initialize 3D texture (LDI) Depth-peel shape: Render-to-texture (into slice of 3D texture) Use linear depth buffer values GLSL fragment shader for 2nd depth test (SM4)Volumetric Parity Test (VPT) Algorithm: Volumetric Parity Test (VPT) Algorithm “to determine if a point is inside or outside a complex 3D volume represented by an LDI” Given: arbitrary 3D point: Requested: Boolean parity: Solution: Transformation into LDI texture space: Perform ray-marching through depth maps Ray-Marching through LDI Texture Space: Ray-Marching through LDI Texture Space Algorithm: Construct ray R: Sample form each slice: Compare depth values: Shader Implementation (GLSL): Shader Implementation (GLSL) Limitations of Current Representation: Limitations of Current Representation Memory Consumptions: 3D texture size: resolution2 * d Usually sparsely utilized Depth-Peeling Performance: Depends on depth complexity of shape Ray-Marching Performance: Depends on number of texture samples So far: d samples per ray necessary Goals: Minimal texture size: Cropping, Compression Minimal peeling passes: Viewpoint Selection Minimal texture samples per test: CompressionOutline – Next Topics: Outline – Next Topics Preprocessing Pipeline: Overview Viewpoint Selection Bounding Box Calculation & Cropping LDI Compression Algorithm Performance Results Limitations & Future Work Conclusions Preprocessing Pipeline: Overview: Preprocessing Pipeline: Overview 5 Step process involves GPU and CPU: Viewpoint selection (ODP ) Depth-peeling to 3D texture (LDI) Calculate axis-aligned bounding box (AABBLDI ) Perform cropping (LDICrop ) Compress cropped texture (LDIComp )Viewpoint Selection: Viewpoint Selection Find viewpoint for LDI creation based on: Minimal depth complexity: d Maximal texture coverage: o Determine camera orientation Altering viewpoint on bounding sphere Determine and store in list : Depth complexity Altered camera orientation Texture coverage Sort list to obtain resultBounding Box Calculation & Cropping: Bounding Box Calculation & CroppingCompressing Depth Ranges: Compressing Depth Ranges Depth Ranges: Group depth values: di = 0,…,d-1 DRj = (Sj,Ej ), j = 0,…,d/2 Interval [Sj, Ej ], Sj = d2j , Ej = d 2j+1 denotes inside of volume Lossless Compression Idea: Sequential align all depth ranges of a Ray R Fetch start (Sj ) and end (Sj ) with single instructionCompression Algorithm – Overview : Compression Algorithm – Overview Two-phase process: Extract depth ranges from 3D texture into intermediate representation Pack depth ranges from intermediate representation into 2D textureCompression - Extract Phase: Compression - Extract Phase Create intermediate representation: Prepare data structure for pack phase Read-back LDI from GPU Create 4 arrays from LDI: Index Segments (ISoffset, ISranges ) Range Segments (RSstart , RSend) Compression - Pack Phase: Compression - Pack Phase Pack arrays into 2D texture Texture format: Luminance-Alpha Float point precision: unclamped values Texture resolution: Store successively: ISoffset , RSstart in luminance channel ISranges , RSend in alpha channel Issues: 2D texture format introduces unwrapping step in decompression Better: 1D texture, but resolution limited to 8192 pixel Possible Solution: Uniform Buffer (NVIDIA G80) + Geometry ShaderVPT for Compressed LDI: VPT for Compressed LDI Performance Results: Performance ResultsLimitations & Future Work: Limitations & Future Work Limitations: Specific approach for depth ranges Too much instruction for decompression Small compression ratio 1:2-3 GPU & CPU (hybrid) approach Future Work: Toward a complete GPU implementation: (Bounding box calculation, cropping, compression) Main Goal: enable preprocessing in real-time New filtering concepts necessary to compensate undersampling / alaising artefacts Conclusions: Conclusions Efficient LDI Representation trough: Automatic viewpoint selection Fast bounding box calculation & cropping Lossless LDI compression Decompression algorithm applicable in shader Compression Characteristics: Ratio 1:2-3 (common for lossless compression) Effective for non-convex meshes with high depth complexity Compression should be avoided for symmetric convex meshes Preprocessing, no real-time performance Future Work: Implementation fully GPU-basedQuestions ?: Questions ? Contact: Matthias Trapp matthias.trapp@hpi.uni-potsdam.de Computer Graphics Systems Group Prof. Dr. Jürgen Döllner www.hpi.uni-potsdam.de/3d Researchgroup 3D-Geoinformation www.3dgi.de You do not have the permission to view this presentation. In order to view it, please contact the author of the presentation.
Efficient LDI Representation TPCG 2008 autopilot Download Post to : URL : Related Presentations : Share Add to Flag Embed Email Send to Blogs and Networks Add to Channel Uploaded from authorPOINTLite Insert YouTube videos in PowerPont slides with aS Desktop Copy embed code: (To copy code, click on the text box) Embed: URL: Thumbnail: WordPress Embed Customize Embed The presentation is successfully added In Your Favorites. Views: 424 Category: Education License: All Rights Reserved Like it (0) Dislike it (0) Added: July 16, 2008 This Presentation is Public Favorites: 0 Presentation Description Representing Layered Depth Images (LDI) as 3D texture can be used to approximate complex, arbitrarily shaped volumes on graphics hardware. Based on this concept, a number of real- time applications such as collision detection or 3D clipping agains Comments Posting comment... Premium member Presentation Transcript Slide1: Matthias Trapp, Jürgen Döllner Hasso-Plattner-Institute, University of Potsdam, Germany 9th June 2008 University of Manchester Efficient Representation of Layered Depth Images for Real-time Volumetric Tests Motivation: Volumetric Tests: Motivation: Volumetric Tests …determine if a 3D point is inside or outside a given volume Areas of application: Generalized clipping, Rendering with hybrid styles, 3D magic lenses,… Characteristics: Volume representation = LDI Test performed in shader program Applicable in real-timeLDI Representation of Solid Meshes: LDI Representation of Solid MeshesDepth-Peeling to 3D Textures: Depth-Peeling to 3D Textures Algorithm for LDI creation: Setup orthographic projection, adjust near/far planes Determine depth complexity of shape Create and initialize 3D texture (LDI) Depth-peel shape: Render-to-texture (into slice of 3D texture) Use linear depth buffer values GLSL fragment shader for 2nd depth test (SM4)Volumetric Parity Test (VPT) Algorithm: Volumetric Parity Test (VPT) Algorithm “to determine if a point is inside or outside a complex 3D volume represented by an LDI” Given: arbitrary 3D point: Requested: Boolean parity: Solution: Transformation into LDI texture space: Perform ray-marching through depth maps Ray-Marching through LDI Texture Space: Ray-Marching through LDI Texture Space Algorithm: Construct ray R: Sample form each slice: Compare depth values: Shader Implementation (GLSL): Shader Implementation (GLSL) Limitations of Current Representation: Limitations of Current Representation Memory Consumptions: 3D texture size: resolution2 * d Usually sparsely utilized Depth-Peeling Performance: Depends on depth complexity of shape Ray-Marching Performance: Depends on number of texture samples So far: d samples per ray necessary Goals: Minimal texture size: Cropping, Compression Minimal peeling passes: Viewpoint Selection Minimal texture samples per test: CompressionOutline – Next Topics: Outline – Next Topics Preprocessing Pipeline: Overview Viewpoint Selection Bounding Box Calculation & Cropping LDI Compression Algorithm Performance Results Limitations & Future Work Conclusions Preprocessing Pipeline: Overview: Preprocessing Pipeline: Overview 5 Step process involves GPU and CPU: Viewpoint selection (ODP ) Depth-peeling to 3D texture (LDI) Calculate axis-aligned bounding box (AABBLDI ) Perform cropping (LDICrop ) Compress cropped texture (LDIComp )Viewpoint Selection: Viewpoint Selection Find viewpoint for LDI creation based on: Minimal depth complexity: d Maximal texture coverage: o Determine camera orientation Altering viewpoint on bounding sphere Determine and store in list : Depth complexity Altered camera orientation Texture coverage Sort list to obtain resultBounding Box Calculation & Cropping: Bounding Box Calculation & CroppingCompressing Depth Ranges: Compressing Depth Ranges Depth Ranges: Group depth values: di = 0,…,d-1 DRj = (Sj,Ej ), j = 0,…,d/2 Interval [Sj, Ej ], Sj = d2j , Ej = d 2j+1 denotes inside of volume Lossless Compression Idea: Sequential align all depth ranges of a Ray R Fetch start (Sj ) and end (Sj ) with single instructionCompression Algorithm – Overview : Compression Algorithm – Overview Two-phase process: Extract depth ranges from 3D texture into intermediate representation Pack depth ranges from intermediate representation into 2D textureCompression - Extract Phase: Compression - Extract Phase Create intermediate representation: Prepare data structure for pack phase Read-back LDI from GPU Create 4 arrays from LDI: Index Segments (ISoffset, ISranges ) Range Segments (RSstart , RSend) Compression - Pack Phase: Compression - Pack Phase Pack arrays into 2D texture Texture format: Luminance-Alpha Float point precision: unclamped values Texture resolution: Store successively: ISoffset , RSstart in luminance channel ISranges , RSend in alpha channel Issues: 2D texture format introduces unwrapping step in decompression Better: 1D texture, but resolution limited to 8192 pixel Possible Solution: Uniform Buffer (NVIDIA G80) + Geometry ShaderVPT for Compressed LDI: VPT for Compressed LDI Performance Results: Performance ResultsLimitations & Future Work: Limitations & Future Work Limitations: Specific approach for depth ranges Too much instruction for decompression Small compression ratio 1:2-3 GPU & CPU (hybrid) approach Future Work: Toward a complete GPU implementation: (Bounding box calculation, cropping, compression) Main Goal: enable preprocessing in real-time New filtering concepts necessary to compensate undersampling / alaising artefacts Conclusions: Conclusions Efficient LDI Representation trough: Automatic viewpoint selection Fast bounding box calculation & cropping Lossless LDI compression Decompression algorithm applicable in shader Compression Characteristics: Ratio 1:2-3 (common for lossless compression) Effective for non-convex meshes with high depth complexity Compression should be avoided for symmetric convex meshes Preprocessing, no real-time performance Future Work: Implementation fully GPU-basedQuestions ?: Questions ? Contact: Matthias Trapp matthias.trapp@hpi.uni-potsdam.de Computer Graphics Systems Group Prof. Dr. Jürgen Döllner www.hpi.uni-potsdam.de/3d Researchgroup 3D-Geoinformation www.3dgi.de