diff --git a/README.md b/README.md index d1210dba..a85bfd2c 100644 --- a/README.md +++ b/README.md @@ -64,7 +64,7 @@ Uses [assimp](https://github.com/assimp/assimp) to load and a mesh from a common ### Mesh instancing -Renders hundreds of meshes using instances with uniforms for e.g. coloring each mesh separately. +Shows the use of instancing for rendering the same mesh with differing uniforms with one single draw command. This saves performance if the same mesh has to be rendered multiple times. ### Push constants @@ -86,6 +86,13 @@ Demonstrates basic usage of fullscreen shader effects. The scene is rendered off Implements a bloom effect to simulate glowing parts of a 3D mesh. A two pass gaussian blur (horizontal and then vertical) is used to generate a blurred low res version of the scene only containing the glowing parts of th the 3D mesh. This then gets blended onto the scene to add the blur effect. +### Deferred shading + + +Demonstrates the use of multiple render targets to fill a G-Buffer for deferred shading. + +Deferred shading collects all values (color, normal, position) into different render targets in one pass thanks to multiple render targets, and then does all shading and lighting calculations based on these in scree space, thus allowing for much more light sources than traditional forward renderers. + ### Omnidirectional shadow mapping diff --git a/screenshots/deferred_shading.png b/screenshots/deferred_shading.png new file mode 100644 index 00000000..760558b2 Binary files /dev/null and b/screenshots/deferred_shading.png differ