Gauntlets of Recursion (+3)

Times, trials, and turbulence.

Efforts continued

I’ve been pretty busy lately with schoolwork, plus a long trip from campus to home for the weekend. Despite this, I’ve managed to keep myself motivated on getting a sufficiently fast voxel renderer working so I can develop this mini-game.

Having only my laptop with me (which runs on Linux) I was curious if I could manage to get the renderer working on a non-Windows platform. It worked without a hitch, aside from myself getting better acquainted with g++.


The method that I’ve (hopefully) settled on works by casting out two rays from the camera (one along the left side of the viewing frustum and one along the right) and stepping along them incrementally. For each step of the ray, the renderer linearly interpolations across the screen and world simultaneously, drawing vertical line strips to represent each voxel it comes across.

It’s not a very complicated algorithm, just like any of the others I’ve tried, but I think this route has the most room for speed enhancements. I feel like I’ve been working on this forever, but my goal is a steady 30-40FPS on my low-end-ish laptop before I accept the performance and start actually writing the game itself.

 (The heightmap/detailmap belongs to this fellow, whose article provided me with some good general ideas about voxel rendering.)

3 responses to “Efforts continued

  1. soren renner November 26, 2007 at 9:28 pm

    Why don’t you try a realtime voxel raytracer? Wouldn’t it be fun to fly through a Sierpinski cube that popped levels as you flew? You’d learn a LOT by writing it.

    I know because I wrote one already.

  2. Stephen November 26, 2007 at 10:06 pm

    @Soren: One beast at a time, I think. 🙂 It’s been tough enough optimizing this renderer to run well in realtime that I don’t think I’m quite ready to tackle a voxel raytracer just yet. I am interested in seeing your project, however. Where can I find it?

    Thanks for the comment!

  3. soren renner November 28, 2007 at 12:07 pm

    Mail me so I can send you mail. You can see my address, right?

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: