I3D 20081 Fast Non-Linear Projections using Graphics Hardware Jean-Dominique Gascuel, Nicolas Holzschuch, Gabriel Fournier, Bernard Péroche I3D 2008.

Slides:



Advertisements
Similar presentations
Real-Time Rendering 靜宜大學資工研究所 蔡奇偉副教授 2010©.
Advertisements

An Optimized Soft Shadow Volume Algorithm with Real-Time Performance Ulf Assarsson 1, Michael Dougherty 2, Michael Mounier 2, and Tomas Akenine-Möller.
CS123 | INTRODUCTION TO COMPUTER GRAPHICS Andries van Dam © 1/16 Deferred Lighting Deferred Lighting – 11/18/2014.
Ray tracing. New Concepts The recursive ray tracing algorithm Generating eye rays Non Real-time rendering.
Understanding the graphics pipeline Lecture 2 Original Slides by: Suresh Venkatasubramanian Updates by Joseph Kider.
Graphics Pipeline.
RealityEngine Graphics Kurt Akeley Silicon Graphics Computer Systems.
Computer graphics & visualization Global Illumination Effects.
3D Graphics Rendering and Terrain Modeling
Two Methods for Fast Ray-Cast Ambient Occlusion Samuli Laine and Tero Karras NVIDIA Research.
Computer Graphics (Fall 2005) COMS 4160, Lecture 16: Illumination and Shading 1
(conventional Cartesian reference system)
3D Graphics Processor Architecture Victor Moya. PhD Project Research on architecture improvements for future Graphic Processor Units (GPUs). Research.
IN4151 Introduction 3D graphics 1 Introduction to 3D computer graphics part 2 Viewing pipeline Multi-processor implementation GPU architecture GPU algorithms.
Status – Week 277 Victor Moya.
Approximate Soft Shadows on Arbitrary Surfaces using Penumbra Wedges Tomas Akenine-Möller Ulf Assarsson Department of Computer Engineering, Chalmers University.
7M836 Animation & Rendering
GPUGI: Global Illumination Effects on the GPU
Basic Ray Tracing CMSC 435/634. Visibility Problem Rendering: converting a model to an image Visibility: deciding which objects (or parts) will appear.
Introduction to 3D Graphics John E. Laird. Basic Issues u Given a internal model of a 3D world, with textures and light sources how do you project it.
Computer Graphics Inf4/MSc Computer Graphics Lecture 11 Texture Mapping.
Ray Tracing and Photon Mapping on GPUs Tim PurcellStanford / NVIDIA.
COMP 175: Computer Graphics March 24, 2015
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
Programmable Pipelines. Objectives Introduce programmable pipelines ­Vertex shaders ­Fragment shaders Introduce shading languages ­Needed to describe.
Advanced Computer Graphics March 06, Grading Programming assignments Paper study and reports (flipped classroom) Final project No written exams.
Programmable Pipelines. 2 Objectives Introduce programmable pipelines ­Vertex shaders ­Fragment shaders Introduce shading languages ­Needed to describe.
Interactive Rendering of Meso-structure Surface Details using Semi-transparent 3D Textures Vision, Modeling, Visualization Erlangen, Germany November 16-18,
Buffers Textures and more Rendering Paul Taylor & Barry La Trobe University 2009.
MIT EECS 6.837, Durand and Cutler Graphics Pipeline: Projective Transformations.
CS 450: COMPUTER GRAPHICS REVIEW: INTRODUCTION TO COMPUTER GRAPHICS – PART 2 SPRING 2015 DR. MICHAEL J. REALE.
CSC 461: Lecture 3 1 CSC461 Lecture 3: Models and Architectures  Objectives –Learn the basic design of a graphics system –Introduce pipeline architecture.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
Rendering Overview CSE 3541 Matt Boggus. Rendering Algorithmically generating a 2D image from 3D models Raster graphics.
Basic Ray Tracing CMSC 435/634. Visibility Problem Rendering: converting a model to an image Visibility: deciding which objects (or parts) will appear.
CSE Real Time Rendering Week 2. Graphics Processing 2.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
Computer Graphics The Rendering Pipeline - Review CO2409 Computer Graphics Week 15.
1Computer Graphics Lecture 4 - Models and Architectures John Shearer Culture Lab – space 2
Programmable Pipelines Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts Director, Arts Technology Center University.
David Luebke11/26/2015 CS 551 / 645: Introductory Computer Graphics David Luebke
- Laboratoire d'InfoRmatique en Image et Systèmes d'information
Basic Ray Tracing CMSC 435/634.
Global Illumination. Local Illumination  the GPU pipeline is designed for local illumination  only the surface data at the visible point is needed to.
Review on Graphics Basics. Outline Polygon rendering pipeline Affine transformations Projective transformations Lighting and shading From vertices to.
Ray Tracing Fall, Introduction Simple idea  Forward Mapping  Natural phenomenon infinite number of rays from light source to object to viewer.
Rendering Pipeline Fall, D Polygon Rendering Many applications use rendering of 3D polygons with direct illumination.
COMPUTER GRAPHICS CS 482 – FALL 2015 SEPTEMBER 29, 2015 RENDERING RASTERIZATION RAY CASTING PROGRAMMABLE SHADERS.
Ray Tracing using Programmable Graphics Hardware
What are shaders? In the field of computer graphics, a shader is a computer program that runs on the graphics processing unit(GPU) and is used to do shading.
RENDERING : Global Illumination
Computer Graphics One of the central components of three-dimensional graphics has been a basic system that renders objects represented by a set of polygons.
1 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley 2012 Models and Architectures 靜宜大學 資訊工程系 蔡奇偉 副教授 2012.
GLSL Review Monday, Nov OpenGL pipeline Command Stream Vertex Processing Geometry processing Rasterization Fragment processing Fragment Ops/Blending.
Basic Ray Tracing CMSC 435/634.
Shaders, part 2 alexandri zavodny.
- Introduction - Graphics Pipeline
Programmable Pipelines
Graphics Processing Unit
Deferred Lighting.
3D Graphics Rendering PPT By Ricardo Veguilla.
The Graphics Rendering Pipeline
CS451Real-time Rendering Pipeline
© University of Wisconsin, CS559 Fall 2004
Introduction to Computer Graphics with WebGL
Computer Graphics One of the central components of three-dimensional graphics has been a basic system that renders objects represented by a set of polygons.
The Graphics Pipeline Lecture 5 Mon, Sep 3, 2007.
Chapter V Vertex Processing
Lecture 13 Clipping & Scan Conversion
Frame Buffer Applications
Presentation transcript:

I3D Fast Non-Linear Projections using Graphics Hardware Jean-Dominique Gascuel, Nicolas Holzschuch, Gabriel Fournier, Bernard Péroche I3D 2008

2 Non-linear projections: What & Why ? [lensmateonline.com] [wiki.panotools.org, Ben Kreunen]

I3D Motivations [Kautz et al., 2004] Cosine sphere for local shadows [Heidrich & Seidel,1998] Introduced Parabola envmaps [Osman et al., 2006] Dual parabola shadowmaps

I3D Previous work [Kautz 2004] CPU rasterization Close papers: [Fournier 2005] Indirect illumination [Loyd 2006] Logarithmic shadow maps [Hou 2006] Multi perspective reflections [Liu 2007] Non linear beam tracing GPU based, same rendering pipeline & FS

I3D Our contributions Targeted to a specific class of non-linear projections –Single center of projection –Convex, C 1, and invertible Each triangle maps to one simple shape. Simple equations for projected edges. Fast  ~x2 to x4 times faster than cubemaps or hemicubes. Everything is done on the GPU

I3D Plan Introduction Case studies –Sphere projection –Parabola projection –Other projections Rendering Pipeline Triangle Based Bounding Quad Based Bounding Demo & Results Conclusion

I3D Sphere projection 1/5

I3D Sphere projection 2/5

I3D Sphere projection 3/5

I3D Sphere projection 4/5

I3D Sphere projection 5/5

I3D Triangles made of known ellipses Looking at the 2D screen:

I3D Plan Introduction Case studies –Sphere projection –Parabola projection –Other projections Rendering Pipeline Triangle Based Bounding Quad Based Bounding Demo & Results Conclusion

I3D Parabola projection 1/3

I3D Parabola projection 2/3

I3D Parabola projection 3/3

I3D Parabola: 3D line  2D circle 1/2

I3D Triangles made of arcs 2/2

I3D Plan Introduction Case studies –Sphere projection –Parabola projection –Other projections Rendering Pipeline Triangle Based Bounding Quad Based Bounding Demo & Results Conclusion

I3D Other projections… Fisheyes arcs with: single minimum in normal direction, possible maximum at extremities.

I3D Application-driven choice Sphere lighting  solid angle x cos Parabola envmaps  less distortions Lambert ambient occlusion  equal area Fish eye 2 Ideal photographic fish-eye

I3D Plan Introduction Case studies Rendering Pipeline Triangle Based Bounding Quad Based Bounding Demo & Results Conclusion

I3D Rendering strategy

I3D FS: Ray-casting FS discards pixels outside original 3D triangle unproject: 2D fragment coordinates  3D ray direction ray/triangle intersection

I3D FS: Interpolations Mimic linear interpolation inside the 3D triangle  Non-linear interpolation in 2D screen For all vertex varying attributes: normals, colors, texture coordinates, etc. Ray-intersect gives barycentric coordinates α, β  dot product: (1, α, β). (C 0, C 1 -C 0, C 2 -C 0 )

I3D Plan Introduction Case studies Rendering Pipeline Triangle Based Bounding –Basic Triangle –Near plane Clipping –Concave Covering Triangle Quad Based Bounding Demo & Results Conclusion

I3D Bounding triangle 1/2

I3D Bounding Triangle 2/2

I3D Triangle Covering

I3D Plan Introduction Case studies Rendering Pipeline Triangle Based Bounding –Basic Triangle –Near plane Clipping –Concave Covering Triangle Quad Based Bounding Demo & Results Conclusion

I3D Bellow horizon

I3D Camera Plane Clipping 1/3

I3D Camera Plane Clipping 2/3

I3D Camera Plane Clipping 3/3

I3D Plan Introduction Case studies Rendering Pipeline Triangle Based Bounding –Basic Triangle –Near plane Clipping –Concave Covering Triangle Quad Based Bounding Demo & Results Conclusion

I3D Concave Covering Triangle 1/2

I3D Concave Covering Triangle 2/2 1 input triangle  1 to 4 bounding triangles

I3D Plan Introduction Case studies Rendering Pipeline Triangle Based Bounding Quad Based Bounding Demo & Results Conclusion

I3D Needed because 1.We don’t have easy tangents for Fisheyes projections 2.G80 geometry shader take worst case timing: 4 output triangles in some rare case  x4 slowdown everywhere in GS…

I3D Oriented Bounding Box “Easy” for a single ellipse.

I3D Quad coverage scheme Merge extremal points into a single aaBB

I3D Parabola projection …Bent triangles are made of circles…  Any axis will work.  optimal axis aligned bounding box

I3D Generic bounding scheme

I3D Plan Introduction Case studies Rendering Pipeline Triangle Based Bounding Quad Based Bounding Demo & Results Conclusion

I3D Example scenes Lemmings

I3D Triangles 37% overdraw

I3D Aligned bbox 107% overdraw But FASTER on G80

I3D Test scene2/4 Cubemaps/hemicube

I3D Test scene3/4 Columns = Thin triangles, With large deformations

I3D Test scenes4/4 Sphere – 560K triangles « Real life »

I3D Inside the OpenGL pipeline Facades

I3D Cubemap vs. Parabola-map Color (ms) Depth (ms) Coverage (ms) 6 x 512x512 cubemaps 2x 512x512 parabola x 16x16 cubemaps 2 x 16x16 parabola Better quality than cubemaps Heidrich, Laine, Osman Lower memory footprint Low triangle scenes: ~ x2 to x4 speedups (better on hi res)

I3D Hemicube vs non-linear projection Color (ms) Depth (ms) Coverage (ms) 5 × 512 × 512 hemicube 1 × 512 × 512 parabola 1 × 512 × 512 sphere map 1 × 512 × 512 Lambert × 16 × 16 hemicube 1 × 16 × 16 parabola Low triangle scenes: ~ x2.5 to x5 speedups (better on hi res)

I3D Plan Introduction Case studies Rendering Pipeline Triangle Based Bounding Quad Based Bounding Demo & Results Conclusion

I3D Conclusion Implemented Non-linear projections on GPU –Specific class of projections, useful for many applications –Tight bounding shapes –Faster than cubemaps Projections: –Parabola: optimal BB  fast overall computations –Sphere: sub-optimal BB, still fast –Other (Lambert/Fisheye): generic BB, lots of overdraw Full sources at

I3D Future Directions Better quad bounding for Lambert & fisheye Should be ~ Sphere projection Improve GS bottleneck –Faster, not worst case based (NVidia’s job) –Multi pass triangle bounding Multiple layers rendering (all faces at once) Deferred shading Benchmark within a local/global lighting framework.