Advertisement Jump to content
  • Advertisement
  • entries
  • comments
  • views

Golem3D editor

Sign in to follow this  


Now that things have settled down a little, I've found more time for programming. I've been working on the old Golem3D heightmap editor as mentioned before, and I've finally gotten the editor working with the new blending engine. It actually works pretty well so far. When terrain texturing is selected, the current brush is used to apply the currently selected layer of terrain onto the map, using an interpolation process similar to the manner in which elevation is 'grown' so that successive applications increase the opacity of the brushed area. I still need to implement an erase tool so that I can erase layers that have already been applied, but all in all I think it works well as is and I see no need for more complicated terrain brushing.

Next up on the list is to fully integrate the scripting interface, and expose some useful stuff to the script engine to allow canned scripts and user custom scripts. I also need to implement the base noise pass which is used to 'bumpify' the terrain, since editing using the cliff tool creates extremely smooth elevational changes. A little noise boosts the realism of the thing.

I also need to reimplement the blur system. I want to make it use the same set of brushes that the terrain and cliff tools use, and that will mean modifying the internals of how I do it. Previously, I was using selectable Gaussian kernels (3x3, 5x5 and 7x7 sizes) and selectable affected areas, and applying the kernel convolution to each heightmap vertex within the affected area. It worked well, but if I want to use the bitmap brushes I will have to change it. I'm thinking of using a set (perhaps 5x5, since that is what I used the most) Gaussian kernel, and applying it to all vertices within the brush area, weighting the actual kernel matrix by the brush pixel element to modify the degree of blur applied to a given element. This should work out fairly well in theory; in practice, we'll have to see. [grin]

Anyway, I've got a couple screens showing the new editor in action. So here you go:

The black buttons are selectable brushes; an index file of brush bitmaps is loaded at init, so that the user can insert his own custom brushes as desired. Brushes must be 49x49 pixels in size, 8-bit greyscale TARGA format files. My set of brushes now is fairly small, but that is on the todo list.

One other tool I want to implement is a point list for generating polylines within the editor. Left clicking will select a point and place it in the list. This will be useful later on, when the scripting system is done and I can implement various canned effects such as road building based on the algorithms described earlier in this journal. But first, I have to finish implementing the export to TARGA functionality, and clean up the New/Save/Save As functionality, etc... Still a lot of work to do on this thing. [grin]
Sign in to follow this  

1 Comment

Recommended Comments

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement

Important Information

By using, you agree to our community Guidelines, Terms of Use, and Privacy Policy. is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!