diff --git a/demos/CubeMapping/README.md b/demos/CubeMapping/README.md new file mode 100644 index 0000000000000000000000000000000000000000..fff34fc9a93cf0f0979d99067ac489edcd014a78 --- /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 0000000000000000000000000000000000000000..304a366baa8b3e1f880f84678c9d1987ccba7a75 --- /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 0000000000000000000000000000000000000000..7069282beaecb31b0d0f6004c8cce3b394c9a080 --- /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 0000000000000000000000000000000000000000..a05e4f9c056ee57f81b8b9f87c55112eb1482ab3 --- /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 0000000000000000000000000000000000000000..3013478f47a42eaa59ae1148ef0aad91e930bd46 --- /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 0000000000000000000000000000000000000000..2fbc52236438665126e70f6004b676be342ebede --- /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 0000000000000000000000000000000000000000..969b0008939747f8e61403c561588033564d5aee --- /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 0000000000000000000000000000000000000000..32aa50d06a1880cfc2cd9637b08deb0096d7a7ad --- /dev/null +++ b/screenshots/SSAO.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:346b195d4868e9c39e15c28282dad21c8f4de4b836ef4be41567a9dffac70040 +size 359407