360 likes | 511 Views
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++
E N D
ILM Presentation David Lenihan January 15th, 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” • http://www.debevec.org/HDRI2004/landis-S2002-course16-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 • http://en.wikipedia.org/wiki/Ambient_occlusion • http://www-viz.tamu.edu/students/bmoyer/617/ambocc/ • http://www.debevec.org/HDRI2004/landis-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!