Advertisement Jump to content
  • Advertisement
  • entries
  • comments
  • views

Imperator of the Drunken Ray

Sign in to follow this  


So I had a few beers last night, and decided to write a raytracer. The last one I did was a huge amount of fun, and despite it eating up three years of my life and turning into one of my most annoying failures, I still have fond memories of the project.

I keep getting ideas for stuff I'd like to try and implement, but the old code was pretty brittle and didn't like to be shuffled around and experimented with. I've often wished for a flexible platform for working on global illumination algorithms in particular, where the core operations of ray intersection and so on are provided, but operations like specifying surface reflectance functions, light behaviour in media, and so on can all be controlled with a domain-specific language. (Yeah, I know I'm reinventing the RenderMan wheel a bit.)

So after impairing my judgment real good and thoroughly killing a chunk of common-sense neurons, I started up a new project and hammered out some code.

It is now 8:05 AM, and I have a really nice console class and some bootstrap Win32 code. 90% of it is cut and pasted from other projects and utilities I've done in the past.

There's no ray-related or even drawing-related code of any kind. It's full of potential thread-safety issues, which will cause serious problems for the parallel-rendering concepts I want to try later on.

I'm never going to get much time or inclination to work on this, especially as I have other side projects that I really ought to finish first. Next time I sit down with it (possibly sober), I'll almost certainly look at the boilerplate code I've got now, exclaim over how utterly crap it is, and rip it all out.

In other words, I probably just wasted an evening, and created yet another stub project on my hard drive that'll sit around for years and never get touched again.

At least the beer was good, and I have a pretty good excuse for sleeping through one of the most annoying days of the year. Speaking of which, I think I'll get right on that.
Sign in to follow this  


Recommended Comments

There are no comments to display.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement

Important Information

By using, you agree to our community Guidelines, Terms of Use, and Privacy Policy. is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!