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.glsl
to transform 2D points in the shader,Shapes2D.glsl
to draw basic shapes in the shader; seePPE_Shapes.glsl
for 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
.