Simple light-weight 3D capable game engine.
When running on a headless server it must be run using a virtual frame buffer so that GLFW can initialise correctly. This can be achieved using Xvfb.
Use of a program such as 'pngcheck -c [file]' is advised to ensure that all image assets pass CRC checks.
- GLFW3
- GLM
- GLAD (INCLUDED)
- LODEPNG (INCLUDED)
- file loading & saving
- configuration loading
- thread safe debug logging
- timer and fps cap handling
- basic window creation & management
- user input capture : mouse & keyboard
- shared threaded resource handler
- resource loading : sprites
- resource loading : shaders
- resource loading : meshes
- resource loading : samples
- resource creation : sprites
- resource creation : render textures
- basic sprite rendering
- gui interaction
- text rendering
- basic mesh rendering
- mesh texture application
- mesh dynamic lighting
- non-static light count handling
- basic component-entity system
- base components : transform
- base components : camera
- base components : mesh renderer
- camera compositing
- post-processing buffer switch
- post-processing : light-key
- post-processing : blur
- post-processing : monochrome
- post-processing : bloom
- post-processing : colour-grading
- basic cube collision detection
- basic cube collision resolution
- complex convex shape collision detection
- complex convex shape collision resolution
- sample playback
- auditory world-space simulation
- animation playback
> rotation is broken - replace vector rotation with quaternions > mesh renderer implementation is unoptimised - create renderqueue with automatic ordering > camera renders straight to default framebuffer - implement target framebuffers and basic compositing