← Work
VenRadworking title
My graphics engine, written from scratch in C++ and OpenGL: a renderer, an entity system and worlds loaded by zones.
- Status:
- early stage
- Built with:
- C++, OpenGL, GLSL
- Source:
- private, happy to walk you through it
The idea
I want to understand how an engine works on the inside, and the best way I know is to build one. I write every piece myself: from how a triangle reaches the screen to how everything that moves in a world is organised.
In the long run, this engine is the base for a zoned fantasy world that simulates itself. That’s the vision, not what exists today.
The pieces
RendererLights, materials, a skybox and thousands of instanced objects on screen.See how it works →
Cave generatorRooms that grow on their own, connect to each other and end up as 3D walls.See how it works →
Zoned worldEach zone is generated once and isn’t rebuilt when you come back.in progress
Entity systemWhat keeps track of everything that lives and moves.in progress
Where I am
Done
- Directional, point and spot lights
- Static and dynamic instancing
- 3D model loading
- Smoothed cave walls
- A controllable player on top of the entity system
Now
- Better lighting
- Shadows
- Normal maps
Next
- Cave floor and ceiling that follow the walls
- Frustum culling
- Procedural sky
- Saving and loading