Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 

Firefly Game Engine

Currently in development
Experimental beta

Firefly is a cross-platform game engine built with C++ using GLFW.

Development Roadmap

Setup

  • 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

Window

  • Add window.h class definitions
  • Add window.cpp implementation
  • Add firefly::graphics::Window test in main.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

GLEW

  • Init glew inside header.cpp to allow future library utils

Math

  • Create vec2, vec3 and vec4 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

Shaders

  • 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

Buffers

  • Create buffer.h, arraybuffer.h and vertexarray.h for rendering engine
  • Test with gradient implementation

Renderers

  • Create Renderable.h superclass for future renderable type prototype
  • Create simple 2D renderer class
  • Develop faster, batch renderer in BatchRenderer2D
  • Benchmark BatchRenderer2D and Simple2DRenderer with 57000 untextured sprites

Benchmarking

  • Create timer class to determine FPS

Layers

  • Create base class layer.h
  • Create tile layer tilelayer.h and test in main.cpp

About

Firefly is a cross-platform game engine built in C++ and GLFW.

Resources

Releases

No releases published

Packages

No packages published