sebastian enrique columbia university [email protected]

12
Sebastian Enrique Columbia University [email protected] Real-Time Rendering Using CUReT BRDF Materials with Zernike Polynomials CS6998 - Topics on Computational Vision and Graphics Apr 20 th , 2004

Upload: kele

Post on 22-Jan-2016

40 views

Category:

Documents


0 download

DESCRIPTION

CS6998 - Topics on Computational Vision and Graphics Apr 20 th , 2004. Real-Time Rendering Using CUReT BRDF Materials with Zernike Polynomials. Sebastian Enrique Columbia University [email protected]. Real-Time Rendering Using CUReT BRDF Materials with Zernike Polynomials. CS6998. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Sebastian Enrique Columbia University senrique@cs.columbia

Sebastian EnriqueColumbia University

[email protected]

Real-Time Rendering Using CUReT BRDF Materials with Zernike

Polynomials

CS6998 - Topics on Computational Vision and Graphics

Apr 20th, 2004

Page 2: Sebastian Enrique Columbia University senrique@cs.columbia

CS6998 Real-Time Rendering Using CUReT BRDF Materials with Zernike Polynomials

Sebastian Enrique - Columbia University - [email protected]

Apr 20th, 2004

2

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.

Page 3: Sebastian Enrique Columbia University senrique@cs.columbia

CS6998 Real-Time Rendering Using CUReT BRDF Materials with Zernike Polynomials

Sebastian Enrique - Columbia University - [email protected]

Apr 20th, 2004

3

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.

Page 4: Sebastian Enrique Columbia University senrique@cs.columbia

CS6998 Real-Time Rendering Using CUReT BRDF Materials with Zernike Polynomials

Sebastian Enrique - Columbia University - [email protected]

Apr 20th, 2004

4

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.

Page 5: Sebastian Enrique Columbia University senrique@cs.columbia

CS6998 Real-Time Rendering Using CUReT BRDF Materials with Zernike Polynomials

Sebastian Enrique - Columbia University - [email protected]

Apr 20th, 2004

5

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.

Page 6: Sebastian Enrique Columbia University senrique@cs.columbia

CS6998 Real-Time Rendering Using CUReT BRDF Materials with Zernike Polynomials

Sebastian Enrique - Columbia University - [email protected]

Apr 20th, 2004

6

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.

Page 7: Sebastian Enrique Columbia University senrique@cs.columbia

CS6998 Real-Time Rendering Using CUReT BRDF Materials with Zernike Polynomials

Sebastian Enrique - Columbia University - [email protected]

Apr 20th, 2004

7

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.

Page 8: Sebastian Enrique Columbia University senrique@cs.columbia

CS6998 Real-Time Rendering Using CUReT BRDF Materials with Zernike Polynomials

Sebastian Enrique - Columbia University - [email protected]

Apr 20th, 2004

8

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).

Page 9: Sebastian Enrique Columbia University senrique@cs.columbia

CS6998 Real-Time Rendering Using CUReT BRDF Materials with Zernike Polynomials

Sebastian Enrique - Columbia University - [email protected]

Apr 20th, 2004

9

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.

Page 10: Sebastian Enrique Columbia University senrique@cs.columbia

CS6998 Real-Time Rendering Using CUReT BRDF Materials with Zernike Polynomials

Sebastian Enrique - Columbia University - [email protected]

Apr 20th, 2004

10

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.

Page 11: Sebastian Enrique Columbia University senrique@cs.columbia

CS6998 Real-Time Rendering Using CUReT BRDF Materials with Zernike Polynomials

Sebastian Enrique - Columbia University - [email protected]

Apr 20th, 2004

11

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?).

Page 12: Sebastian Enrique Columbia University senrique@cs.columbia

CS6998 Real-Time Rendering Using CUReT BRDF Materials with Zernike Polynomials

Sebastian Enrique - Columbia University - [email protected]

Apr 20th, 2004

12

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...