WHEEEE!

It’s amazing how things can turn around so quickly and leave you feeling immensely relieved.

Last night, I got an email from Mark (my advisor) saying that he had added me to Web Apps. I was number 27 on a waitlist for the class, which has a class size of 30. Mark Stehlik is amazing and I want to have his babies.
I’m really glad I get to take this course before I graduate… this is my last spring semester, and the course is only offered in the spring, so it would have been really unfortunate if I hadn’t been able to get in. Meh.
So then this is my schedule as currently registered. I’ll need section B of networks instead of the currently registered section A, but there’s not much I can do about that right now (worst case, I’ll just go to the wrong section unofficially).

Also, today, I “finished” my ray tracer. The last two things that were making me incredibly sad were phong shading and recursive reflections. The former was almost immediately fixed once I realized that a) the provided vector class didn’t scale as expected, and so once I wrote my own code to generate and scale the desired vectors, the phong shading was almost completely correct and b) I forgot that I’d created soft shadows by duplicating lights with slight offsets, so I had to scale my light intensities by 9. Once I had that working, I realized that, since I’d planned for recursive reflections from the start (added variables into my method headers to account for the required behavior), reflections were an extra one line of code. I added it in, and it worked beautifully.
The only thing that’s still wrong is that the shading produces random artifacts in the scenes (the black lines you see in the scenes below). I don’t know why, and at this point I don’t care enough to go in, figure out why, and fix my code. I suspect it has to do with my reflection ray calculations and shading equation, but meh.

Behold, my ray tracer…
This demonstrates the sphere and triangle rendering, reflections, sphere texture mapping, triangle color interpolating, triangle texture mapping, triangle texture interpolation, and shadows.

This demonstrates colored light sources, object rendering, object texture mapping, soft shadows, and reflections.

More of the same.

I used an image of Cornell just because I wanted to try texture mapping, and it happened to be the first one I clicked on when looking through my photos page for a random image.

So yeah, I’m feeling quite a bit less stressed now. All I have left for this week is numerical methods homework (relatively easy) and studying for my analysis exam on Friday.
*breathes a huge sigh of relief*