From e77dccb742c35060cab2644a3d51c5f2b1af1d07 Mon Sep 17 00:00:00 2001 From: karl Date: Tue, 22 Jun 2021 11:30:30 +0200 Subject: [PATCH] Update README with SPG stuff --- README.md | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index a5da6e5..96badb1 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Gedeng -Game engine snippets for the university course Game Engine Design (GED). +Game engine snippets for the university course Game Engine Design (GED) with rendering functionality for Shader Programming (SPG). ## Building Run `scons` in the root directory. This will generate two things: @@ -8,6 +8,17 @@ Run `scons` in the root directory. This will generate two things: 1. the shared library in `lib/` 2. test binaries in `test/bin/` which use the library created in step 1 +### Full Demo Binary +Among the generated test binaries is the `full-demo.out` which tests all SPG-related functionality: + +- 3D Texture: a volume is rendered using the Marching Cubes technique. Moving up and down offsets it vertically. +- Bump Mapping: the ground texture is seemingly 3-dimensional thanks to bump mapping. 5/6 and 7/8 can be used to set the steps and refinement steps respectively. 9/0 sets the depth. +- GPU Particle System: the fireworks can be positioned by clicking the ground. 1/2 changes the update rate interactively. +- Soft Shadows: Variance Shadow Mapping smoothes out the shadows and prevents issues such as shadow acne. +- Tessellation: demonstrated by the little quad with terrain on it. 3/4 sets the tessellation factor. + +General input: WASD and mouse for movement, X to enable wireframe rendering. + ## Developing The `scons` command also generates a `compile_commands.json` which can be used by the VSCodium extension `clangd` for autocompletion, debugging, etc. @@ -16,4 +27,6 @@ Build and run scripts for VSCodium are provided as well. ## Credits Catch2 for unit tests: https://github.com/catchorg/Catch2 -Inspired by TheCherno's Hazel Engine series: https://github.com/TheCherno/Hazel \ No newline at end of file +Base structure inspired by TheCherno's Hazel Engine series: https://github.com/TheCherno/Hazel + +Some shader-related code adapted from LearnOpenGL: https://learnopengl.com/