I've modified the Land-o-Rama terrain engine so that it applies a unique texture (or textures) to each terrain patch in the quadtree. I had no idea how much better it would look though.
Take a look at these two screenshots. Each screenshot shows the exact same view of a 32,768 x 32,768 heightmap.
Fi…
Take a look at these two screenshots. Each screenshot shows the exact same view of a 32,768 x 32,768 heightmap.
Fi…
One of the reasons for the development of my terrain engine was so that I could go to any point on the world and explore the surrounding terrain. So I downloaded every single heightmap from the Shuttle Radar Topography Mission website (and likely pissed off my ISP in the process.) These heightm…
w00t, I finally got off my ass and released the first production build of libnoise 1.0.0. It's a library for generating coherent (smoothly changing) noise. It's useful for generating random terrain and textures.
For those of you who have used libnoise in the past, I've increased the speed of libno…
For those of you who have used libnoise in the past, I've increased the speed of libno…
I've added some terrain-type textures to Land-o-Rama.
I'm using the Utah Teapot of terrain meshes: Mount Rainier, Washington. The viewer is facing north.
Land-o-Rama now supports four terrain-type textures: grass, forest, rock, and snow. For far distances, Land-o-Rama can use a different forest tex…
I'm using the Utah Teapot of terrain meshes: Mount Rainier, Washington. The viewer is facing north.
Land-o-Rama now supports four terrain-type textures: grass, forest, rock, and snow. For far distances, Land-o-Rama can use a different forest tex…
I've finally got tangent-space normal mapping working in Land-o-Rama. Here's a brand-new screenshot.
This is another view from inside Valhalla Provincial Park, looking southeast.
In this image, there are three 1024 x 1024 normal maps tiled over the terrain. Each normal map has a different UV scale.…
This is another view from inside Valhalla Provincial Park, looking southeast.
In this image, there are three 1024 x 1024 normal maps tiled over the terrain. Each normal map has a different UV scale.…
The next thing I did for Land-o-Rama was to write a basic atmospheric shader. I didn't like that horrible blue fog that passed for an atmosphere.
There's sure a lot of academic papers on implementing atmospheric shaders. The one thing that each paper has in common is math. A lot of math. With sc…
There's sure a lot of academic papers on implementing atmospheric shaders. The one thing that each paper has in common is math. A lot of math. With sc…
In my last journal entry about Land-o-Rama, I had a basic terrain-rendering class in place. Land-o-Rama performs LOD using a quadtree of patches containing regularly spaced vertices. It adds artificial detail to the terrain mesh at runtime so that it can render terrains as large as 32K x 32K.
In t…
In t…
It's been many months since my last journal update. I've had a very busy year and haven't had a chance to write anything until now.
At the company I worked at, the entire IT staff got laid off. I got my notice in August that my last day would be in January. I was the last person to be laid off be…
At the company I worked at, the entire IT staff got laid off. I got my notice in August that my last day would be in January. I was the last person to be laid off be…
Now that the terrain engine documentation is out of the way, I can finally put it away for awhile and move onto something more interesting: OpenGL shaders!
OK, after much dicking around, I've finally got something. Here's my first attempt at a GLSL shader:
This is my polka-dot shader. OK, it isn't …
OK, after much dicking around, I've finally got something. Here's my first attempt at a GLSL shader:
This is my polka-dot shader. OK, it isn't …
I'm finally finished documenting my code for my terrain engine! Damn, was that ever tedious. It took me a month to do. But now I've reached a point in development that I can have fun with trying out all kinds of rendering techniques. However, I'm kind of tired of developing the terrain engine, …
Well it's been a long time since my last journal entry. I've finally refactored the code in my terrain engine. I moved stuff into their own classes, cleaned up the code, and found and squashed numerous bugs. Tedious as hell, but it had to be done.
Here's the Land-o-Rama library architecture so fa…
Here's the Land-o-Rama library architecture so fa…
After playing around with Land-o-Rama for a bit, I noticed that it is rendering a boatload of triangles more than it needs to.
Here's the screenshot showing the terrain patches again:
The patches with the same color share the same LOD. The brightness inside of the patches indicates the morphing amo…
Here's the screenshot showing the terrain patches again:
The patches with the same color share the same LOD. The brightness inside of the patches indicates the morphing amo…
Now comes the time to seamlessly join adjacent terrain patches together. Here's a screenshot of the terrain with a normal map applied to it:
Note the black cracks between most of the patches. This is because most patches have a different morphing amount from their neighbors. So I had to figure ou…
Note the black cracks between most of the patches. This is because most patches have a different morphing amount from their neighbors. So I had to figure ou…
OK, I've added some stuff to the Land-o-Rama terrain engine. I've got some vertex morphing action. It's quite slow since I'm currently doing these calculations in software... for every friggin' vertex and normal. Here's how it works:
Each terrain patch can have its own morphing amount. This morp…
Each terrain patch can have its own morphing amount. This morp…
I should be clearer in how my terrain engine (called Land-o-Rama) currently works. (It took me all of four seconds to come up with this dumb name and I really can't be bothered to think of a better name :-) I'm a programmer dammit, not a marketer.)
Land-o-Rama contains a pool of terrain patches th…
Land-o-Rama contains a pool of terrain patches th…
A few months ago, I implemented a terrain engine using the geometry clipmap technique as described in Chapter 2 of GPU Gems 2. Unfortunately, I discovered that the technique is patented (well, pending at the time this was written) by Microsoft. I tried to ask Microsoft Research for permission to …
Advertisement
Popular Blogs
Advertisement