330 likes | 426 Views
Project Raytracing. Content. Goals Idea of Raytracing Ray Casting Therory Practice Raytracing Theory Light model Practice Output images Conclusion. Specifications. Ray tracer depends on how to represent objects Parametric equation for precision, not rapidity
E N D
Content • Goals • Idea of Raytracing • Ray Casting • Therory • Practice • Raytracing • Theory • Light model • Practice • Output images • Conclusion
Specifications Ray tracer depends on how to represent objects Parametric equation for precision, not rapidity Develop a Ray Tracer in order to explore a new intersection algorithm Two teams : - for mathematics - for code
Main principle Create 3D pictures Mathematical equation Throw ray from eye to pixels Not FROM source light: TO it Number of reflections Great pictures but slow
Algorithms Ray casting - first method - no bounce Ray tracing - from eye to pixels - reflection - refraction - shadow
Fields of use Animation studio Pixar: with parsimony → light effects Video games → with triangles → faster and great
Ray casting For each pixel: • Shoot a ray from the observer to the position of the pixel • Test if the ray hits an object in the scene • If thereis a hit: the color of this pixel willbe the color of the object • If thereis no hit: the pixel receives the color of the background
Ray casting What do weneed ? • A position for the observer (eye, camera) • A direction/object to look at (and a « way up ») • An object to show on screen • A representation of the 2D screen in the 3D space
From Ray Casting to Ray Tracing Weadd : • Lights ambient, diffuse, specular • Shadows • Reflexion => recursion : another ray isshotfrom the intersection • Materialproperties ambient, diffuse, and specular coefficients
Lightmodel • Used: Phong reflection model • 3 types of light: ambient, diffuse, specular =
Ambient and Diffuse The coefficient is specific for a material
Shadows • Only add diffuse and specular light, if a lightsource is visible • Test for intersections between a point on the sphere and the lightsource
From Ray Casting to Ray Tracing Weadd : • Lights ambient, diffuse, specular • Shadows • Reflexion => recursion : another ray isshotfrom the intersection • Materialproperties ambient, diffuse, and specular coefficients
Interesting modules • Positionning of the screen in 3D space • The RayTracer class • That's the core of the program (light model) • Shadows • The use of inheritance to compute intersections • Obtaining an animation • Camera and lights movement • Export a sequence of images, make a movie • The Draughtboard
Difficulties - math libraries - C++, compilation, building environment - Screen implementation - Unexpected results (debugging)
Achievements Light effects Animation rendering Different shapes Antialiasing
Improvements Refraction and transparency Textures and noise Depth of Field Image mapping Bounding Volume Radiometry (power, energy, radiance...) Photon mapping
Thanks! Thank you for your attention!