From 8b91ec2885004434f817e98e8a554245b54edb93 Mon Sep 17 00:00:00 2001 From: Tobias Frisch <tfrisch@uni-koblenz.de> Date: Fri, 21 Oct 2022 17:35:34 +0200 Subject: [PATCH] Add demo descriptions via README files Signed-off-by: Tobias Frisch <tfrisch@uni-koblenz.de> --- demos/CubeMapping/README.md | 13 +++++++++++++ demos/InstancingDemo/README.md | 10 ++++++++++ demos/NormalMapping/README.md | 13 +++++++++++++ demos/SSAO/README.md | 14 ++++++++++++++ screenshots/CubeMapping.png | 3 +++ screenshots/InstancingDemo.png | 3 +++ screenshots/NormalMapping.png | 3 +++ screenshots/SSAO.png | 3 +++ 8 files changed, 62 insertions(+) create mode 100644 demos/CubeMapping/README.md create mode 100644 demos/InstancingDemo/README.md create mode 100644 demos/NormalMapping/README.md create mode 100644 demos/SSAO/README.md create mode 100644 screenshots/CubeMapping.png create mode 100644 screenshots/InstancingDemo.png create mode 100644 screenshots/NormalMapping.png create mode 100644 screenshots/SSAO.png diff --git a/demos/CubeMapping/README.md b/demos/CubeMapping/README.md new file mode 100644 index 0000000..fff34fc --- /dev/null +++ b/demos/CubeMapping/README.md @@ -0,0 +1,13 @@ +# CubeMapping +A demo project to show how to implement cube maps with the VkCV framework + + + +## Details + +Cube maps can be used to create the illusion of a big environment, render a highly detailed sky +around the camera or to create very efficient reflections on smooth surfaces. + +The cube map texture will contain six different images which are stored on different layers of the +image resource in Vulkan. The shaders can later simply access the pixel data via a 3D directional +vector. \ No newline at end of file diff --git a/demos/InstancingDemo/README.md b/demos/InstancingDemo/README.md new file mode 100644 index 0000000..304a366 --- /dev/null +++ b/demos/InstancingDemo/README.md @@ -0,0 +1,10 @@ +# InstancingDemo +A demo project to show how to render meshes using instancing with the VkCV framework + + + +## Details + +Recording many draw calls can be expensive for your GPU because each draw call has to manage a lot +of data to work properly. But in cases you want to render the same vertex data multiple times with +only slight variations, you can use instancing to save up resource cost. \ No newline at end of file diff --git a/demos/NormalMapping/README.md b/demos/NormalMapping/README.md new file mode 100644 index 0000000..7069282 --- /dev/null +++ b/demos/NormalMapping/README.md @@ -0,0 +1,13 @@ +# NormalMapping +A demo project to show how to use normal maps with the VkCV framework + + + +## Details + +Ideally we want to render highly detailed meshes with a GPU. But that can be very expensive in terms +of processing power. It is much more efficient to load such details like normal vectors from a +texture instead of using only interpolation between vertices to calculate them. + +So we get a lot of visual details without many vertices actually processed. It is a great tradeoff +between processing power and memory usage. \ No newline at end of file diff --git a/demos/SSAO/README.md b/demos/SSAO/README.md new file mode 100644 index 0000000..a05e4f9 --- /dev/null +++ b/demos/SSAO/README.md @@ -0,0 +1,14 @@ +# SSAO +A demo project to show how to use screen-space ambient occlusion with the VkCV framework + + + +## Details + +Using rasterization for rendering has one huge drawback. We usually don't have proper indirect +lighting. That also means that we don't get any ambient occlusion or indirect shadows for the +rendered scene. + +This project shows off a technique which utilizes deferred shading to calculate the amount of +occlusion by other geometry for each pixel. The technique will only use information from the +screen-space. So keep in mind it is limited in accuracy. \ No newline at end of file diff --git a/screenshots/CubeMapping.png b/screenshots/CubeMapping.png new file mode 100644 index 0000000..3013478 --- /dev/null +++ b/screenshots/CubeMapping.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a68b5ce3ff65ee4d1ef24885a95bbe359bc33e944db0ab99219bf4e174b1c750 +size 1288458 diff --git a/screenshots/InstancingDemo.png b/screenshots/InstancingDemo.png new file mode 100644 index 0000000..2fbc522 --- /dev/null +++ b/screenshots/InstancingDemo.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b72f6e5bd8b35af08e15453be84c3e8df7c4b8a80b62f6f55541a095741745f1 +size 202572 diff --git a/screenshots/NormalMapping.png b/screenshots/NormalMapping.png new file mode 100644 index 0000000..969b000 --- /dev/null +++ b/screenshots/NormalMapping.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:25b95d7d195ef64eb68155defcd4e7c14fcdf9a34050d9fddfdfcd2eb37e73bf +size 156313 diff --git a/screenshots/SSAO.png b/screenshots/SSAO.png new file mode 100644 index 0000000..32aa50d --- /dev/null +++ b/screenshots/SSAO.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:346b195d4868e9c39e15c28282dad21c8f4de4b836ef4be41567a9dffac70040 +size 359407 -- GitLab