ILM Presentation David Lenihan January 15 th, 2007
Who Am I? David Lenihan Dallas, Texas Software Engineer Love all things related to 3D graphics Attend SIGGRAPH every year for past 10 years
Who Am I? 9+ years developing flight simulator software Real-time (<16 ms per frame) C++ OpenGL Shading Languages: Cg & GLSL Windows, Linux, IRIX, and Solaris Plug-ins for Maya Qt Toolkit for cross-platform tools
Who Am I? 3D Modeling Purchased Maya Complete for $2,000 (ouch) to learn about modeling and animation Want to understand the whole 3D pipeline, not just the runtime side 2 Years Experience with Maya A programmer that knows how to model
Modeling “War” Currently in a modeling “war” with some friends Idea: pick something to model and post your progress and findings to a blog Goal: learn more about how to model Antagonize each other via comments on blogs that aren’t updating enough so we don’t lose interest in the “war”
Modeling “War” Building Bank of America Plaza Tallest/most distinct building in Dallas 72 stories Wanted to use geometry for details, not texture/photos In flight simulators, a building is usually a cube with texture. Easy/Quick to create Renders fast Why? Looks good at any zoom level Photos have incorrect lighting for dynamic environments
Modeling “War”
Window Frame was my first completed component Geometry-only No Texture Single default material
Modeling “War”
My model looks “flat” Why didn’t my model look as “cool” as the models I see in tutorials?
Modeling “War”
Found It! Article in Game Developer Magazine “Ambient Occlusion and You”, by Ryan Ellis August 2006
Audience Background Use Maya? Use Ambient Occlusion?
Why Ambient Occlusion is Interesting Unique, non-photorealistic look Great for showing off geometric detail Fast (compared to Global Illumination) Several uses Dirt/Rust Shader Ambient light pass when compositing an image Easy to understand how it works Becoming mainstream. Supported in: Autodesk Maya 6.5+ Autodesk Max 7+ Google SketchUp Hash Animation:Master Etc.
Ambient Occlusion in Flight Sims Surprised to find none of our real-time modelers knew about Ambient Occlusion Why? Real-time modeling (Creator) only supports OpenGL hardware accelerated lighting (per vertex/Gouruad) Use a single light source (Sun or Moon) No Shadows Speed (<16 ms) more important than image quality Draw everything in one pass
What is Ambient Occlusion? A bit like telling Ben Franklin about how electricity works… ILM invented Ambient Occlusion! Presented at SIGGRAPH 2002 (San Antonio) course by ILM’s Hayden Landis “Production Ready Global Illumination” prodreadyGI.pdf prodreadyGI.pdf Ambient Occlusion is how much ambient light a surface will likely receive White indicates maximum ambient light (no occlusion) Black indicates no ambient light (fully occluded) Also known as “Sky Light”
How Does It Work? For every visible point… Shoot rays randomly out (TotalRays) Count the number of rays that do not intersect with an object (NumMisses) Set point color == NumMisses/TotalRays
How to Do Ambient Occlusion in Maya Start with the window I built
How to Do Ambient Occlusion in Maya Render with Maya Software for reference
How to Do Ambient Occlusion in Maya Create Mental Ray Ambient Occlusion Texture in HyperShade
How to Do Ambient Occlusion in Maya Middle Mouse drag texture to window Connect texture “OutValue” to initialShadingGroup “SurfaceShader”
How to Do Ambient Occlusion in Maya Let’s see what it looks like…render with “Mental Ray”
How to Do Ambient Occlusion in Maya Looks grainy…fix it! Increase number of samples from 64 to 256
How to Do Ambient Occlusion in Maya Re-render!
How to Do Ambient Occlusion in Maya Done! Compare Maya Software render to Mental Ray Ambient Occlusion Render
References viz.tamu.edu/students/bmoyer/617/ambocc/ viz.tamu.edu/students/bmoyer/617/ambocc/ S2002-course16-prodreadyGI.pdf S2002-course16-prodreadyGI.pdf “Ambient Occlusion and You”, Ryan Ellis, Game Developer Magazine, August 2006 Autodesk Maya 8.0 Online Help
The End Thanks for listening!