Dark Terrain
Free LOD terrain plugin coming soon for DarkGDK and DBPro.
Commands:
void dtStart( );
void dtStop( );
bool dtInitTerrain( int ID, int heightmapImageID, int split );
void dtAddLODLevel( int ID, int lodSplit, float distance );
void dtAddLODLevel( int ID, int lodSplit, float distance, float edgeFoldDistance );
bool dtBuildTerrain( int ID );
bool dtBuildTerrain( int ID, int imgTexture, int imgDetail, bool blend = true );
void dtUpdate( int camID );
void dtSetFrustumCullingOn( float nearView, float farView, float FOV, float aspectRatio );
void dtSetFrustumCullingOn( float nearView, float farView, float FOV );
void dtSaveTerrain( int ID, char* name );
bool dtLoadTerrain( int ID, char* name );
Features:
LOD - Level Of Detail. Multiple versions of each terrain can be created, terrain sections are then automatically switched so the higher detailed sections are only drawn when absolutely necessary. This is what makes Dark Terrain so fast but at the expense of higher memory usage.
Frustum Culling - Terrain sections are individually culled when they are not in screen, another optimisation which will speed up your game/app.
Edge Folding - Fold the edges of the terrain sections down to cover up the gaps which inevitably appear when sections with different levels of LOD are adjacent to each other.
Multiple Cameras - Update and draw terrains on a per-camera basis, allowing the correct LOD's to be drawn to multiple cameras in multiple positions.
Save/Load - Commands to save and load terrains, avoiding the terrain creation process.
Objects - Terrains are standard objects which can be manipulated with all the standard 3D commands, including scaling, blending, effects etc.
You can see screenshots in my
'Stunt Car Racer' WIP.