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
.gitignore
to remove OS-specific binaries
- Add
window.h
class definitions - Add
window.cpp
implementation - Add
firefly::graphics::Window
test 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
glew
insideheader.cpp
to allow future library utils
- Create
vec2
,vec3
andvec4
objects with basic operations - Create
math.h
header for math library - Develop
mat4.h
for 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.h
class 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.h
andvertexarray.h
for rendering engine - Test with gradient implementation
- Create
Renderable.h
superclass for future renderable type prototype - Create simple 2D renderer class
- Develop faster, batch renderer in
BatchRenderer2D
- Benchmark
BatchRenderer2D
andSimple2DRenderer
with 57000 untextured sprites
- Create timer class to determine FPS
- Create base class
layer.h
- Create tile layer
tilelayer.h
and test inmain.cpp