No name C++ Game Engine

I wrote this engine for one of my graphics class. It uses OpenGL for the graphics, ImGUI for the UI and flecs for most of the internal mechanisms.

flecs was not a required part of the course but I was very curious about the library and since the teacher knew it he supported me in using it.

It supports basic stuff like actors, 2D and 3D physics, events, some IO (although not very flexible) and custom shaders.

The project was fully architectured by me but Gabriel Hernandez helped me integrate the 2D physics as part of a team assignment.

Features:

Render 2D Images and 3D Models

Movable Camera

Per Object Shaders

On this video:

  • Flat color shaders (corner cubes)

  • Light reactive texture shader (island)

    • Note: Island texture is also debug texture to show normals.

  • Animated shader (water)

Multiple Light Sources

On this image:

  • Debug light controls for up to 8 distinct light sources.

  • Lights can be disabled by making the light color black or in code (code not shown)

  • Position, falloff distance, falloff exponent, and shininess (specular)

  • Control how much each light source contributes to ambient light.

2D and 3D Physics

Debug Features

Draw meshes as wireframes

Draw physics object bounds

Previous
Previous

One Light Arrow

Next
Next

Saya Burst