Depth - fighting aware Methods for Multifragment Rendering Andreas A. Vasilakis and Ioannis Fudos Department of Computer Science, University of Ioannina,

Slides:



Advertisements
Similar presentations
Exploration of advanced lighting and shading techniques
Advertisements

CS123 | INTRODUCTION TO COMPUTER GRAPHICS Andries van Dam © 1/16 Deferred Lighting Deferred Lighting – 11/18/2014.
COMPUTER GRAPHICS CS 482 – FALL 2014 NOVEMBER 10, 2014 GRAPHICS HARDWARE GRAPHICS PROCESSING UNITS PARALLELISM.
Parallax-Interpolated Shadow Map Occlusion
CS 352: Computer Graphics Chapter 7: The Rendering Pipeline.
GI 2006, Québec, June 9th 2006 Implementing the Render Cache and the Edge-and-Point Image on Graphics Hardware Edgar Velázquez-Armendáriz Eugene Lee Bruce.
Direct3D New Rendering Features
Real-Time Rendering TEXTURING Lecture 02 Marina Gavrilova.
Part I: Basics of Computer Graphics
Eurographics 2012, Cagliari, Italy S-buffer: Sparsity-aware Multi-fragment Rendering Andreas A. Vasilakis and Ioannis Fudos Department of Computer Science,
Real-Time Rendering SPEACIAL EFFECTS Lecture 03 Marina Gavrilova.
Fragment-Parallel Composite and Filter Anjul Patney, Stanley Tzeng, and John D. Owens University of California, Davis.
Rasterization and Ray Tracing in Real-Time Applications (Games) Andrew Graff.
Practical and Robust Stenciled Shadow Volumes for Hardware-Accelerated Rendering Cass Everitt and Mark J. Kilgard Speaker: Alvin Date: 5/28/2003 NVIDIA.
Adapted from: CULLIDE: Interactive Collision Detection Between Complex Models in Large Environments using Graphics Hardware Naga K. Govindaraju, Stephane.
3D Graphics Processor Architecture Victor Moya. PhD Project Research on architecture improvements for future Graphic Processor Units (GPUs). Research.
Final Gathering on GPU Toshiya Hachisuka University of Tokyo Introduction Producing global illumination image without any noise.
Z-Buffer Optimizations Patrick Cozzi Analytical Graphics, Inc.
Z-Buffer Optimizations Patrick Cozzi Analytical Graphics, Inc.
© 2004 Tomas Akenine-Möller1 Shadow Generation Hardware Vision day at DTU 2004 Tomas Akenine-Möller Lund University.
1 A Hierarchical Shadow Volume Algorithm Timo Aila 1,2 Tomas Akenine-Möller 3 1 Helsinki University of Technology 2 Hybrid Graphics 3 Lund University.
Erdem Alpay Ala Nawaiseh. Why Shadows? Real world has shadows More control of the game’s feel  dramatic effects  spooky effects Without shadows the.
Ray Tracing and Photon Mapping on GPUs Tim PurcellStanford / NVIDIA.
Fast volumetric rendering of NURBS-based surfaces Andreas Maier Chair of Pattern Recognition (Computer Science 5) Friedrich-Alexander-University Erlangen-Nuremberg.
CS 638, Fall 2001 Today Light Mapping (Continued) Bump Mapping with Multi-Texturing Multi-Pass Rendering.
CSE 381 – Advanced Game Programming Basic 3D Graphics
NVIDIA PROPRIETARY AND CONFIDENTIAL Occlusion (HP and NV Extensions) Ashu Rege.
Visibility Queries Using Graphics Hardware Presented by Jinzhu Gao.
Adaptive Real-Time Rendering of Planetary Terrains WSCG 2010 Raphaël Lerbour Jean-Eudes Marvie Pascal Gautron THOMSON R&D, Rennes, France.
Interactive Rendering of Meso-structure Surface Details using Semi-transparent 3D Textures Vision, Modeling, Visualization Erlangen, Germany November 16-18,
09/11/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Graphics Pipeline Texturing Overview Cubic Environment Mapping.
CS 450: COMPUTER GRAPHICS REVIEW: INTRODUCTION TO COMPUTER GRAPHICS – PART 2 SPRING 2015 DR. MICHAEL J. REALE.
Week 2 - Friday.  What did we talk about last time?  Graphics rendering pipeline  Geometry Stage.
VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Adaptive Terrain Slicing (Stefan Roettger)
Computer Graphics 2 Lecture 8: Visibility Benjamin Mora 1 University of Wales Swansea Pr. Min Chen Dr. Benjamin Mora.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
Stream Processing Main References: “Comparing Reyes and OpenGL on a Stream Architecture”, 2002 “Polygon Rendering on a Stream Architecture”, 2000 Department.
Occlusion Query. Content Occlusion culling Collision detection (convex) Etc. Fall
Real-time Graphics for VR Chapter 23. What is it about? In this part of the course we will look at how to render images given the constrains of VR: –we.
Improving k-buffer methods via Occupancy Maps Andreas A. Vasilakis and Georgios Papaioannou Dept. of Informatics, Athens University of Economics & Business,
Fast BVH Construction on GPUs (Eurographics 2009) Park, Soonchan KAIST (Korea Advanced Institute of Science and Technology)
Stencil Routed A-Buffer
- Laboratoire d'InfoRmatique en Image et Systèmes d'information
CSCE 552 Spring D Models By Jijun Tang. Triangles Fundamental primitive of pipelines  Everything else constructed from them  (except lines and.
Advanced Computer Graphics Spring 2014 K. H. Ko School of Mechatronics Gwangju Institute of Science and Technology.
Based on paper by: Rahul Khardekar, Sara McMains Mechanical Engineering University of California, Berkeley ASME 2006 International Design Engineering Technical.
Emerging Technologies for Games Deferred Rendering CO3303 Week 22.
Coherent Hierarchical Culling: Hardware Occlusion Queries Made Useful Jiri Bittner 1, Michael Wimmer 1, Harald Piringer 2, Werner Purgathofer 1 1 Vienna.
CS123 | INTRODUCTION TO COMPUTER GRAPHICS Andries van Dam © Visible Surface Determination (VSD) To render or not to render, that is the question… 1 of.
Computer Graphics 3 Lecture 6: Other Hardware-Based Extensions Benjamin Mora 1 University of Wales Swansea Dr. Benjamin Mora.
Graphics Interface 2009 The-Kiet Lu Kok-Lim Low Jianmin Zheng 1.
Single Pass Point Rendering and Transparent Shading Paper by Yanci Zhang and Renato Pajarola Presentation by Harmen de Weerd and Hedde Bosman.
Real-Time Relief Mapping on Arbitrary Polygonal Surfaces Fabio Policarpo Manuel M. Oliveira Joao L. D. Comba.
Bounding Volume Hierarchy. The space within the scene is divided into a grid. When a ray travels through a scene, it only passes a few boxes within the.
COMPUTER GRAPHICS CS 482 – FALL 2015 SEPTEMBER 29, 2015 RENDERING RASTERIZATION RAY CASTING PROGRAMMABLE SHADERS.
Advanced Programmable Shading: Beyond Per-vertex and Per-pixel Shading.
Real-Time Dynamic Shadow Algorithms Evan Closson CSE 528.
SHADOW CASTER CULLING FOR EFFICIENT SHADOW MAPPING JIŘÍ BITTNER 1 OLIVER MATTAUSCH 2 ARI SILVENNOINEN 3 MICHAEL WIMMER 2 1 CZECH TECHNICAL UNIVERSITY IN.
COMPUTER GRAPHICS CHAPTER 38 CS 482 – Fall 2017 GRAPHICS HARDWARE
Real-Time Soft Shadows with Adaptive Light Source Sampling
Week 2 - Friday CS361.
Deferred Lighting.
Understanding Theory and application of 3D
Hybrid Ray Tracing of Massive Models
Real-time Volumetric Lighting in Participating Media
UMBC Graphics for Games
A Hierarchical Shadow Volume Algorithm
Accelerating k+-buffer using efficient fragment culling
Improving k-buffer methods via Occupancy Maps
Frame Buffer Applications
Presentation transcript:

Depth - fighting aware Methods for Multifragment Rendering Andreas A. Vasilakis and Ioannis Fudos Department of Computer Science, University of Ioannina, Greece

I3D 2013Orlando, FL, March 2013 Depth-fighting Artifact Z-fighting is a phenomenon in 3D rendering that occurs when two or more primitives have identical depth values in the Z- buffer: 1.Intersecting surfaces 2.Overlapping surfaces 2 Z-fighting cannot be totally avoided but may be reduced using: 1.Higher depth buffer resolution 2.Inverse mapping depth values 3.Depth bias But for coplanar polygons, the problem is inevitable !!! Multifragment rasterization is even more susceptible to z-fighting Blender 2.5Google SketchUp

I3D 2013Orlando, FL, March 2013 Why processing multiple fragments? A number of image-based applications require operations on more than one (maybe occluded) fragment per pixel: –transparency effects –volume and csg rendering –collision detection –visualization –self-trimming surfaces –intersecting surfaces –global illumination –… 3 Fragment Extraction using Ray Casting:

I3D 2013Orlando, FL, March 2013 Prior Art Fragment Sorting Methods Depth Peeling Hardware-implemented buffers Multi-Fragment Rendering Design Goals –Quality: Fragment extraction accuracy (A) –Time performance (P) –Memory allocation (Ma) and caching (Mc) –GPU capabilities - (G) 4

I3D 2013Orlando, FL, March 2013 Prior Art: Depth Peeling Methods 1.Front-to-Back (F2B) [Everitt01] 2.Dual direction (DUAL) [Bavoil08] 3.Uniform bucket (BUN) [Liu09] –A: depth-fighting artifacts –P: slow due to multi-pass rendering –Ma: low/constant budget, Mc: fast –G: commodity and modern cards 5

I3D 2013Orlando, FL, March 2013 Prior Art: Buffer-based Methods (1) Fixed-sized Arrays Ma: huge (most of them goes unused) Mc: very fast G: - Commodity: K-buffer (KB) [Bavoil07] Stencil-routed A-buffer (SRAB) [Myers07] A: 8 fragments per pixel P: fast (possible multi-pass) - Modern: FreePipe (FAB) [Liu10, Crassin11] A: 100% if enough memory P: fastest (single pass) 6

I3D 2013Orlando, FL, March 2013 Prior Art: Buffer-based Methods (2) Per-pixel Linked Lists (LL) [Yang10] A: 100% if enough memory P: fast (fragment contention) Ma: high –if overflow: accurate reallocation (extra pass needed) –else: wasted memory Mc: low cache hit ratio G: only modern cards 7

I3D 2013Orlando, FL, March 2013 Variable-length Arrays A: 100% if enough memory P: fast (2 passes needed) Ma: precise Mc: fast G: –Commodity: PreCalc [Peeper08] L-buffer [Lipowski10] –Modern: S-buffer (SB)[Vasilakis12] Dynamic fragment buffer (DFB) [Maule12] Prior Art: Buffer-based Methods (3) 8

I3D 2013Orlando, FL, March 2013 Correcting Raster-based Pipelines Adapting depth peeling methods based on 1.Primitive identifiers 2.Buffer-based solutions MSAA - Tessellation - Instancing Robustness ratio = captured/generated fragments –Robust –Low Memory - Slow –Approximate –High Memory - Efficient 9

I3D 2013Orlando, FL, March 2013 Robust Algorithms (1) Extending F2B, DUAL (F2B-2P, DUAL-2P) –Base methods extract only one coplanar fragment –Extracts 2 fragments/iteration – Constant memory –Neat idea: Extra accumulation rendering pass –Primitive ID (OpenGl: gl_PrimitiveID, DirectX: SV_PrimitiveID) –Store min/max IDs of the remaining non-peeled fragments: –Subsequent pass: 1.Extract fragment information using captured IDs 2.Move or not to next depth layer (fragment coplanarity counter) Extending F2B (F2B-3P) Additional pass: (ATI: Pre-Z pass, NVIDIA: Lay Down Depth First) Better performance – Same memory resources 10

I3D 2013Orlando, FL, March 2013 Robust Algorithms (2) Combining F2B, DUAL with LL (F2B-LL, DUAL-LL) Handle fragment coplanarity of arbitrary length per pixel Rendering workflow (2 passes/depth layer) 1.Double speed depth pass 2.Fragment linked lists at the current depth layer Linked lists limitations Performance bottlenecks Only modern hardware 11

I3D 2013Orlando, FL, March 2013 Robust Algorithms (3) Limited performance of previous extensions (multipass) Linked Lists bottlenecks at Storing process: # generated fragments Sorting process: # per-pixel fragments Combing Uniform Buckets with Linked Lists (BUN-LL) Single-pass nature Uniformly split of the depth range Maximum : 5 consecutive subintervals Assign a linked list to each subdivision 12

I3D 2013Orlando, FL, March 2013 Approximate Algorithms Combine F2B-DUAL methods with fixed-size arrays 1.Modern : FreePipe :(F2B-FAB, DUAL-FAB) Bounded-length vectors per pixel Precise fragment accuracy if max {coplanar fragments/depth layer} No memory overflow 2.Commodity: K-buffer (F2B-KB, DUAL-KB) Max of 8 coplanar fragments/layer Data Packing: 32 coplanar fragments/layer No sorting needed: RMW hazard-free SRAB: no support of MSAA, stencil operat., data packing 13

I3D 2013Orlando, FL, March 2013 Optimizing multi-pass rendering of multiple objects Occlusion culling mechanism –Geometry is not rendered when is hidden by objects closer to the camera Avoid rendering completely-peeled objects –Goal: Rendering load reduction of the following passes –If object’s bounding box is behind current depth layer then cull –Hardware occlusion queries –Reuse query results from previous iterations 14 Depth Buffer: Thick gray line strips

I3D 2013Orlando, FL, March 2013 Results Experimental analysis under different testing scenarios: Performance Robustness Memory requirements Portability –FAB/LL-based extensions cannot be used in older hardware OpenGL 4.2 API NVIDIA GTX 480 (1.5 GB memory) 15

I3D 2013Orlando, FL, March 2013 Results – Performance Analysis (1) Impact of Screen Resolution  Crank (10K triangles, 17 depth layers, no coplanarity) 16 (rendering passes)

I3D 2013Orlando, FL, March 2013 Results – Performance Analysis (2) Impact of Coplanarity  Fandisk (2K triangles, 2 depth layers, fragments/layer=#instances) 17 (rendering passes)

I3D 2013Orlando, FL, March 2013 Results – Performance Analysis (3) Impact of High Depth Complexity  Sponza (279K) – Engine (203K) – Hairball (2.85M) triangles 18 [# generated fragments, depth complexity]

I3D 2013Orlando, FL, March 2013 Results – Performance Analysis (4) Impact of Geometry Culling  Dragon (870K triangles, 10 depth layers) 19 peeling iterations – (completely peeled models) The lower, the bette r

I3D 2013Orlando, FL, March 2013 Results – Memory Allocation Analysis Impact of Number of Generated Fragments Robustness ratio ? 20 [depth complexity, fragment coplanarity]

I3D 2013Orlando, FL, March 2013 And the Oscar goes to… Performance (Modern Hardware) Low Memory: Winner(FAB) Medium Memory: Low depth complexity: Winner(SB) High depth complexity: Winner(BUN-LL) High Memory: Low coplanarity: Winner(F2B-FAB, DUAL-FAB) High coplanarity: Winner(F2B-LL, DUAL-LL) Performance (Older Hardware) Low coplanarity: Winner(F2B-3P, DUAL-2P) High coplanarity: Winner(F2B-KB, DUAL-KB) Performance ( F2B VS DUAL ) 21

I3D 2013Orlando, FL, March 2013 Conclusions Approximate and exact approaches GPU optimizations Features – Limitations Extensive comparative results Future Work Future Work –Tiled Rendering –Hybrid Technique 22

I3D 2013Orlando, FL, March 2013 Thank you! - Questions ? 23 Source Code Available at: Self-collided coplanar areas are visualized with red color Order independent transparency on three partially overlapping cubes Wireframe rendering of a translucent frog CSG operations CSG operations CSG operations CSG operations CorrectIncorrect CorrectIncorrect CorrectIncorrectCorrect

I3D 2013Orlando, FL, March 2013 Extra Notes 24