Overview

The land builder is a model editor that built up from a basic model editor. It was originally inteded purely as a content creation source for a game, but proved to be far more interesting.

Downloads

Not yet...

Technology

Automatically built

Through the use of the buildsystem, the program is checked out, built, made into an installer, installed (to a test location), unit tests run, and uninstalled automatically. This has proved to be very useful, and a nice feature to have when testing major changes.

Unit tested

Integrated into the land builder is cppunit, a c++ unit testing framework. This is integrated into the program so that the unit tests can be run via command line parameters

Land Builder.exe --test

This means the system tests are run using the exact same code as during normal execution. Currently only certain core components are unit tested (eg: thread primitives, mesh objects).

Threaded

Built entirely around an interface drive component architecture, it is heavily multi-threaded. The core system has been designed from the start to be thread safe.

The use of threads makes for interesting debugging, so the use of unit tests is imperative.

Component based

Designed to be a COM type system, all objects in the program are interface driven reference counted objects. This simplifies memory allocation, and allows implementation to be completely seperated from the interface.

Interfaces can be invisibly attached to another interface. This allows legacy implementations to be maintained using dummy routing objects, which transform the old interface into the new interface. This means older code doesn't need to be rewritten (or even rebuilt). As the interface is attached invisibly, the new implementation isn't dirtied by having to maintain alternate interfaces (so long as the old interface can be routed through to the new interface).

News

Dedicated buildsystem

22nd July 2004

Uses the buildsystem to build. Release builds now work correctly (after fixing several threading bugs), and an installer is generated.

The web page is underway!

19th April 2004

Start of web page.

Current screenshots

 

xz texture coordinate mapper


Advanced render styles


Meshes are sorted by different methods


Wireframe rendering


Triangles can be selected


Selected triangles can be deformed


Another wireframe shot


Windows can have multiple views


Meshes can be refined