/acheron

A 3d game engine written in C99

Primary LanguageC

Acheron 3D engine

A 3d game engine written in C99. This is mainly a learning tool, but I hope to eventually get it to the point of being a working game!

Requirements

  • CMake
  • SDL2 (SDL2-devel or libSDL2-dev)
  • GLEW (glew-devel or libglew-dev)

Building

  • Make sure you have all the required libraries installed
  • Create a new folder for the binaries and object files
  • Change directory into build folder, and run cmake ../src to build the required Makefiles.
  • Run make to build and link the executable.

To do

  • Replace all old GL/GLU function calls with custom math functions
  • Update code to modern OpenGL
  • Implement model loading from files
  • Framebuffers/Cube Framebuffers
  • Rewrite objects and lighting to be more flexible
  • Multiple lights and scene lighting
  • Point and directional shadows
  • Better collision detection and physics routines
  • UI routines
  • Bone animations
  • Deferred rendering
  • Overhaul of error handling
  • Configuration files and/or settings
  • Post processing shaders
  • Add in custom image library for JPEG and PNG image support
  • HDR and tone mapping
  • Lua support
  • Add spotlight
  • Draw batching
  • Add support for Vulkan and multiple backends