Terrain Tuesday #5

February 9, 2010

This is the Terrain Tuesday you’ve been waiting for… unless you’ve been waiting for something other than what I’ve been working on this week. In any case, I think you’ll be happy with my progress.

I told you last week that I would be working on some kind of texturing support for the editor. Good news on that front. I did. Now you can paint textures onto the terrain just about as easily and intuitively as shaping the terrain itself. Here’s a little something I whipped up, so you can have a little bit of an idea what can be done with it – keep in mind, after making the textures, this only took a few minutes to put together:

Comments, suggestions, and discussion are welcome.


Terrain Tuesday #4

February 2, 2010

I did work on a few things. I just… don’t know what they are.

Gotcha! But for real – most significantly, I added a normal map export option, which basically writes the normals all over the terrain into an image file, as colors. This lets you build up a terrain in heavy detail, export a normal map, and reduce the detail. After that, with a little fragment shader mapping, you get just about the same detail with fewer vertices. Other than that, it’s just been minor changes. It’s been a little slow this week because a lot of it was taken up with my search for an elusive and, in the end, minor bug. The coming week looks promising for actual work toward texturing.


Terrain Tuesday #3

January 26, 2010

Since last week’s update, I have utilized my programming skills in order to bring forth updates and features! Basically, I added some new stuff to the terrain editor. First off, I added tooltips when the user hovers over buttons, so that it’s a little easier to know what buttons you’re selecting. Next, I implemented a brush system which lets the user modify the changes he makes to the terrain by a texture, a little like a brush in an image editor. This is very handy for adding fine detail or specific shapes, and users can even make their own brushes and use them in the editor.

I also decided to reorganize my undo system, in part because my method was fairly messy and hard to keep track of, and also because there was a rarely appearing bug where an undo would not happen correctly. Instead of the somewhat strange system where I tried to handle everything in one set of states, I separated it into two stacks, one for undo and one for redo. It didn’t fix the bug, but it definitely improved the organization and readability of the code, and also properly implemented redo in the process. Because it was rare, the bug was a little hard to track down, but I did end up finding it with a little detective work, and then it was fairly obvious. It was easily fixed, basically a typo, and now the system is working nicely.

Now that those issues are taken care of, I can go ahead and work on the texturing capabilities of the editor. I definitely wanted to get the brush system in first, because that will be a big part of the texture editing process. The undo bug being gone is a nice relief too, because I know it would have been nagging me here and there when I went to test something else. If all goes well, I should have some screenshots up before too long, but there is a lot to do to make texturing work. I may also post about other things in the meantime. We’ll see.


Terrain Tuesday: The Sequel

January 19, 2010

Yep, I’m back for another Terrain Tuesday. I’m still not certain I will be maintaining a weekly update schedule, but with how steady progress on the terrain editor has been, it’s a possibility. So, what’s new? Well, you’ll be elated (or at the very least, interested) to learn that I’ve gotten around to implementing an undo button. It seemed like something that an editor should have. I even optimized it so that it doesn’t suck up mounds of memory when you get a stack of operations in there. This is accomplished basically by keeping track of the terrain data when the operation starts, then once it is finished (i.e. the user releases the mouse button) then it stores undo data only for the area that has been modified. I also added some slight optimizations (more to come) to the rendering, so that you can work with slightly more massive terrains without slowing your computer to a crawl. Don’t tell anybody, but I’m also working on a terrain erosion function too, but it’s not quite perfect yet. There are a few other cool things here, some planned features there, but let’s not spoil it too much.

I’m sorry to be the one that has to tell you this, but there’s not much in the way of new content to actually… show you. So, no new screenshots… Oh, what the heck. How can I argue with those teary eyes? Just don’t expect too much – from the picture; as for the editor… great things are coming, so stay tuned.

And this post is suddenly a thousand words richer.

More to come… at some point.


Terrain Tuesday

January 12, 2010

I don’t know if I’ll be doing a post about my terrain editor every Tuesday, though that would be nice, but it seemed like a good idea for today, at any rate. For those of you whose time zone is such that it is not Tuesday at time of this writing… that’s a shame. But! Work on my terrain editor project continues. Here’s the quick update. More export formats, like .obj model and .tga heightmap are now supported. There is a new brush available, which rather than simply smoothing the terrain, makes it level – we all know that people are going to want to put things like buildings on their terrain too, later on. I also recently added some handy things like adjustable detail level and terrain size and scale.

But I know, you want to see that vast consolidated body of information that is a picture. I mean, it wouldn’t take me that long to write out the thousand words that a picture is worth, but this is definitely faster. So,

See the flattened areas. Handy, no?