Monthly Archive for May, 2008

ASCII terrain

While playing with my planetary terrain renderer, I ran into the problem that that height source generation library that I was using (libnoise) wasn’t giving enough precision - it only provides 8-bit precision for the height values for any given point on the terrain. 256 distinct height values is plenty normally, but it wasn’t really doing the job for me. It was causing nasty ’stepping’ in the terrain, where my LOD would increase, but the additional data that was produced wasn’t fine-grained enough to show any improvement. For example:

Stepping artifacts on the terrain

Pardon the lack of texturing and so on. Seriously, I’ll get to it after I finish the terrain mesh. You can clearly see the ’steps’ though - the LOD system is doing its best, but without any useful data.

Anyway, I finally got around to rolling my own little perlin noise system tonight. It’s not integrated with the OpenGL renderer yet, but I got some kinda neat effects testing it in a console window. And it produces 32-bit floats :)

Warning - if you’re prone to reminiscing about the ‘good old days‘, when real men did everything by command line, you may find this picture invokes a bit of nostelgia. Also, it’s a rather large animated GIF.

EDIT: hmm, so it turns out the GIF is 35mb. Click here to see it, but be warned. Or, there’s a static screenshot below:

Generating heightmap data in a console window

Open Day

I got my hands on the Open Day photos, finally :)

ClusterGL

I bet everyone thought I forgot about this project. Not so much :).

CGL was used for the University Open Day last week to run BSOD on the big display wall, and performed quite well. Photos of that coming as soon as the uni decides to upload some, but in the mean time, enjoy these screenshots.

It looks a bit more impressive on the big screen :)

BSOD

This system is pretty much working now. Here’s it running on live data from the university uplink:

It still has a small list of changes that need to be made before it goes out to the world, however :)

Planet Renderer

As posted previously, I’ve been playing with the beginnings of a LOD terrain renderer for large datasets. I combined this technique with some procedural terrain generation via libnoise, and got some interesting results.

They look pretty awful, but I was more worried about the LOD mechinism than the looks. Rest assured that judicious use of texture splatting and gap fixing would make this look a lot more realistic :)