yeongasm / grvt-engine

C++ OpenGL 3D Engine.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Gravity Render Engine v2.0

This Project is currently on hold!

Gravity is a hobby render engine that is being developed with the idea of learning graphics programming and engine development written entirely in C++ ... and a little bit of C. The engine is currently in heavy development and architecture will change over time.

Gravity's development philosophy revolves around modularity and every feature written into the engine has been given ample amounts of consideration and thinking before finalising the API's design and structure. You will also note that Gravity tries to avoid C++'s std library whenever possible if you're looking inside of it's codebase. This was done simply to maximise learning experience as I try to recreate important basic data structures (Array, String and etc ...) and fine tune them to be as performant as the standard's.

The current end-game goal for Gravity is to implement Physically Based Rendering (PBR) into Gravity's renderer.


Note, development is being heavily updated with master getting updates from time to time.


Specification

Platform Windows 10 (x64)
Graphics API OpenGL 4.5

How to build?

No external build process tools were used for this project. Hence simply follow the following steps:

  1. Clone th project.
   git clone https://github.com/yeongasm/grvt-engine.git
  1. Open Visual Studio.
  2. In Visual Studio, File -> New -> Project From Existing Code ...

Roadmap

The following are features that are planned to be released into the engine:

Phase 1:

  • Add in remaining basic graphic features; framebuffers & cubemaps.
  • Have a wrapper class around Window's threading API.
  • Make the renderer multi-threaded.
  • Implement PBR.
  • Save project to JSON and able to load project JSON into Gravity.
  • Rewrite the String class.

Phase 2:

  • Coming soon ...

Screenshot(s)


img

img

img


External Dependencies

About

C++ OpenGL 3D Engine.


Languages

Language:C++ 75.1%Language:C 22.4%Language:Mathematica 1.3%Language:Objective-C 1.0%Language:GLSL 0.1%Language:CMake 0.0%