Sebastian Enrique Columbia University Real-Time Rendering Using CUReT BRDF Materials with Zernike Polynomials CS6998 - Topics.

Slides:



Advertisements
Similar presentations
Ray tracing. New Concepts The recursive ray tracing algorithm Generating eye rays Non Real-time rendering.
Advertisements

Environment Mapping CSE 781 – Roger Crawfis
Spherical Harmonic Lighting of Wavelength-dependent Phenomena Clifford Lindsay, Emmanuel Agu Worcester Polytechnic Institute (USA)
Frequency Domain Normal Map Filtering Charles Han Bo Sun Ravi Ramamoorthi Eitan Grinspun Columbia University.
Rendering with Environment Maps Jaroslav Křivánek, KSVI, MFF UK
Week 9 - Wednesday.  What did we talk about last time?  Fresnel reflection  Snell's Law  Microgeometry effects  Implementing BRDFs  Image based.
CS 4363/6353 INTRODUCTION TO COMPUTER GRAPHICS. WHAT YOU’LL SEE Interactive 3D computer graphics Real-time 2D, but mostly 3D OpenGL C/C++ (if you don’t.
Rasterization and Ray Tracing in Real-Time Applications (Games) Andrew Graff.
HCI 530 : Seminar (HCI) Damian Schofield.
CS5500 Computer Graphics © Chun-Fa Chang, Spring 2007 CS5500 Computer Graphics April 19, 2007.
CS6500 Adv. Computer Graphics © Chun-Fa Chang, Spring 2003 Object-Order vs. Screen-Order Rendering April 24, 2003.
(conventional Cartesian reference system)
Skin Rendering GPU Graphics Gary J. Katz University of Pennsylvania CIS 665 Adapted from David Gosselin’s Power Point and article, Real-time skin rendering,
Final Gathering on GPU Toshiya Hachisuka University of Tokyo Introduction Producing global illumination image without any noise.
IN4151 Introduction 3D graphics 1 Introduction to 3D computer graphics part 2 Viewing pipeline Multi-processor implementation GPU architecture GPU algorithms.
Global Illumination May 7, Global Effects translucent surface shadow multiple reflection.
Graphics Systems I-Chen Lin’s CG slides, Doug James’s CG slides Angel, Interactive Computer Graphics, Chap 1 Introduction to Graphics Pipeline.
GPU Graphics Processing Unit. Graphics Pipeline Scene Transformations Lighting & Shading ViewingTransformations Rasterization GPUs evolved as hardware.
REAL-TIME VOLUME GRAPHICS Christof Rezk Salama Computer Graphics and Multimedia Group, University of Siegen, Germany Eurographics 2006 Real-Time Volume.
GPU Programming Robert Hero Quick Overview (The Old Way) Graphics cards process Triangles Graphics cards process Triangles Quads.
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.
Definitions Spectral Elements – data structures that contain information about data at points within each geometric entity. Finite elements only hold information.
Invitation to Computer Science 5th Edition
Programmable Pipelines. 2 Objectives Introduce programmable pipelines ­Vertex shaders ­Fragment shaders Introduce shading languages ­Needed to describe.
Shading. What is Shading? Assigning of a color to a pixel in the final image. So, everything in shading is about how to select and combine colors to get.
Computer Graphics An Introduction. What’s this course all about? 06/10/2015 Lecture 1 2 We will cover… Graphics programming and algorithms Graphics data.
Shading & Texture. Shading Flat Shading The process of assigning colors to pixels. Smooth Shading Gouraud ShadingPhong Shading Shading.
-Global Illumination Techniques
Real-time Shadow Mapping. Shadow Mapping Shadow mapping uses two-pass rendering - render depth texture from the light ’ s point-of-view - render from.
An Efficient Representation for Irradiance Environment Maps Ravi Ramamoorthi Pat Hanrahan Stanford University SIGGRAPH 2001 Stanford University SIGGRAPH.
COMPUTER GRAPHICS CSCI 375. What do I need to know?  Familiarity with  Trigonometry  Analytic geometry  Linear algebra  Data structures  OOP.
View-Dependent Precomputed Light Transport Using Nonlinear Gaussian Function Approximations Paul Green 1 Jan Kautz 1 Wojciech Matusik 2 Frédo Durand 1.
Computer Graphics 2 Lecture 7: Texture Mapping Benjamin Mora 1 University of Wales Swansea Pr. Min Chen Dr. Benjamin Mora.
Computer Graphics Chapter 6 Andreas Savva. 2 Interactive Graphics Graphics provides one of the most natural means of communicating with a computer. Interactive.
CS418 Computer Graphics John C. Hart
Realtime NPR Toon and Pencil Shading Joel Jorgensen May 4, 2010.
CS 325 Introduction to Computer Graphics 03 / 29 / 2010 Instructor: Michael Eckmann.
Global Illumination. Local Illumination  the GPU pipeline is designed for local illumination  only the surface data at the visible point is needed to.
RENDERING Introduction to Shading models – Flat and Smooth shading – Adding texture to faces – Adding shadows of objects – Building a camera in a program.
Real-Time Relief Mapping on Arbitrary Polygonal Surfaces Fabio Policarpo Manuel M. Oliveira Joao L. D. Comba.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
11/5/2002 (c) University of Wisconsin, CS 559 Last Time Local Shading –Diffuse term –Specular term –All together –OpenGL brief overview.
Local Illumination and Shading
From Turing Machine to Global Illumination Chun-Fa Chang National Taiwan Normal University.
Current Student – University of Wisconsin – Stout Applied Mathematics and Computer Science: Software Development Associate Degree in Computer Programming.
Render methods. Contents Levels of rendering Wireframe Plain shadow Gouraud Phong Comparison Gouraud-Phong.
Applications and Rendering pipeline
Graphics Pipeline Bringing it all together. Implementation The goal of computer graphics is to take the data out of computer memory and put it up on the.
1 Real-Time High-Quality View-dependent Texture Mapping using Per-Pixel Visibility Damien Porquet Jean-Michel Dischler Djamchid Ghazanfarpour MSI Laboratory,
Introduction to Computer Graphics
- Introduction - Graphics Pipeline
A Practical Analytic Single Scattering Model for Real Time Rendering
Programmable Pipelines
POLYGON MESH Advance Computer Graphics
Graphics Processing Unit
3D Graphics Rendering PPT By Ricardo Veguilla.
Chapter 6 GPU, Shaders, and Shading Languages
The Graphics Rendering Pipeline
CS451Real-time Rendering Pipeline
Suggestive Contours with Geometry Shader
© University of Wisconsin, CS559 Fall 2004
Introduction to Computer Graphics with WebGL
Graphics Processing Unit
Real-time Volumetric Lighting in Participating Media
CS5500 Computer Graphics April 17, 2006 CS5500 Computer Graphics
CS5500 Computer Graphics May 29, 2006
Computer Graphics Introduction to Shaders
Game Programming Algorithms and Techniques
Presentation transcript:

Sebastian Enrique Columbia University Real-Time Rendering Using CUReT BRDF Materials with Zernike Polynomials CS Topics on Computational Vision and Graphics Apr 20 th, 2004

CS6998 Real-Time Rendering Using CUReT BRDF Materials with Zernike Polynomials Sebastian Enrique - Columbia University - Apr 20 th, Problem As far as I know, real-time rendering of objects using its BRDF was not achieved yet. I decided to deal with this problem, with the goal to create a system with the following initial requirements: Allow rendering of any kind of mesh. Allow real-time viewpoint changes. Allow real-time lighting changes. Allow selection of material from a set of BRDF samples. Compute final colors per pixel.

CS6998 Real-Time Rendering Using CUReT BRDF Materials with Zernike Polynomials Sebastian Enrique - Columbia University - Apr 20 th, Decisions and Simplifications Meshes should be made of triangles. Topology information of the mesh (vertices positions and indices of each triangle) should be completed with vertex normals. Viewpoint can be rotated and zoomed in and out, but not translated. Change of camera target –the origin of the coordinate system- is also not allowed. Perspective projection will be used. Illumination will be limited to a white distant point light source. This means that every point in the surface will be receiving light from the same direction. The user should be able to change this direction. CUReT public BRDF materials databse will be used. It contains 61 material samples. Final colors should be computed in the GPU using fragment shaders. We will not deal with shadows and interreflections.

CS6998 Real-Time Rendering Using CUReT BRDF Materials with Zernike Polynomials Sebastian Enrique - Columbia University - Apr 20 th, CUReT 205 measurements of 61 materials under different light and view directions. A representation or interpolation should be used to get the BRDF of each material under novel light and view directions: Zernike polynomials (mapping of points on a hemisphere over the unit disk). It is a good representation for smooth BRDFs and scattered data. It is not so good for materials with high specular lobes. 55 coefficients for polynomials of order 8. 5 coefficients for polynomials of order 2, which is good for most of the materials in the database.

CS6998 Real-Time Rendering Using CUReT BRDF Materials with Zernike Polynomials Sebastian Enrique - Columbia University - Apr 20 th, Per Vertex Implementation Colors are computed for each vertex in software and then passed to the graphics hardware using OpenGL. Pixel values in between vertices are interpolated using Gouraud shading. Zernike polynomials are evaluated with corresponding material coefficients to get the correct color depending on light and viewing directions every frame. Some costly operations on angles are precomputed and stored in a table to speed up real-time processing. Extra features of the application such as to show surface normals and N dot L type of rendering are done using pixel and vertex shaders.

CS6998 Real-Time Rendering Using CUReT BRDF Materials with Zernike Polynomials Sebastian Enrique - Columbia University - Apr 20 th, Per Pixel Implementation Same operations done per vertex could be done per pixel using a fragment shader. Precomputed values can be passed as textures. Current implementation involves two 2D-textures (Zernike coefficients and precomputed operations on angles) and one 3D-texture (OpenGL 1.2 extensions required). Color computation for Zernike polynomials of order 2 (5 coefficients) requires only 1 rendering pass (1 pixel shader). To compute order 5 (55 coefficients) 8 passes are required with current Cg implementation (quite slow) in current graphics hardware. I haven’t finished software part + debugging of per pixel implementation.

CS6998 Real-Time Rendering Using CUReT BRDF Materials with Zernike Polynomials Sebastian Enrique - Columbia University - Apr 20 th, Results Happy Buddha model: 32,328 vertices; 69,451 triangles – Per Vertex – 5 coefficients. Materials: Plant, Orange Peel, and Insulation, using same light direction / pose.

CS6998 Real-Time Rendering Using CUReT BRDF Materials with Zernike Polynomials Sebastian Enrique - Columbia University - Apr 20 th, Results (cont.) Dragon model: 22,998 vertices; 47,794 triangles – Per Vertex – 5 coefficients. Material Rabbit Fur changing light direction (top) and view direction (bottom).

CS6998 Real-Time Rendering Using CUReT BRDF Materials with Zernike Polynomials Sebastian Enrique - Columbia University - Apr 20 th, Results (cont.) Stanford Bunny model: 35,947 vertices; 69,451 triangles – Per Vertex – 5 coefficients. Material Sponge changing light direction and view direction in every image.

CS6998 Real-Time Rendering Using CUReT BRDF Materials with Zernike Polynomials Sebastian Enrique - Columbia University - Apr 20 th, Results (cont.) Stanford Bunny model: 35,947 vertices; 69,451 triangles – Per Vertex – 5 coefficients. Left: rendered with Rug B material. Middle: showing surface normals. Right: wireframe using N dot L.

CS6998 Real-Time Rendering Using CUReT BRDF Materials with Zernike Polynomials Sebastian Enrique - Columbia University - Apr 20 th, Conclusions Real-time rendering of BRDF materials using any mesh was implemented and possible. Images shown before were rendered per vertex with Zernike polynomials of order 2; for order 8, vertices and triangles should be reduced 4 times for real-time rendering in test machine (Pentium 4 3Gz 1Gb RAM nVidia GeForce FX5900). Other BRDF representations should be analyzed to render in real-time more specular BRDFs materials. Next step is to finish per pixel implementation. Natural extension for this is to use environment lighting. Shadows could be added using traditional techniques like shadow mapping. First, I must correct some problems like artifacts in grazing angles and not matching final colors with original CUReT rendered spheres (coefficients are not in good shape?).

CS6998 Real-Time Rendering Using CUReT BRDF Materials with Zernike Polynomials Sebastian Enrique - Columbia University - Apr 20 th, The End Aknowledgments Ravi Ramamoorthi for CUReT materials Zernike coefficients and some Zernike polynomials code. The Stanford 3D Scanning Repository for models used. Georgia Institute of Technology for tools to manipulate PLY files. Questions? Thanks for listening...