Skip to content

MickAlmighty/SparkRenderer

Repository files navigation

SparkRenderer

An attempt to develop game engine using OpenGL 4.5

Work done so far:

  • Scene serialization using compile time reflection from RTTR library.
  • Reversed Z Depth (to increase depth buffer accuracy), ability to create infinite zFar projection.
  • Encoded Normals stored in RG16F in G-Buffer.
  • Small G-Buffer (104 bits per pixel).
    • Color R8G8B8A8 (A8 unused but needed to bind as an image to compute shader).
    • Normals R16G16.
    • Roughness and metalness R8G8.
    • Depth texture 24b.
  • PBR.
  • IBL.
  • Light Probes (work in progress).
  • Parallax occlusion mapping.
  • Tile-based light culling using compute shader.
  • Tile-based deferred lighting using compute shader.
  • Skyboxes.
  • Bloom (in the Call of Duty: Advanced Warfare way).
  • Camera movement Motion Blur.
  • Tone Mapping (ACES filmic curve) with Eye Adaptation.
  • FXAA.
  • SSAO.
  • Ability to load compressed textures in BCn compressed formats. Textures are compressed offline before running the engine.
  • SSBOs to transfer and hold data.

Thirdparty:

  • glm
  • gli
  • GLFW
  • glad
  • assimp
  • json
  • spdlog
  • stb_image

Compilation: Compile by using CMake.

About

Attempt to develop game engine using OpenGL API

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published