Skip to content

Mimema (greek for "to imitate") is a "from scratch" C++ 3D Game Engine using OpenGL

Notifications You must be signed in to change notification settings

spotenza2016/Mimema

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mimema

Mimema (greek for "to imitate") is a "from scratch" C++ 3D Game Engine using OpenGL. It's an expansion on my old 2D Game Engine (https://github.com/spotenza2016/CPP-Game-Engine) with the intention of developing it into a complete and functional 3D Game Engine from scratch for practice/as a personal challenge. I intend to use this to create a pretty simple 3D puzzle exploration game for fun :D.

Current Dependencies (end goal is to only use OpenGL wrappers)

  • GLFW
  • GLEW
  • GLM
  • STB

Current Functionality

  • 3D Model and Texturing Support (Olive Otter model from Shipwrecked64 for Testing)

Mimema

  • Phong Shading with GLSL Shaders
  • Multicolored Point Lights (with attenuation) and Direction Lights

Lighting

  • Camera Movement with HMI Class
  • Fixed Timestep Engine Loop with Linear Interpolation between frames based on Accumulator
  • Custom Level File System (.MIMEMA_LEVEL files)
  • Octree Collision Detection and Gravity Physics

Basic Collisions

  • Separating Axis Theorem for convex colliders

Collision Boxes

Future Goals (check out the Issues tab for full list :D)

  • Shadows and Reflections
  • Scripting Support
  • Model Animation
  • Audio using OpenAL
  • Setup CI with smell checks and style requirements
  • Netcode and Proxy Chat (long term goal)

About

Mimema (greek for "to imitate") is a "from scratch" C++ 3D Game Engine using OpenGL

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published