Sunday, June 24, 2012

It's about time

I did something incredibly stupid. Again. I’ll probably be paying for this one for a long time. I started writing a ray tracer. From scratch. In c++.

Half to close at least a fraction of the knowledge gap between myself and the guys I work with, half because I’ve been wanting to do this for a while now and half to see if I could. Much like when buying that first box set of Lost season 1 I have no idea what I’m getting myself into. In any case it was about time to raise the bar from writing “Ci = Ln.Nn” and patting myself on the back as the renderer kindly popped a picture out of a black box for me. There’s something immensely satisfying about seeing that first sphere materializing on screen after days of debugging matrix operations, writing squiggly trig problems in my notebook and cursing the compiler for not spoon feeding me answers like I’m used to. It’s sort of like that feeling you get when you realize you’ve gone from being that spoiled kid with a squeaky voice to reaching manhood, except it’s absolutely meaningless and instead of getting attention from girls you have to write about it on the internet.

Stick around for updates on my struggles through the world of light transport and monte carlo optimization.

Here’s a sphere and a bunny.

4 comments:

  1. You wrote a bunny? #awe

    ReplyDelete
  2. Haha. Close. I wrote a program that given a scene description of some objects, lights and a camera will simulate the light interaction and material response of the scene and give you back a picture. Of a bunny.

    ReplyDelete
  3. Do we get to see some code as well?

    ReplyDelete
  4. Sure, I could include some code in more techy posts. And if you have specific questions, feel free to ask.

    With the current progress I guess I'll have some updates about every week or so - I try to get in 2-3 coding sessions a week depending on work, but from experience I know I can be very sporadic in terms of actual posting frequency.

    ReplyDelete