kbEditor / kbEngine

 

The goal of kbEngine is to provide a unified rendering interface for DirectX 9 / 10, and my software renderer, and possibly any other API.  Currently it only uses DX9, hopefully this summer I’ll integrate my software renderer (which can be found on my main page).

 

kbEditor is an MFC app built on top of kbEngine which allows me to easily put together scenes.  Its main feature is a terrain editor which allows the user to quickly build and texture terrains. 

 

At the moment, kbEditor is unfinished and unpolished and probably has some bugs, but a downloadable version of my current progress is available below.  I threw in a few effects since I had them lying around from an earlier project, but I need to make these more robust and tweakable thru the editor.

 

 

Click here to download.  A sample scene from the screen shots below is included.  It demonstrates most of the features.

 

 

 

Features:

  • Quad-tree based terrain editor
  • Currently supports a base + detail textures for terrain.  UVs are adjustable.
  • Terrain elevation tool with adjustable parameters
  • Loads Milkshape3D models (can translate / rotate)
  • Water / reflection (fresnel + bump maps generated on the fly)
  • PCF Shadow Mapping
  • Steep Parallax mapping

 

 

Click On Images to enlarge:

 

Water:

The bump maps are created from a randomly generated noise map and a sum of cosines approach which simulate up to 8 waves of varying direction, speed, amplitude, and frequency.

 

 

 

 

 

Height Tool:

Allows raising and lowering of terrain verts.  The green markings represent the areas of greatest growth.  A ‘softness’ param is available to sharpen or soften the shape of the tool’s effect.

 

 

 

 

Translate / Rotate Tool:

For manipulating imported meshes.  Click and drag on an arrow to translate the object in that direction.  Click and drag the center sphere to translate the object perpendicularly to the camera’s view.

 

 

 

 

 

Steep Parallax mapping:

Steep parallax mapping with 30 levels.  The wall in the image is a single flat polygon.  This effect is quite shader intensive.  In my opinion it is a bit heavy for current real-time apps.

 

However, steep parallax mapping doesn’t suffer from the ‘swimming’ artifact that standard parallax mapping exhibits.

 

 

 

 

PCF Shadow mapping:

 

Requires hardware shadow mapping, which is available on NVIDA cards.

 

I’ll write a general version soon.

           

Future Plans:

  • Undo / Redo feature!
  • Fix the cracks between terrain lods.  I’m leaning towards skirting, still researching.
  • Use screen-space error to determine when to switch lods (should help cracks some)
  • Tool to paint on alpha layer of terrain texture.
  • Add more functionality to the height tool
  • Grass painter
  • More terrain layers
  • Hook up MFC controls for the water effect

 

 

 

This is by no means polished or complete, and is just a demonstration of my current progress.  If you find bugs, feel free to e-mail me at benny_wilson@comcast.net, however there is a good chance that I already know about them ;)

 

Have fun and thanks for checking kbEditor out!