Skip to content

mansen420/OpenGL-Renderer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

C++ OpenGL Engine

project_vid.mp4

Head of Saint John the Baptist

Screenshot from 2024-03-12 01-00-41

Sleeping Hermaphroditus

State of the Project

This engine is not being devloped anymore.
Instead, I decided to develop an engine with Vulkan instead of OpenGL, track progress here!

Features

  • Runtime shader editing
  • Offscreen rendering
  • Depth buffer viewing
  • Resizable rendering dimension, with configurable render to view port transform
  • Basic camera with input handling and time synchronization
  • Simple object operations (scaling, displacement)
  • Multithreaded .obj file loading
  • GUI that exposes the entire engine state (ongoing)
  • Shadow mapping
  • Shader preprocessor for #include functionality
  • A lot more

screenshot-from-2024-03-01-00-

Dependencies

This project uses cmake as its build system, so you should have it installed.
Additionally, you should have all the dependencies required for GLFW.
Also, your system should support OpenGL 4.5.

Building this project

Provided that you have cmake installed, building this project is the following process :

First, clone the repository

git --recursive clone https://github.com/mansen420/some-OPGL-stuff

Then, generate the build files with cmake

cd path/to/repo
cmake -S . -B build

This will create a build directory inside the repository root directory.
If you are on Linux or other systems, this will contain a Makefile for the project. On Windows, this will be Visual Studio project files. If you do not want to compile and build your project manually, use cmake to do it

cmake --build path/to/build

Typically you would build the project inside your build directory.
This will compile and link with the GLFW library, and generate an executable called my_renderer inside src within the build directory.

This project is heavily a work in progress and so far is only maintained for Linux.
GCC compiles the project with no issue. The Visual Studio compiler is known to throw many errors. We have not tested with MinGW, but you can try compiling with it if you are on Windows. \

In any case, this project is still in very early development, and we will consider extending support for more systems once the project reaches a mature state.

Languages