3D graphics procedural generation library based on Urho3D.
Download Urho3D library, install it and make a Urho3D project.
cd build
cmake ..
cd build
make
cd bin
./ProcGen
ProcGen is the basic module used by Voxels, Simulation and Maze modules. ProcGen module depends on libtcod for noise, heightmap and BSP generation.
Basic component for creation and manipulation of procedural geometry.
Urho3D uses Technique to specify render passes and shaders used when rendering materials. Custom techniques are in CoreData/Techniques/ and are prefixed with Tec_.
Custom shaders are in CoreData/Shaders/GLSL and are prefixed with Sha_.
When you write shaders, you can #include
Transform2D.glslto transform 2D points in the shader,Shapes2D.glslto draw basic shapes in the shader; seePPE_Shapes.glslfor the shape drawing examples,
Custom post processing effects are in CoreData/Shaders/GLSL and are prefixed with PPE_.
Use TextureCreator::CreateEffectTexture(int w, int h, const String& shader, RenderSurfaceUpdateMode mode) with "PPE_<effect_name>" as shader to create a texture based on a post process effect.
The easiest way to display a texture is to draw it in the UI as an Urho3D Sprite.
You can also display a texture by creating material with MaterialCreator::Create(const String& technique, const HashMap<TextureUnit, Texture*>& textureData) that uses a technique that displays a diffuse map. Use ModelCreator::CreateStockModel(const String& modelName, Material* material) to create a model using .mdl files from Data/Models.