Graphics is gooder and stuff

Development of my terrain engine.
19 comments
1 followers
17 entries
Advertisement
jasjas
January 30, 2008
Per-Patch Textures and Normal Maps
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…
2,096 views
jasjas
January 12, 2008
Increasing the resolution of heightmaps
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…
4,293 views
jasjas
April 19, 2007
libnoise 1.0.0 (production version) is out
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…
1,132 views
jasjas
April 16, 2007
Terrain texturing
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…
2,544 views
jasjas
March 11, 2007
Terrain with tangent-space normal mapping
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.…
5,753 views
jasjas
January 14, 2007
Adding a basic atmospheric shader
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…
1,488 views
jasjas
January 14, 2007
Land-o-Rama with shaders and VBOs
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…
1,212 views
jasjas
January 14, 2007
Oh noes
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…
839 views
jasjas
April 30, 2006
Playing with shaders
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 …
1,178 views
jasjas
April 24, 2006
w00t, finished at last!
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, …
815 views
jasjas
April 02, 2006
Yuck - code restructuring
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…
899 views
jasjas
March 13, 2006
Tossing away triangles
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…
762 views
jasjas
March 12, 2006
The hell of seamlessly joining adjacent patches
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…
787 views
jasjas
March 12, 2006
Vertex morphing action
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…
1,189 views
jasjas
March 11, 2006
Terrain Engine Details
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…
895 views
jasjas
March 11, 2006
Selecting a Terrain Engine
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 …
1,117 views
jasjas
March 11, 2006
First Post!
This is my first entry. Just making sure that this is going to work. I'm currently building a terrain engine; details will appear in my journal shortly.
766 views
Advertisement

Popular Blogs

shawnhar
Generalist
101 Entries
9 Followers
15 Entries
10 Followers
johnhattan
Programmer
1,277 Entries
47 Followers
ApochPiQ
Generalist
628 Entries
44 Followers
dgreen02
Generalist
338 Entries
56 Followers
Advertisement