diff --git a/README.md b/README.md index 136b7e87..99bb4d97 100644 --- a/README.md +++ b/README.md @@ -143,13 +143,17 @@ Shows how to use occlusion queries to determine object visibility depending on t ## [Offscreen rendering](offscreen/) -Uses a separate framebuffer (that is not part of the swap chain) and a texture target for offscreen rendering. The texture is then used as a mirror. +Shows how to do basic offscreen rendering. Uses a separate framebuffer with color and depth attachments (that is not part of the swap chain) to render the mirrored scene off screen in the first pass. + +The second pass then samples from the color attachment of that framebuffer for rendering a mirror surface.

## [Radial blur](radialblur/) -Demonstrates basic usage of fullscreen shader effects. The scene is rendered offscreen first, gets blitted to a texture target and for the final draw this texture is blended on top of the 3D scene with a radial blur shader applied. +Demonstrates basic usage of fullscreen shader effects. The scene is rendered into a low resolution offscreen framebuffer first. + +After rendering the object the second pass then blends a full screen quad on top of the scene, sampling from the color attachment of the offscreen framebuffer ti implement a radial blur.

## [Bloom](bloom/) @@ -178,8 +182,9 @@ To avoid shadow artifacts the dynamic depth bias state ([vkCmdSetDepthBias](http ## [Omnidirectional shadow mapping](shadowmappingomni/) -Uses a dynamic 32 bit floating point cube map for a point light source that casts shadows in all directions (unlike projective shadow mapping). -The cube map faces contain the distances from the light sources, which are then used in the scene rendering pass to determine if the fragment is shadowed or not. +Shows how to implement dynamic shadows from a point light source. Uses a dynamic 32 bit floating point cube map for a point light source that casts shadows in all directions (unlike projective shadow mapping). + +The cube map faces contain the distances from the light sources, which are then used in the final scene rendering pass to determine if the fragment is shadowed or not.

## [Spherical environment mapping](sphericalenvmapping/) diff --git a/screenshots/basic_offscreen.jpg b/screenshots/basic_offscreen.jpg index e15e64e3..5cd13211 100644 Binary files a/screenshots/basic_offscreen.jpg and b/screenshots/basic_offscreen.jpg differ diff --git a/screenshots/radial_blur.png b/screenshots/radial_blur.png index 936d2ce7..8b054db1 100644 Binary files a/screenshots/radial_blur.png and b/screenshots/radial_blur.png differ diff --git a/screenshots/shadow_omnidirectional.png b/screenshots/shadow_omnidirectional.png index 520104b3..286b40f8 100644 Binary files a/screenshots/shadow_omnidirectional.png and b/screenshots/shadow_omnidirectional.png differ