160 likes | 184 Views
Computer Systems Lab Presentation Stuart Maier. Parallel Path Tracer.
E N D
Computer Systems Lab Presentation Stuart Maier Parallel Path Tracer
Computer generation of highly realistic images has been a difficult problem. Although there are algorithms that can generate images that look essentially real, they take large amounts of time to render. This project explores ways of distributing that onto multiple computers, in order to speed up the process. Abstract
Graphics Background • Many different algorithms • Most unrealistic • Real-life based algorithms developed • Ray tracing • Path tracing • Spectral rendering
Ray Tracing • Rays shoot through screen • Rays seek light sources • Phong shading Image from Wikipedia.
Path Tracing • Rays don't seek light • Rays can: • Find light • Be absorbed • Be reflected • Be transmitted • Probabilistic
Spectral Rendering • Complete color space • RGB part illuminated • Many different colors can create the same RGB value Image from Wikipedia.
Parallel Background • BOINC • Multiple independent clients • No interclient communication • Clients barely talk with server • Splitting data • Pixels are divided up among clients
Design • Written in C with MPI and OpenGL libraries • Currently implements a parallel path tracer with Cornell Box colors • Six components • Main • Renderer • Object • Spectrum • Vector • XML
Main • Runs the entire show • Talks with MPI and OpenGL • Starts up the renderer • Passes off to the Renderer component
Renderer • Holds information about the scene • Renders the scene • Performs the high-level ray calculations
Object • Information about objects • Calculates ray-object intersections
Spectrum • Contains the Cornell Box colors • Can retrieve these colors • Converts spectral colors to RGB ones for use in the renderer
Vector • Generic library • Creates 3-D vectors and processes them • Used for spatial and color calculations
XML • First component called after Main • Reads in the scene file • Passes off information to Renderer
Analysis • Path Tracer works in parallel • Many basic parts work • More realistic • Global Illumination • Cornell Box colors • Transition to spectral rendering soon