Engine type of thing that is built while learning OpenGL.
Features:
Normal Map Disabled | Normal Map Enabled |
---|---|
Soft PCF Shadow Mapping + HDR Tonemapping Algorithms (ACES Filmic, Exposure, Reinhard, Uncharted 2)
Project Roadmap (in order)
HDR/Bloom- Cascading Shadow Maps (for better shadows)
- Deferred Renderer (replace with Tiled Forward or Clustered Forward in the future)
- Organizing code (very important since the code is shit)
- PBR implementation
- Parallax Mapping
- Support for Geometry Shaders
- Instancing
- Batch Rendering
- Support for Compute Shaders
- Atmospheric Scattering
- Volumetric Clouds
- Terrain Rendering / Tesellation Shaders
- Skeletal Animation
- Shadows (
directional light) Normal Mapping
made possible thanks to learnopengl.com.
To create a new Application, type:
sh generate_app.sh -p YOUR_APP_LOCATION -n YOUR_APP_NAME
Note that YOUR_APP_LOCATION
must be in one of the directories that CMake knows, such as
apps/
src/
include/
Example:
sh generate_app.sh -p apps/learnopengl -n DepthTest
This will create 2 files: DepthTest.h
and DepthTest.cpp
which is a boilerplate code for a new application.
Also the script will generate the necessary build files both in Release
and Debug
.
Once you have made your app, you can go to src/main.cpp
and instantiate your app.
Note:
res/models
folder is not included in this repo since the files are too large. Download them using this link
Example Apps:
Mandelbrot Set: