CSC473 - Advanced Rendering Techniques

Professor: Zoë J. Wood


Welcome to advanced rendering.
2020 student files after P2.
P2: Examples P2 pov

P3: Examples P3 pov

P4: Examples P4 pov

Final projects: Final projects F20

Student's final projects:
The top voted final projects from Spring 2013
final projects from Spring 2013
final projects from Spring 2011
The top voted final projects from Winter 2010
final projects from Winter 2010
student's 'best' images from Winter 2010

Course material:
syllabus

Labs - aka unit tests
Unit Tests 1 - draft - exact rays TBD

Projects
Part 1
Project 1 -parsing scene format and raycast
Description of povray format for our assignment
Example input file: ugly.pov
Example output file: ugly.jpg
Example input file: simple.pov
Example ray cast of a simple scene
Example input file: spheres.pov
Example ray cast of spheres (.png)
Part 2
Project 2 - shading, shadows, and camera
Example input file: planes.pov
Example ray cast of planes (.png)
Example shaded simple.pov with shadows
Example input file for camera transforms: simp_cam.pov
Example output file: simp_cam0.jpg
Example output file: simp_cam1.jpg
Example output file: simp_cam2.jpg
Example output file: simp_cam45.jpg

Part 3
Project 3 - reflection, refraction and triangles
Example input file for triangles with no xforms: simple_tri.pov
Example input and image for simple_reflect1.pov
Example input and image for simple_reflect2.pov
Example input and image for simple_reflect3.pov
Example input file for reflection and refraction: simple_refract.pov
Example input file for refraction: refract2.pov
Example input file for refraction and reflection: refract_refl.pov
Example input file for reflection and refraction: recurse_simp2.pov

Part 4
Project 4 - transforms, anti-aliasing and spatial data structures
Example input file for object transforms: valentine2.pov
Example input file for scene complexity: balls2.pov
Example input file for scene complexity: bunny.pov (thanks to hmckenziechapter)
Example input file for scene complexity: gnarly.pov

Lab profiling instruction
Lab profiling additional file:
Rendered not using Schlick's, better image coming Example input file for profiling with refraction and reflection: recurses.pov
simple box scene Example input file for box intersection profiling

Part 5
Project 5 - Monte Carlo Ray tracing
Rendered by I. Dunn Example input file for color bleeding
Ryan Schmitt's 'Cornell box'

CODE REVIEW 2

For reference only from past classes
links to prior offerings of CPE 471 - includes suggestions for CUDA dev Large files for profiling - thanks to B. Somer
Example input file for scene complexity: bunny_small.pov ~500 spheres
-example output: bunny_small ~500 spheres
Example input file for scene complexity: bunny_large.pov ~8k spheres
-example output: bunny_large ~8k spheres
Example input file for scene complexity: bunny_jumbo.pov ~36k spheres
-example output: bunny_jumbo ~36k spheres
Example input file for scene complexity: dragon_large.pov ~5k spheres
-example output: dragon_large ~5k spheres
Example input file for scene complexity: dragon_huge.pov ~100k spheres

Large files with triangles (and some with spheres) for profiling - thanks to B. Somer
Example input file for scene complexity: bunny_small_tris.pov
-example output: bunny_small_tris
Example input file for scene complexity: bunny_large_tris.pov
-example output: bunny_large_tris
Example input file for scene complexity: bunny_jumbo_tris.pov
-example output: bunny_jumbo_tris
Example input file for scene complexity: bunny_tasty.pov triangles and spheres
-example output: bunny_tasty triangles and spheres
Example input file for scene complexity: dragon_large_tris.pov
-example output: dragon_large_tris
Example input file for scene complexity: dragon_huge_tris.pov
-example output: dragon_huge_tris

Student created povray files:
Ryan Schmitt's 'Cornell box'
Nick Moresco's 'evil' file
povrays output of Nick Moresco's 'evil' file

Useful links:
Ray tracing chapter of Shirley book
Ray box intersection
One way to construct a bounding box hierarchy from Caltech course CS174b
Description of complete povray format
A decent C++ intro, tho I disagree with parts
http://www.codermind.com/articles/Raytracer-in-C++-Introduction-What-is-ray-tracing.html
http://www.ccs.neu.edu/home/fell/CSU540/programs/RayTracingFormulas.htm