CS 6620.001 "Ray Tracing for Graphics" Fall 2014
Welcome to my ray tracing site for the course CS 6620.001, being taught at the University of Utah in Fall 2014 by Cem Yuksel.
Welcome fellow students! I have lots of experience tracing rays, and with graphics in general, and so I'll be pleased to help by giving constructive tips throughout (and I'll also try very hard to get the correct image, or say why particular images are correct as opposed to others). If you shoot me an email with a link to your project, I'm pretty good at guessing what the issues in raytracers are from looking at wrong images.
Hardware specifications, see bottom of page.
Timing information will look like "(#t #s ##:##:##)" and corresponds to the number of threads used, the number of samples (per pixel, per light, possibly explained in context), and the timing information rounded to the nearest second.
Project 14 - "Teapot Rendering Competition" (Round III)
Despite the fact that there was no CS 6620 in Fall 2016, certain contestants pushed for another teapot rendering competition. I was not especially thrilled by the prospect; I had way too much to do, and no really great scene ideas. Nevertheless, it was scheduled, and so of course I had to enter.
I had a lot of ideas, but it turns out that my modeling skills are still abysmal. I rejected several ideas, one after another, attempting to model each and failing. But, my last—and most practical—idea started coming together. This was to just take a bunch of stock 3D models and try to make a room scene. I talked about it with Will Usher (who also entered), and the basic idea was to make a hyper-realistic scene.
Unfortunately, it was Sunday-before-the-competition-on-Tuesday that I finally got modeling. I didn't have enough time, and some last-minute issues popped up, so the scene had fewer details that I'd have liked. Specifically, rays started going through triangles. After some poking around, I found that this was not an acceleration structure problem (it occurs with brute force as well). It seems to be a triangle intersection problem, which should just not happen—I'm using a robust triangle intersection method. For now, I converted the tracer to double-precision (which necessitated fixing some minor broken compile paths).
For rendering, I tried to render a proof on my new desktop. This thing has an i7-6850K overclocked to 4.343 GHz and 64 GB of DDR4 at 3400 MHz. I went to sleep after starting it up, and in the morning the computer was off, its OS was trashed, and the render hadn't finished. While I reinstalled the OS, I just had it render on my somewhat-slower lab machine.
While composing the scene, I tried to obey artistic rules (and experience with previous teapot-rendering-competitions has taught me that people prefer artsy entries anyway). I called the scene "SIGGRAPH".
The final result, which has a bit of light post-processing (timing unavailable, click for full resolution):

Proceed to the Previous Project or Next Project.
Hardware
Except as mentioned, renders are done on my laptop, which has:
- Intel i7-990X (12M Cache, [3.4{6|7},3.73 GHz], 6 cores, 12 threads)
- 12 GB RAM (DDR3 1333MHz Triple Channel)
- NVIDIA GeForce GTX 580M
- 750GB HDD (7200RPM, Serial-ATA II 300, 16MB Cache)
- Windows 7 x86-64 Professional (although all code compiles/runs on Linux)