GithubHelp home page GithubHelp logo

mansen420 / opengl-renderer Goto Github PK

View Code? Open in Web Editor NEW
8.0 2.0 0.0 40.3 MB

A WIP simple graphics engine

License: GNU General Public License v3.0

C 11.79% GLSL 0.14% C++ 88.00% CMake 0.07% GDB 0.01%
graphics-engine opengl

opengl-renderer's Introduction

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

Heavily W.I.P
Check the dev diary for updates on progress!

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.
Whether or not it will compile for macOS, I do not know.

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.

opengl-renderer's People

Contributors

mansen420 avatar

Stargazers

Bawar Khalid avatar Muhammad S. Ibrahim avatar Aryas Shwan avatar banna avatar Bilal El-aney avatar  avatar  avatar  avatar

Watchers

 avatar banna avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.