Skip to content
This repository has been archived by the owner on Mar 21, 2024. It is now read-only.

Latest commit

 

History

History
45 lines (34 loc) · 1.8 KB

README.md

File metadata and controls

45 lines (34 loc) · 1.8 KB

Klocki Voxel Engine

Engine designed around lock-free, low overhead multithreading.
Supports translucent blocks, ambient occlusion, infinite world in all axis, collision system, mesh optimization and lazy chunk updating.
GPU data format optimized to 4 bytes per triangle (inspired by stb_voxel_render.h).
Short showcase video: https://youtu.be/km2zESxC4ls

Code is a little bit messy as it is still in development and most of the codebase is in experimentation phase.
You can see more complaining in todo.txt

The code should be easy to build. Launch a build script from a command line with MSVC compiler configured.

  • debug_build.bat compiles the codebase into platform and application logic layers. Application layer is compiled to .dll and can be reloaded dynamically.
  • release_build.bat compiles the whole codebase into single .exe file.

Controls:
WASD - movement
Space - jump

Left mouse - destroy block
Right mouse - place block
Mouse scroll - change block in hand
First additional mouse button - destroy/place blocks rapidly
Second additional mouse button - unlock mouse from the window

F1 - reset player speed
F2 - increase player speed

F3 - debug info
F3 + 1 - player speed info
F3 + 2 - show collision visualization
F3 + 3 - show collision bounding box
F3 + 4 - show chunk boundaries
F3 + 5 - highlight translucent block sorting

F4 - render wireframe
F5 - fix camera position (useful for testing frustum culling)
F8 - reset player position
F9 - toggle player forward movement
F11 - toggle player flying

F6 - move test entity in negative direction
F7 - move test entity in positive direction
F10 - change axis along which test entity moves