Currently in development
Experimental beta
Firefly is a cross-platform game engine built with C++ using GLFW.
- Setup C++ project
- Create custom
bin/path for intermediate files - Create dynamic linking with GLFW library
- Integrate static GLEW library for future support for GLFW
- Add
.gitignoreto remove OS-specific binaries
- Add
window.hclass definitions - Add
window.cppimplementation - Add
firefly::graphics::Windowtest inmain.cpp - Add key press and mouse press events
- Add dynamic mouse and key location fetching
- Link key, mouse, and cursor position callbacks to GLFW superwindow
- Add debugging mechanism to detect OpenGL errors
- Create unit testing for
firefly::graphics::Window
- Init
glewinsideheader.cppto allow future library utils
- Create
vec2,vec3andvec4objects with basic operations - Create
math.hheader for math library - Develop
mat4.hfor 4x4 matrices and define common operations - Add union data management to extract matrix column easily
- Add common math functions in
math_func.h - Add unit testing for math library
- Add epsilon floating point comparison for equality or inequality operations
- Add
shader.hclass definition and implementation - Create basic test frags and verts for gradient
- Test visual matrix rotation and transformation
- Create unit testing environment for
firefly::graphics::Shader
- Create
buffer.h,arraybuffer.handvertexarray.hfor rendering engine - Test with gradient implementation
- Create
Renderable.hsuperclass for future renderable type prototype - Create simple 2D renderer class
- Develop faster, batch renderer in
BatchRenderer2D - Benchmark
BatchRenderer2DandSimple2DRendererwith 57000 untextured sprites
- Create timer class to determine FPS
- Create base class
layer.h - Create tile layer
tilelayer.hand test inmain.cpp