Thanks to visit codestin.com
Credit goes to github.com

Skip to content

JackJ30/OpenGL-Renderer

 
 

Repository files navigation

MP-APS (Goomba's Modern Version)

Dependencies

The project files are generated using Premake and are intended to be built with makefiles

Generation Dependencies

Run the .bat (windows) or sh (linux) file to generate makefiles. Use the "make" command to build.

Legacy Details

A modern OpenGL 3D rendering engine. The idea behind it is to be very simple to use: no weird abstraction layers, janky variable names, or massive 2000+ line classes. It's primarily a playground for me to implement (or at least try :P) different graphics programming techniques. Progress has been slow since I'm juggling full-time Univesity studies, work, and trying to be physically active. Eventually, I want to create a "scene-based" engine, where you can load up some model(s), add some fancy lights, and virtually explore it.

MPAPS

C/C++ CI CodeQL Open Source Love MIT Licence Codacy Badge

forthebadge forthebadge

Compiling

Ubuntu (and similar)

bash install-deps-ubuntu.sh
make
cd build/
./MP-APS

Screenshots

Anti-aliased wireframe rendering: Wireframe rendering

Physically Based Rendering: PBR PBR

Image Based Lighting (IBL): IBL

Bloom: Bloom

(OLD VERSION) CPU-based terrain generation using Perlin noise: Terrain

Features

  • Assimp model loading.
  • Post processing (HDR, vibrance, bloom).
  • Parallel AABB frustum culling.
  • XML engine configuration.
  • Support for #include directives in shaders.
  • Shader-based wireframe overlay.
  • Physically-based rendering.

WIP

Roadmap

Pipe-dreaming

  • CDLOD Terrain.
  • Planetary rendering.
  • Global illumination (Cascaded Light Propagation Volumes).

Third Party Code

Research Used

About

Modern OpenGL renderer written in C++17

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C++ 73.0%
  • GLSL 22.6%
  • Makefile 1.7%
  • C 1.5%
  • Lua 1.1%
  • Shell 0.1%