And now they're working together, as the title says, on a Procedural Editable Terrain - aiming to create a dynamic world, which is both realistic, and completely changeable by the user.
In short, the terrain is based on a density function and an implementation of the Marching Cubes Algorithm. The storage of variable densities used alongside the MCA, allows for smooth, good-quality editable terrain.
The project is being developed in C++, with OpenGL for graphics, and various supporting libraries
What's been done so far (more of this will be elaborated in later posts):
- Generation of density-based terrain from a combination of perlin noise functions
- Discrete storage and saving of the density based terrain in so-called 'voxels'
- Meaningful material assignment to voxels (such as dirt, snow, rock etc.)
- Triplanar texture mapping and blending between any two given textures
- Digging of terrain
- Basic 'tool' implementation, including several debugging tools
- De-coupling of the data and visuals
- Variable distance drawing based on data
- On-the-fly generation and storage of necessary data
- Basic biomes, supporting different terrain features and blending between said features
- Occlusion culling
This is a short list of the features that have been currently implemented. Some of these will be expanded upon in later posts - hopefully with screenshots of the things at work