Skip to content

About

Small game engine project

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

74 Commits

Folders and files

Repository files navigation

Game Engine

WORK IN PROGRESS.

A small game engine written in C++20 using OpenGL.

The goal of this project is to learn and explore the architecture and implementation of a game engine, including rendering, window management, and engine systems.

Features

  • C++20 engine architecture
  • OpenGL 4.6 rendering
  • GLFW window management
  • GLAD OpenGL loader
  • CMake build system

Requirements

  • C++20 compatible compiler
  • CMake 3.20+
  • OpenGL 4.6 capable GPU

Installation of GLFW dependencies

sudo apt install libwayland-dev libxkbcommon-dev xorg-dev

Building

Clone the repository:

git clone <repository-url>
cd game_engine

Sync submodules:

git submodule init
git submodule update

Configure and build:

mkdir build
cd build
cmake ..
cmake --build .

Run:

./GameEngine

Project Structure

engine/ 
├── include/
│   └── core/
│       └── window.h
├── src/
│   └── core/
│       └── window.cc

sandbox/
└── main.cc

external/
├── glad/
│   └── ...
├── glfw/
│   └── ...

Current Progress

✅ Done 🔄 In progress ⬜ Planned

  • ✅ GLFW integration
  • ✅ GLAD integration
  • ✅ OpenGL context management
  • ✅ Window system
  • ✅ Time system
  • ✅ Buffer abstraction (VAO/VBO/EBO)
  • ✅ Vertex layout system
  • ✅ Shader system
  • ✅ Mesh system
  • ✅ OBJ parsing
  • ✅ OBJ → Mesh conversion
  • 🔄 Renderer implementation
  • 🔄 Camera system
  • 🔄 Transform system
  • 🔄 Application/game loop
  • ⬜ Texture system
  • ⬜ Material system
  • ⬜ Input system
  • ⬜ Entity/Component system
  • ⬜ Scene management
  • ⬜ Animation system

About

Small game engine project

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages