diff --git a/README.md b/README.md
index edf424af..f263fbae 100644
--- a/README.md
+++ b/README.md
@@ -28,7 +28,7 @@ A comprehensive collection of open source C++ examples for [Vulkan®](https://ww
## Official Khronos Vulkan Samples
-Khronos recently made an official Vulkan Samples repository available to the public ([press release](https://www.khronos.org/blog/vulkan-releases-unified-samples-repository?utm_source=Khronos%20Blog&utm_medium=Twitter&utm_campaign=Vulkan%20Repository)).
+Khronos recently made an official Vulkan Samples repository available to the public ([press release](https://www.khronos.org/blog/vulkan-releases-unified-samples-repository?utm_source=Khronos%20Blog&utm_medium=Twitter&utm_campaign=Vulkan%20Repository)).
You can find this repository at https://github.com/KhronosGroup/Vulkan-Samples
@@ -39,7 +39,7 @@ This repository contains submodules for external dependencies, so when doing a f
```
git clone --recursive https://github.com/SaschaWillems/Vulkan.git
-```
+```
Existing repositories can be updated manually:
@@ -63,7 +63,7 @@ See [BUILD.md](BUILD.md) for details on how to build for the different platforms
## Shaders
-Vulkan consumes shaders in an intermediate representation called SPIR-V. This makes it possible to use different shader languages by compiling them to that bytecode format. The primary shader language used here is [GLSL](data/shaders) but thanks to an external contribution you'll also find [HLSL](data/hlsl) shader sources.
+Vulkan consumes shaders in an intermediate representation called SPIR-V. This makes it possible to use different shader languages by compiling them to that bytecode format. The primary shader language used here is [GLSL](data/shaders/glsl) but thanks to an external contribution you'll also find [HLSL](data/shaders/hlsl) shader sources.
## Examples
@@ -118,7 +118,7 @@ Uses input attachments to read framebuffer contents from a previous sub pass at
#### [13 - Sub passes](examples/subpasses/)
-Advanced example that uses sub passes and input attachments to write and read back data from framebuffer attachments (same location only) in single render pass. This is used to implement deferred render composition with added forward transparency in a single pass.
+Advanced example that uses sub passes and input attachments to write and read back data from framebuffer attachments (same location only) in single render pass. This is used to implement deferred render composition with added forward transparency in a single pass.
#### [14 - Offscreen rendering](examples/offscreen/)
@@ -144,7 +144,7 @@ Implements multisample anti-aliasing (MSAA) using a renderpass with multisampled
#### [03 - High dynamic range](examples/hdr/)
-Implements a high dynamic range rendering pipeline using 16/32 bit floating point precision for all internal formats, textures and calculations, including a bloom pass, manual exposure and tone mapping.
+Implements a high dynamic range rendering pipeline using 16/32 bit floating point precision for all internal formats, textures and calculations, including a bloom pass, manual exposure and tone mapping.
#### [04 - Shadow mapping](examples/shadowmapping/)
@@ -164,7 +164,7 @@ Generating a complete mip-chain at runtime instead of loading it from a file, by
#### [08 - Skeletal animation](examples/skeletalanimation/)
-Loads and renders an animated skinned 3D model. Skinning is done on the GPU by passing per-vertex bone weights and translation matrices.
+Loads and renders an animated skinned 3D model. Skinning is done on the GPU by passing per-vertex bone weights and translation matrices.
#### [09 - Capturing screenshots](examples/screenshot/)
@@ -278,7 +278,7 @@ Renders a terrain using tessellation shaders for height displacement (based on a
Uses curved PN-triangles ([paper](http://alex.vlachos.com/graphics/CurvedPNTriangles.pdf)) for adding details to a low-polygon model.
-### Headless
+### Headless
Examples that run one-time tasks and don't make use of visual output (no window system integration). These can be run in environments where no user interface is available ([blog entry](https://www.saschawillems.de/tutorials/vulkan/headless_examples)).
@@ -320,7 +320,7 @@ Implements multiple texture mapping methods to simulate depth based on texture i
#### [04 - Spherical environment mapping](examples/sphericalenvmapping/)
-Uses a spherical material capture texture array defining environment lighting and reflection information to fake complex lighting.
+Uses a spherical material capture texture array defining environment lighting and reflection information to fake complex lighting.
### Extensions
diff --git a/android/examples/_template/build.gradle b/android/examples/_template/build.gradle
index a28a1af1..ffe46fed 100644
--- a/android/examples/_template/build.gradle
+++ b/android/examples/_template/build.gradle
@@ -43,8 +43,8 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
diff --git a/android/examples/bloom/build.gradle b/android/examples/bloom/build.gradle
index 74c0e8d5..16830afa 100644
--- a/android/examples/bloom/build.gradle
+++ b/android/examples/bloom/build.gradle
@@ -43,14 +43,14 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
copy {
- from '../../../data/shaders/bloom'
- into 'assets/shaders/bloom'
+ from '../../../data/shaders/glsl/bloom'
+ into 'assets/shaders/glsl/bloom'
include '*.*'
}
diff --git a/android/examples/computecloth/build.gradle b/android/examples/computecloth/build.gradle
index f2892eb1..0ef53609 100644
--- a/android/examples/computecloth/build.gradle
+++ b/android/examples/computecloth/build.gradle
@@ -43,14 +43,14 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
copy {
- from '../../../data/shaders/computecloth'
- into 'assets/shaders/computecloth'
+ from '../../../data/shaders/glsl/computecloth'
+ into 'assets/shaders/glsl/computecloth'
include '*.*'
}
diff --git a/android/examples/computecullandlod/build.gradle b/android/examples/computecullandlod/build.gradle
index 573dc23e..25abc01e 100644
--- a/android/examples/computecullandlod/build.gradle
+++ b/android/examples/computecullandlod/build.gradle
@@ -43,14 +43,14 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
copy {
- from '../../../data/shaders/computecullandlod'
- into 'assets/shaders/computecullandlod'
+ from '../../../data/shaders/glsl/computecullandlod'
+ into 'assets/shaders/glsl/computecullandlod'
include '*.*'
}
diff --git a/android/examples/computeheadless/build.gradle b/android/examples/computeheadless/build.gradle
index e2c6d2e6..d184269a 100644
--- a/android/examples/computeheadless/build.gradle
+++ b/android/examples/computeheadless/build.gradle
@@ -43,14 +43,14 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
copy {
- from '../../../data/shaders/computeheadless'
- into 'assets/shaders/computeheadless'
+ from '../../../data/shaders/glsl/computeheadless'
+ into 'assets/shaders/glsl/computeheadless'
include '*.*'
}
diff --git a/android/examples/computenbody/build.gradle b/android/examples/computenbody/build.gradle
index 2e80f80f..2cf5b665 100644
--- a/android/examples/computenbody/build.gradle
+++ b/android/examples/computenbody/build.gradle
@@ -43,14 +43,14 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
copy {
- from '../../../data/shaders/computenbody'
- into 'assets/shaders/computenbody'
+ from '../../../data/shaders/glsl/computenbody'
+ into 'assets/shaders/glsl/computenbody'
include '*.*'
}
diff --git a/android/examples/computeparticles/build.gradle b/android/examples/computeparticles/build.gradle
index 862a0464..dacefcde 100644
--- a/android/examples/computeparticles/build.gradle
+++ b/android/examples/computeparticles/build.gradle
@@ -43,14 +43,14 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
copy {
- from '../../../data/shaders/computeparticles'
- into 'assets/shaders/computeparticles'
+ from '../../../data/shaders/glsl/computeparticles'
+ into 'assets/shaders/glsl/computeparticles'
include '*.*'
}
diff --git a/android/examples/computeraytracing/build.gradle b/android/examples/computeraytracing/build.gradle
index d096d913..7646825d 100644
--- a/android/examples/computeraytracing/build.gradle
+++ b/android/examples/computeraytracing/build.gradle
@@ -43,14 +43,14 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
copy {
- from '../../../data/shaders/computeraytracing'
- into 'assets/shaders/computeraytracing'
+ from '../../../data/shaders/glsl/computeraytracing'
+ into 'assets/shaders/glsl/computeraytracing'
include '*.*'
}
diff --git a/android/examples/computeshader/build.gradle b/android/examples/computeshader/build.gradle
index 3c25f59a..e89c3dcd 100644
--- a/android/examples/computeshader/build.gradle
+++ b/android/examples/computeshader/build.gradle
@@ -43,14 +43,14 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
copy {
- from '../../../data/shaders/computeshader'
- into 'assets/shaders/computeshader'
+ from '../../../data/shaders/glsl/computeshader'
+ into 'assets/shaders/glsl/computeshader'
include '*.*'
}
diff --git a/android/examples/conservativeraster/build.gradle b/android/examples/conservativeraster/build.gradle
index dc36fbce..e875180a 100644
--- a/android/examples/conservativeraster/build.gradle
+++ b/android/examples/conservativeraster/build.gradle
@@ -43,14 +43,14 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
copy {
- from '../../../data/shaders/conservativeraster'
- into 'assets/shaders/conservativeraster'
+ from '../../../data/shaders/glsl/conservativeraster'
+ into 'assets/shaders/glsl/conservativeraster'
include '*.*'
}
diff --git a/android/examples/debugmarker/build.gradle b/android/examples/debugmarker/build.gradle
index 659775c3..740e034a 100644
--- a/android/examples/debugmarker/build.gradle
+++ b/android/examples/debugmarker/build.gradle
@@ -43,14 +43,14 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
copy {
- from '../../../data/shaders/debugmarker'
- into 'assets/shaders/debugmarker'
+ from '../../../data/shaders/glsl/debugmarker'
+ into 'assets/shaders/glsl/debugmarker'
include '*.*'
}
diff --git a/android/examples/deferred/build.gradle b/android/examples/deferred/build.gradle
index b4a72972..76d3ae4b 100644
--- a/android/examples/deferred/build.gradle
+++ b/android/examples/deferred/build.gradle
@@ -43,14 +43,14 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
copy {
- from '../../../data/shaders/deferred'
- into 'assets/shaders/deferred'
+ from '../../../data/shaders/glsl/deferred'
+ into 'assets/shaders/glsl/deferred'
include '*.*'
}
diff --git a/android/examples/deferredmultisampling/build.gradle b/android/examples/deferredmultisampling/build.gradle
index 228d1355..a54eb4e4 100644
--- a/android/examples/deferredmultisampling/build.gradle
+++ b/android/examples/deferredmultisampling/build.gradle
@@ -43,14 +43,14 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
copy {
- from '../../../data/shaders/deferredmultisampling'
- into 'assets/shaders/deferredmultisampling'
+ from '../../../data/shaders/glsl/deferredmultisampling'
+ into 'assets/shaders/glsl/deferredmultisampling'
include '*.*'
}
diff --git a/android/examples/deferredshadows/build.gradle b/android/examples/deferredshadows/build.gradle
index 31380374..b65a47ee 100644
--- a/android/examples/deferredshadows/build.gradle
+++ b/android/examples/deferredshadows/build.gradle
@@ -43,14 +43,14 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
copy {
- from '../../../data/shaders/deferredshadows'
- into 'assets/shaders/deferredshadows'
+ from '../../../data/shaders/glsl/deferredshadows'
+ into 'assets/shaders/glsl/deferredshadows'
include '*.*'
}
diff --git a/android/examples/descriptorsets/build.gradle b/android/examples/descriptorsets/build.gradle
index 0b1bb1a7..07a95460 100644
--- a/android/examples/descriptorsets/build.gradle
+++ b/android/examples/descriptorsets/build.gradle
@@ -43,14 +43,14 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
copy {
- from '../../../data/shaders/descriptorsets'
- into 'assets/shaders/descriptorsets'
+ from '../../../data/shaders/glsl/descriptorsets'
+ into 'assets/shaders/glsl/descriptorsets'
include '*.*'
}
diff --git a/android/examples/displacement/build.gradle b/android/examples/displacement/build.gradle
index 84cada59..398177af 100644
--- a/android/examples/displacement/build.gradle
+++ b/android/examples/displacement/build.gradle
@@ -43,14 +43,14 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
copy {
- from '../../../data/shaders/displacement'
- into 'assets/shaders/displacement'
+ from '../../../data/shaders/glsl/displacement'
+ into 'assets/shaders/glsl/displacement'
include '*.*'
}
diff --git a/android/examples/distancefieldfonts/build.gradle b/android/examples/distancefieldfonts/build.gradle
index 13d40538..92bfbd19 100644
--- a/android/examples/distancefieldfonts/build.gradle
+++ b/android/examples/distancefieldfonts/build.gradle
@@ -43,14 +43,14 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
copy {
- from '../../../data/shaders/distancefieldfonts'
- into 'assets/shaders/distancefieldfonts'
+ from '../../../data/shaders/glsl/distancefieldfonts'
+ into 'assets/shaders/glsl/distancefieldfonts'
include '*.*'
}
diff --git a/android/examples/dynamicuniformbuffer/build.gradle b/android/examples/dynamicuniformbuffer/build.gradle
index 085d5e7e..ce471084 100644
--- a/android/examples/dynamicuniformbuffer/build.gradle
+++ b/android/examples/dynamicuniformbuffer/build.gradle
@@ -43,14 +43,14 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
copy {
- from '../../../data/shaders/dynamicuniformbuffer'
- into 'assets/shaders/dynamicuniformbuffer'
+ from '../../../data/shaders/glsl/dynamicuniformbuffer'
+ into 'assets/shaders/glsl/dynamicuniformbuffer'
include '*.*'
}
diff --git a/android/examples/gears/build.gradle b/android/examples/gears/build.gradle
index fe4c5d94..9d4b347b 100644
--- a/android/examples/gears/build.gradle
+++ b/android/examples/gears/build.gradle
@@ -43,14 +43,14 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
copy {
- from '../../../data/shaders/gears'
- into 'assets/shaders/gears'
+ from '../../../data/shaders/glsl/gears'
+ into 'assets/shaders/glsl/gears'
include '*.*'
}
diff --git a/android/examples/geometryshader/build.gradle b/android/examples/geometryshader/build.gradle
index bc17ee94..c6bd8068 100644
--- a/android/examples/geometryshader/build.gradle
+++ b/android/examples/geometryshader/build.gradle
@@ -43,14 +43,14 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
copy {
- from '../../../data/shaders/geometryshader'
- into 'assets/shaders/geometryshader'
+ from '../../../data/shaders/glsl/geometryshader'
+ into 'assets/shaders/glsl/geometryshader'
include '*.*'
}
diff --git a/android/examples/gltfscene/build.gradle b/android/examples/gltfscene/build.gradle
index 64ab443d..6af39be5 100644
--- a/android/examples/gltfscene/build.gradle
+++ b/android/examples/gltfscene/build.gradle
@@ -43,14 +43,14 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
copy {
- from '../../../data/shaders/gltfscene'
- into 'assets/shaders/gltfscene'
+ from '../../../data/shaders/glsl/gltfscene'
+ into 'assets/shaders/glsl/gltfscene'
include '*.*'
}
diff --git a/android/examples/hdr/build.gradle b/android/examples/hdr/build.gradle
index 14815c5a..9117c118 100644
--- a/android/examples/hdr/build.gradle
+++ b/android/examples/hdr/build.gradle
@@ -43,14 +43,14 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
copy {
- from '../../../data/shaders/hdr'
- into 'assets/shaders/hdr'
+ from '../../../data/shaders/glsl/hdr'
+ into 'assets/shaders/glsl/hdr'
include '*.*'
}
diff --git a/android/examples/imgui/build.gradle b/android/examples/imgui/build.gradle
index fcfec1de..0334e311 100644
--- a/android/examples/imgui/build.gradle
+++ b/android/examples/imgui/build.gradle
@@ -43,14 +43,14 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
copy {
- from '../../../data/shaders/imgui'
- into 'assets/shaders/imgui'
+ from '../../../data/shaders/glsl/imgui'
+ into 'assets/shaders/glsl/imgui'
include '*.*'
}
diff --git a/android/examples/indirectdraw/build.gradle b/android/examples/indirectdraw/build.gradle
index 9884e576..c1e38fe2 100644
--- a/android/examples/indirectdraw/build.gradle
+++ b/android/examples/indirectdraw/build.gradle
@@ -43,14 +43,14 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
copy {
- from '../../../data/shaders/indirectdraw'
- into 'assets/shaders/indirectdraw'
+ from '../../../data/shaders/glsl/indirectdraw'
+ into 'assets/shaders/glsl/indirectdraw'
include '*.*'
}
diff --git a/android/examples/inlineuniformblocks/build.gradle b/android/examples/inlineuniformblocks/build.gradle
index 55c33ab0..4c8783b1 100644
--- a/android/examples/inlineuniformblocks/build.gradle
+++ b/android/examples/inlineuniformblocks/build.gradle
@@ -43,14 +43,14 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
copy {
- from '../../../data/shaders/inlineuniformblocks'
- into 'assets/shaders/inlineuniformblocks'
+ from '../../../data/shaders/glsl/inlineuniformblocks'
+ into 'assets/shaders/glsl/inlineuniformblocks'
include '*.*'
}
diff --git a/android/examples/inputattachments/build.gradle b/android/examples/inputattachments/build.gradle
index 4102b0f0..06a7f6ae 100644
--- a/android/examples/inputattachments/build.gradle
+++ b/android/examples/inputattachments/build.gradle
@@ -48,14 +48,14 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
copy {
- from '../../../data/shaders/inputattachments'
- into 'assets/shaders/inputattachments'
+ from '../../../data/shaders/glsl/inputattachments'
+ into 'assets/shaders/glsl/inputattachments'
include '*.*'
}
@@ -64,7 +64,7 @@ task copyTask {
into 'assets/models'
include 'treasure_smooth.dae'
}
-
+
}
preBuild.dependsOn copyTask
\ No newline at end of file
diff --git a/android/examples/instancing/build.gradle b/android/examples/instancing/build.gradle
index 1a7a68ac..69ab8bc8 100644
--- a/android/examples/instancing/build.gradle
+++ b/android/examples/instancing/build.gradle
@@ -43,14 +43,14 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
copy {
- from '../../../data/shaders/instancing'
- into 'assets/shaders/instancing'
+ from '../../../data/shaders/glsl/instancing'
+ into 'assets/shaders/glsl/instancing'
include '*.*'
}
diff --git a/android/examples/multisampling/build.gradle b/android/examples/multisampling/build.gradle
index a398cc85..fcac664d 100644
--- a/android/examples/multisampling/build.gradle
+++ b/android/examples/multisampling/build.gradle
@@ -43,14 +43,14 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
copy {
- from '../../../data/shaders/multisampling'
- into 'assets/shaders/mesh'
+ from '../../../data/shaders/glsl/multisampling'
+ into 'assets/shaders/glsl/mesh'
include '*.*'
}
diff --git a/android/examples/multithreading/build.gradle b/android/examples/multithreading/build.gradle
index 4a427147..64604c12 100644
--- a/android/examples/multithreading/build.gradle
+++ b/android/examples/multithreading/build.gradle
@@ -43,14 +43,14 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
copy {
- from '../../../data/shaders/multithreading'
- into 'assets/shaders/multithreading'
+ from '../../../data/shaders/glsl/multithreading'
+ into 'assets/shaders/glsl/multithreading'
include '*.*'
}
diff --git a/android/examples/multiview/build.gradle b/android/examples/multiview/build.gradle
index 84d6166c..481c6665 100644
--- a/android/examples/multiview/build.gradle
+++ b/android/examples/multiview/build.gradle
@@ -43,14 +43,14 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
copy {
- from '../../../data/shaders/multiview'
- into 'assets/shaders/multiview'
+ from '../../../data/shaders/glsl/multiview'
+ into 'assets/shaders/glsl/multiview'
include '*.*'
}
diff --git a/android/examples/negativeviewportheight/build.gradle b/android/examples/negativeviewportheight/build.gradle
index 2822d74d..fcee9a9b 100644
--- a/android/examples/negativeviewportheight/build.gradle
+++ b/android/examples/negativeviewportheight/build.gradle
@@ -43,14 +43,14 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
copy {
- from '../../../data/shaders/negativeviewportheight'
- into 'assets/shaders/negativeviewportheight'
+ from '../../../data/shaders/glsl/negativeviewportheight'
+ into 'assets/shaders/glsl/negativeviewportheight'
include '*.*'
}
diff --git a/android/examples/occlusionquery/build.gradle b/android/examples/occlusionquery/build.gradle
index 65a853b0..0aff998b 100644
--- a/android/examples/occlusionquery/build.gradle
+++ b/android/examples/occlusionquery/build.gradle
@@ -43,14 +43,14 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
copy {
- from '../../../data/shaders/occlusionquery'
- into 'assets/shaders/occlusionquery'
+ from '../../../data/shaders/glsl/occlusionquery'
+ into 'assets/shaders/glsl/occlusionquery'
include '*.*'
}
diff --git a/android/examples/offscreen/build.gradle b/android/examples/offscreen/build.gradle
index f2e3c568..7fb3756e 100644
--- a/android/examples/offscreen/build.gradle
+++ b/android/examples/offscreen/build.gradle
@@ -43,14 +43,14 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
copy {
- from '../../../data/shaders/offscreen'
- into 'assets/shaders/offscreen'
+ from '../../../data/shaders/glsl/offscreen'
+ into 'assets/shaders/glsl/offscreen'
include '*.*'
}
diff --git a/android/examples/parallaxmapping/build.gradle b/android/examples/parallaxmapping/build.gradle
index 84b6e682..e26808b8 100644
--- a/android/examples/parallaxmapping/build.gradle
+++ b/android/examples/parallaxmapping/build.gradle
@@ -43,14 +43,14 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
copy {
- from '../../../data/shaders/parallaxmapping'
- into 'assets/shaders/parallaxmapping'
+ from '../../../data/shaders/glsl/parallaxmapping'
+ into 'assets/shaders/glsl/parallaxmapping'
include '*.*'
}
diff --git a/android/examples/particlefire/build.gradle b/android/examples/particlefire/build.gradle
index 85696dde..beba17b0 100644
--- a/android/examples/particlefire/build.gradle
+++ b/android/examples/particlefire/build.gradle
@@ -43,14 +43,14 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
copy {
- from '../../../data/shaders/particlefire'
- into 'assets/shaders/particlefire'
+ from '../../../data/shaders/glsl/particlefire'
+ into 'assets/shaders/glsl/particlefire'
include '*.*'
}
diff --git a/android/examples/pbrbasic/build.gradle b/android/examples/pbrbasic/build.gradle
index 0ba55abf..9204d359 100644
--- a/android/examples/pbrbasic/build.gradle
+++ b/android/examples/pbrbasic/build.gradle
@@ -43,14 +43,14 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
copy {
- from '../../../data/shaders/pbrbasic'
- into 'assets/shaders/pbrbasic'
+ from '../../../data/shaders/glsl/pbrbasic'
+ into 'assets/shaders/glsl/pbrbasic'
include '*.*'
}
diff --git a/android/examples/pbribl/build.gradle b/android/examples/pbribl/build.gradle
index 515b0e33..2feb7709 100644
--- a/android/examples/pbribl/build.gradle
+++ b/android/examples/pbribl/build.gradle
@@ -43,14 +43,14 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
copy {
- from '../../../data/shaders/pbribl'
- into 'assets/shaders/pbribl'
+ from '../../../data/shaders/glsl/pbribl'
+ into 'assets/shaders/glsl/pbribl'
include '*.*'
}
diff --git a/android/examples/pbrtexture/build.gradle b/android/examples/pbrtexture/build.gradle
index 5ebe67fe..184bdfe1 100644
--- a/android/examples/pbrtexture/build.gradle
+++ b/android/examples/pbrtexture/build.gradle
@@ -43,14 +43,14 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
copy {
- from '../../../data/shaders/pbrtexture'
- into 'assets/shaders/pbrtexture'
+ from '../../../data/shaders/glsl/pbrtexture'
+ into 'assets/shaders/glsl/pbrtexture'
include '*.*'
}
diff --git a/android/examples/pipelines/build.gradle b/android/examples/pipelines/build.gradle
index 9d1fa448..36cb9f07 100644
--- a/android/examples/pipelines/build.gradle
+++ b/android/examples/pipelines/build.gradle
@@ -43,14 +43,14 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
copy {
- from '../../../data/shaders/pipelines'
- into 'assets/shaders/pipelines'
+ from '../../../data/shaders/glsl/pipelines'
+ into 'assets/shaders/glsl/pipelines'
include '*.*'
}
diff --git a/android/examples/pipelinestatistics/build.gradle b/android/examples/pipelinestatistics/build.gradle
index 21522054..3eb8f8ea 100644
--- a/android/examples/pipelinestatistics/build.gradle
+++ b/android/examples/pipelinestatistics/build.gradle
@@ -43,14 +43,14 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
copy {
- from '../../../data/shaders/pipelinestatistics'
- into 'assets/shaders/pipelinestatistics'
+ from '../../../data/shaders/glsl/pipelinestatistics'
+ into 'assets/shaders/glsl/pipelinestatistics'
include '*.*'
}
diff --git a/android/examples/pushconstants/build.gradle b/android/examples/pushconstants/build.gradle
index e993ba1a..ee017703 100644
--- a/android/examples/pushconstants/build.gradle
+++ b/android/examples/pushconstants/build.gradle
@@ -43,14 +43,14 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
copy {
- from '../../../data/shaders/pushconstants'
- into 'assets/shaders/pushconstants'
+ from '../../../data/shaders/glsl/pushconstants'
+ into 'assets/shaders/glsl/pushconstants'
include '*.*'
}
diff --git a/android/examples/pushdescriptors/build.gradle b/android/examples/pushdescriptors/build.gradle
index c04b5532..270e97ad 100644
--- a/android/examples/pushdescriptors/build.gradle
+++ b/android/examples/pushdescriptors/build.gradle
@@ -43,14 +43,14 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
copy {
- from '../../../data/shaders/pushdescriptors'
- into 'assets/shaders/pushdescriptors'
+ from '../../../data/shaders/glsl/pushdescriptors'
+ into 'assets/shaders/glsl/pushdescriptors'
include '*.*'
}
diff --git a/android/examples/radialblur/build.gradle b/android/examples/radialblur/build.gradle
index ea8463ba..fbd6745c 100644
--- a/android/examples/radialblur/build.gradle
+++ b/android/examples/radialblur/build.gradle
@@ -43,14 +43,14 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
copy {
- from '../../../data/shaders/radialblur'
- into 'assets/shaders/radialblur'
+ from '../../../data/shaders/glsl/radialblur'
+ into 'assets/shaders/glsl/radialblur'
include '*.*'
}
diff --git a/android/examples/renderheadless/build.gradle b/android/examples/renderheadless/build.gradle
index 75a4a6af..75bb3f3e 100644
--- a/android/examples/renderheadless/build.gradle
+++ b/android/examples/renderheadless/build.gradle
@@ -43,14 +43,14 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
copy {
- from '../../../data/shaders/renderheadless'
- into 'assets/shaders/renderheadless'
+ from '../../../data/shaders/glsl/renderheadless'
+ into 'assets/shaders/glsl/renderheadless'
include '*.*'
}
diff --git a/android/examples/scenerendering/build.gradle b/android/examples/scenerendering/build.gradle
index 7ace9b7d..4de41b21 100644
--- a/android/examples/scenerendering/build.gradle
+++ b/android/examples/scenerendering/build.gradle
@@ -43,14 +43,14 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
copy {
- from '../../../data/shaders/scenerendering'
- into 'assets/shaders/scenerendering'
+ from '../../../data/shaders/glsl/scenerendering'
+ into 'assets/shaders/glsl/scenerendering'
include '*.*'
}
diff --git a/android/examples/screenshot/build.gradle b/android/examples/screenshot/build.gradle
index 377a210a..b226ee23 100644
--- a/android/examples/screenshot/build.gradle
+++ b/android/examples/screenshot/build.gradle
@@ -43,14 +43,14 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
copy {
- from '../../../data/shaders/screenshot'
- into 'assets/shaders/screenshot'
+ from '../../../data/shaders/glsl/screenshot'
+ into 'assets/shaders/glsl/screenshot'
include '*.*'
}
diff --git a/android/examples/shadowmapping/build.gradle b/android/examples/shadowmapping/build.gradle
index 1eb439e2..f78da5d5 100644
--- a/android/examples/shadowmapping/build.gradle
+++ b/android/examples/shadowmapping/build.gradle
@@ -43,14 +43,14 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
copy {
- from '../../../data/shaders/shadowmapping'
- into 'assets/shaders/shadowmapping'
+ from '../../../data/shaders/glsl/shadowmapping'
+ into 'assets/shaders/glsl/shadowmapping'
include '*.*'
}
diff --git a/android/examples/shadowmappingcascade/build.gradle b/android/examples/shadowmappingcascade/build.gradle
index 57f421ff..9b140841 100644
--- a/android/examples/shadowmappingcascade/build.gradle
+++ b/android/examples/shadowmappingcascade/build.gradle
@@ -43,14 +43,14 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
copy {
- from '../../../data/shaders/shadowmappingcascade'
- into 'assets/shaders/shadowmappingcascade'
+ from '../../../data/shaders/glsl/shadowmappingcascade'
+ into 'assets/shaders/glsl/shadowmappingcascade'
include '*.*'
}
diff --git a/android/examples/shadowmappingomni/build.gradle b/android/examples/shadowmappingomni/build.gradle
index e36544af..38685ff9 100644
--- a/android/examples/shadowmappingomni/build.gradle
+++ b/android/examples/shadowmappingomni/build.gradle
@@ -43,14 +43,14 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
copy {
- from '../../../data/shaders/shadowmapomni'
- into 'assets/shaders/shadowmapomni'
+ from '../../../data/shaders/glsl/shadowmapomni'
+ into 'assets/shaders/glsl/shadowmapomni'
include '*.*'
}
diff --git a/android/examples/skeletalanimation/build.gradle b/android/examples/skeletalanimation/build.gradle
index e86aa8bf..cdb88fce 100644
--- a/android/examples/skeletalanimation/build.gradle
+++ b/android/examples/skeletalanimation/build.gradle
@@ -43,14 +43,14 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
copy {
- from '../../../data/shaders/skeletalanimation'
- into 'assets/shaders/skeletalanimation'
+ from '../../../data/shaders/glsl/skeletalanimation'
+ into 'assets/shaders/glsl/skeletalanimation'
include '*.*'
}
diff --git a/android/examples/specializationconstants/build.gradle b/android/examples/specializationconstants/build.gradle
index afbe66ed..73556cbe 100644
--- a/android/examples/specializationconstants/build.gradle
+++ b/android/examples/specializationconstants/build.gradle
@@ -43,14 +43,14 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
copy {
- from '../../../data/shaders/specializationconstants'
- into 'assets/shaders/specializationconstants'
+ from '../../../data/shaders/glsl/specializationconstants'
+ into 'assets/shaders/glsl/specializationconstants'
include '*.*'
}
diff --git a/android/examples/sphericalenvmapping/build.gradle b/android/examples/sphericalenvmapping/build.gradle
index 5e89a45d..3b48d16c 100644
--- a/android/examples/sphericalenvmapping/build.gradle
+++ b/android/examples/sphericalenvmapping/build.gradle
@@ -43,14 +43,14 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
copy {
- from '../../../data/shaders/sphericalenvmapping'
- into 'assets/shaders/sphericalenvmapping'
+ from '../../../data/shaders/glsl/sphericalenvmapping'
+ into 'assets/shaders/glsl/sphericalenvmapping'
include '*.*'
}
diff --git a/android/examples/ssao/build.gradle b/android/examples/ssao/build.gradle
index 118df53b..abae9d55 100644
--- a/android/examples/ssao/build.gradle
+++ b/android/examples/ssao/build.gradle
@@ -43,14 +43,14 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
copy {
- from '../../../data/shaders/ssao'
- into 'assets/shaders/ssao'
+ from '../../../data/shaders/glsl/ssao'
+ into 'assets/shaders/glsl/ssao'
include '*.*'
}
diff --git a/android/examples/stencilbuffer/build.gradle b/android/examples/stencilbuffer/build.gradle
index 48c38a30..97a2149c 100644
--- a/android/examples/stencilbuffer/build.gradle
+++ b/android/examples/stencilbuffer/build.gradle
@@ -43,14 +43,14 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
copy {
- from '../../../data/shaders/stencilbuffer'
- into 'assets/shaders/stencilbuffer'
+ from '../../../data/shaders/glsl/stencilbuffer'
+ into 'assets/shaders/glsl/stencilbuffer'
include '*.*'
}
diff --git a/android/examples/subpasses/build.gradle b/android/examples/subpasses/build.gradle
index 41a6e5eb..a2fa2874 100644
--- a/android/examples/subpasses/build.gradle
+++ b/android/examples/subpasses/build.gradle
@@ -43,14 +43,14 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
copy {
- from '../../../data/shaders/subpasses'
- into 'assets/shaders/subpasses'
+ from '../../../data/shaders/glsl/subpasses'
+ into 'assets/shaders/glsl/subpasses'
include '*.*'
}
diff --git a/android/examples/terraintessellation/build.gradle b/android/examples/terraintessellation/build.gradle
index 05b7acf9..6e8ed458 100644
--- a/android/examples/terraintessellation/build.gradle
+++ b/android/examples/terraintessellation/build.gradle
@@ -43,14 +43,14 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
copy {
- from '../../../data/shaders/terraintessellation'
- into 'assets/shaders/terraintessellation'
+ from '../../../data/shaders/glsl/terraintessellation'
+ into 'assets/shaders/glsl/terraintessellation'
include '*.*'
}
diff --git a/android/examples/tessellation/build.gradle b/android/examples/tessellation/build.gradle
index e43ec428..a7ba36d2 100644
--- a/android/examples/tessellation/build.gradle
+++ b/android/examples/tessellation/build.gradle
@@ -43,14 +43,14 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
copy {
- from '../../../data/shaders/tessellation'
- into 'assets/shaders/tessellation'
+ from '../../../data/shaders/glsl/tessellation'
+ into 'assets/shaders/glsl/tessellation'
include '*.*'
}
diff --git a/android/examples/textoverlay/build.gradle b/android/examples/textoverlay/build.gradle
index 4198d550..068941bf 100644
--- a/android/examples/textoverlay/build.gradle
+++ b/android/examples/textoverlay/build.gradle
@@ -43,14 +43,14 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
copy {
- from '../../../data/shaders/textoverlay'
- into 'assets/shaders/textoverlay'
+ from '../../../data/shaders/glsl/textoverlay'
+ into 'assets/shaders/glsl/textoverlay'
include '*.*'
}
diff --git a/android/examples/texture/build.gradle b/android/examples/texture/build.gradle
index 6144ac11..a0f5da3a 100644
--- a/android/examples/texture/build.gradle
+++ b/android/examples/texture/build.gradle
@@ -43,14 +43,14 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
copy {
- from '../../../data/shaders/texture'
- into 'assets/shaders/texture'
+ from '../../../data/shaders/glsl/texture'
+ into 'assets/shaders/glsl/texture'
include '*.*'
}
diff --git a/android/examples/texture3d/build.gradle b/android/examples/texture3d/build.gradle
index 807cc918..ed29b15b 100644
--- a/android/examples/texture3d/build.gradle
+++ b/android/examples/texture3d/build.gradle
@@ -43,14 +43,14 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
copy {
- from '../../../data/shaders/texture3d'
- into 'assets/shaders/texture3d'
+ from '../../../data/shaders/glsl/texture3d'
+ into 'assets/shaders/glsl/texture3d'
include '*.*'
}
diff --git a/android/examples/texturearray/build.gradle b/android/examples/texturearray/build.gradle
index b2c9c02f..c8755100 100644
--- a/android/examples/texturearray/build.gradle
+++ b/android/examples/texturearray/build.gradle
@@ -43,14 +43,14 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
copy {
- from '../../../data/shaders/texturearray'
- into 'assets/shaders/texturearray'
+ from '../../../data/shaders/glsl/texturearray'
+ into 'assets/shaders/glsl/texturearray'
include '*.*'
}
diff --git a/android/examples/texturecubemap/build.gradle b/android/examples/texturecubemap/build.gradle
index 739dbe8b..b07224b5 100644
--- a/android/examples/texturecubemap/build.gradle
+++ b/android/examples/texturecubemap/build.gradle
@@ -43,14 +43,14 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
copy {
- from '../../../data/shaders/texturecubemap'
- into 'assets/shaders/texturecubemap'
+ from '../../../data/shaders/glsl/texturecubemap'
+ into 'assets/shaders/glsl/texturecubemap'
include '*.*'
}
diff --git a/android/examples/texturemipmapgen/build.gradle b/android/examples/texturemipmapgen/build.gradle
index a0fe719b..04036d61 100644
--- a/android/examples/texturemipmapgen/build.gradle
+++ b/android/examples/texturemipmapgen/build.gradle
@@ -43,14 +43,14 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
copy {
- from '../../../data/shaders/texturemipmapgen'
- into 'assets/shaders/texturemipmapgen'
+ from '../../../data/shaders/glsl/texturemipmapgen'
+ into 'assets/shaders/glsl/texturemipmapgen'
include '*.*'
}
diff --git a/android/examples/triangle/build.gradle b/android/examples/triangle/build.gradle
index 7fcb5758..dba65944 100644
--- a/android/examples/triangle/build.gradle
+++ b/android/examples/triangle/build.gradle
@@ -43,14 +43,14 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
copy {
- from '../../../data/shaders/triangle'
- into 'assets/shaders/triangle'
+ from '../../../data/shaders/glsl/triangle'
+ into 'assets/shaders/glsl/triangle'
include '*.*'
}
diff --git a/android/examples/viewportarray/build.gradle b/android/examples/viewportarray/build.gradle
index a066416b..ab3c8654 100644
--- a/android/examples/viewportarray/build.gradle
+++ b/android/examples/viewportarray/build.gradle
@@ -43,14 +43,14 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
copy {
- from '../../../data/shaders/viewportarray'
- into 'assets/shaders/viewportarray'
+ from '../../../data/shaders/glsl/viewportarray'
+ into 'assets/shaders/glsl/viewportarray'
include '*.*'
}
diff --git a/android/examples/vulkanscene/build.gradle b/android/examples/vulkanscene/build.gradle
index 65d21b6b..a0651def 100644
--- a/android/examples/vulkanscene/build.gradle
+++ b/android/examples/vulkanscene/build.gradle
@@ -43,14 +43,14 @@ task copyTask {
}
copy {
- from '../../../data/shaders/base'
- into "assets/shaders/base"
+ from '../../../data/shaders/glsl/base'
+ into 'assets/shaders/glsl/base'
include '*.spv'
}
copy {
- from '../../../data/shaders/vulkanscene'
- into 'assets/shaders/vulkanscene'
+ from '../../../data/shaders/glsl/vulkanscene'
+ into 'assets/shaders/glsl/vulkanscene'
include '*.*'
}
diff --git a/base/VulkanTools.cpp b/base/VulkanTools.cpp
index 5e720fc8..40783e78 100644
--- a/base/VulkanTools.cpp
+++ b/base/VulkanTools.cpp
@@ -19,6 +19,11 @@ const std::string getAssetPath()
#endif
}
+const std::string getShadersPath()
+{
+ return getAssetPath() + "shaders/glsl/";
+}
+
namespace vks
{
namespace tools
@@ -152,7 +157,7 @@ namespace vks
break;
case VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL:
- // Image is a transfer source
+ // Image is a transfer source
// Make sure any reads from the image have been finished
imageMemoryBarrier.srcAccessMask = VK_ACCESS_TRANSFER_READ_BIT;
break;
diff --git a/base/VulkanTools.h b/base/VulkanTools.h
index 46ff411f..d6b0fd6b 100644
--- a/base/VulkanTools.h
+++ b/base/VulkanTools.h
@@ -60,6 +60,7 @@
#endif
const std::string getAssetPath();
+const std::string getShadersPath();
namespace vks
{
@@ -113,7 +114,7 @@ namespace vks
void exitFatal(std::string message, int32_t exitCode);
void exitFatal(std::string message, VkResult resultCode);
- // Load a SPIR-V shader (binary)
+ // Load a SPIR-V shader (binary)
#if defined(__ANDROID__)
VkShaderModule loadShader(AAssetManager* assetManager, const char *fileName, VkDevice device);
#else
diff --git a/base/vulkanexamplebase.cpp b/base/vulkanexamplebase.cpp
index 66695059..2cfbfbfa 100644
--- a/base/vulkanexamplebase.cpp
+++ b/base/vulkanexamplebase.cpp
@@ -17,7 +17,7 @@ VkResult VulkanExampleBase::createInstance(bool enableValidation)
// Validation can also be forced via a define
#if defined(_VALIDATION)
this->settings.validation = true;
-#endif
+#endif
VkApplicationInfo appInfo = {};
appInfo.sType = VK_STRUCTURE_TYPE_APPLICATION_INFO;
@@ -66,7 +66,7 @@ VkResult VulkanExampleBase::createInstance(bool enableValidation)
if (settings.validation)
{
// The VK_LAYER_KHRONOS_validation contains all current validation functionality.
- // Note that on Android this layer requires at least NDK r20
+ // Note that on Android this layer requires at least NDK r20
const char* validationLayerName = "VK_LAYER_KHRONOS_validation";
// Check if this layer is available at instance level
uint32_t instanceLayerCount;
@@ -155,8 +155,8 @@ void VulkanExampleBase::prepare()
UIOverlay.device = vulkanDevice;
UIOverlay.queue = queue;
UIOverlay.shaders = {
- loadShader(getAssetPath() + "shaders/base/uioverlay.vert.spv", VK_SHADER_STAGE_VERTEX_BIT),
- loadShader(getAssetPath() + "shaders/base/uioverlay.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT),
+ loadShader(getShadersPath() + "base/uioverlay.vert.spv", VK_SHADER_STAGE_VERTEX_BIT),
+ loadShader(getShadersPath() + "base/uioverlay.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT),
};
UIOverlay.prepareResources();
UIOverlay.preparePipeline(pipelineCache, renderPass);
@@ -685,7 +685,7 @@ VulkanExampleBase::VulkanExampleBase(bool enableValidation)
benchmark.outputFrameTimes = true;
}
}
-
+
#if defined(VK_USE_PLATFORM_ANDROID_KHR)
// Vulkan library is loaded dynamically on Android
bool libLoaded = vks::android::loadVulkanLibrary();
@@ -822,7 +822,7 @@ bool VulkanExampleBase::initVulkan()
// Defaults to the first device unless specified by command line
uint32_t selectedDevice = 0;
-#if !defined(VK_USE_PLATFORM_ANDROID_KHR)
+#if !defined(VK_USE_PLATFORM_ANDROID_KHR)
// GPU selection via command line argument
for (size_t i = 0; i < args.size(); i++)
{
@@ -832,11 +832,11 @@ bool VulkanExampleBase::initVulkan()
char* endptr;
uint32_t index = strtol(args[i + 1], &endptr, 10);
if (endptr != args[i + 1])
- {
+ {
if (index > gpuCount - 1)
{
std::cerr << "Selected device index " << index << " is out of range, reverting to device 0 (use -listgpus to show available Vulkan devices)" << std::endl;
- }
+ }
else
{
std::cout << "Selected Vulkan device " << index << std::endl;
@@ -1794,7 +1794,7 @@ xcb_window_t VulkanExampleBase::setupWindow()
&(atom_wm_fullscreen->atom));
free(atom_wm_fullscreen);
free(atom_wm_state);
- }
+ }
xcb_map_window(connection, window);
@@ -1888,7 +1888,7 @@ void VulkanExampleBase::handleEvent(const xcb_generic_event_t *event)
break;
}
}
- break;
+ break;
case XCB_KEY_RELEASE:
{
const xcb_key_release_event_t *keyEvent = (const xcb_key_release_event_t *)event;
@@ -2127,7 +2127,7 @@ void VulkanExampleBase::windowResize()
vkDestroyImageView(device, depthStencil.view, nullptr);
vkDestroyImage(device, depthStencil.image, nullptr);
vkFreeMemory(device, depthStencil.mem, nullptr);
- setupDepthStencil();
+ setupDepthStencil();
for (uint32_t i = 0; i < frameBuffers.size(); i++) {
vkDestroyFramebuffer(device, frameBuffers[i], nullptr);
}
@@ -2200,7 +2200,7 @@ void VulkanExampleBase::initSwapchain()
{
#if defined(_WIN32)
swapChain.initSurface(windowInstance, window);
-#elif defined(VK_USE_PLATFORM_ANDROID_KHR)
+#elif defined(VK_USE_PLATFORM_ANDROID_KHR)
swapChain.initSurface(androidApp->window);
#elif (defined(VK_USE_PLATFORM_IOS_MVK) || defined(VK_USE_PLATFORM_MACOS_MVK))
swapChain.initSurface(view);
diff --git a/data/shaders/base/generate-spirv.bat b/data/shaders/glsl/base/generate-spirv.bat
similarity index 100%
rename from data/shaders/base/generate-spirv.bat
rename to data/shaders/glsl/base/generate-spirv.bat
diff --git a/data/shaders/base/textoverlay.frag b/data/shaders/glsl/base/textoverlay.frag
similarity index 100%
rename from data/shaders/base/textoverlay.frag
rename to data/shaders/glsl/base/textoverlay.frag
diff --git a/data/shaders/base/textoverlay.frag.spv b/data/shaders/glsl/base/textoverlay.frag.spv
similarity index 100%
rename from data/shaders/base/textoverlay.frag.spv
rename to data/shaders/glsl/base/textoverlay.frag.spv
diff --git a/data/shaders/base/textoverlay.vert b/data/shaders/glsl/base/textoverlay.vert
similarity index 100%
rename from data/shaders/base/textoverlay.vert
rename to data/shaders/glsl/base/textoverlay.vert
diff --git a/data/shaders/base/textoverlay.vert.spv b/data/shaders/glsl/base/textoverlay.vert.spv
similarity index 100%
rename from data/shaders/base/textoverlay.vert.spv
rename to data/shaders/glsl/base/textoverlay.vert.spv
diff --git a/data/shaders/base/uioverlay.frag b/data/shaders/glsl/base/uioverlay.frag
similarity index 100%
rename from data/shaders/base/uioverlay.frag
rename to data/shaders/glsl/base/uioverlay.frag
diff --git a/data/shaders/base/uioverlay.frag.spv b/data/shaders/glsl/base/uioverlay.frag.spv
similarity index 100%
rename from data/shaders/base/uioverlay.frag.spv
rename to data/shaders/glsl/base/uioverlay.frag.spv
diff --git a/data/shaders/base/uioverlay.vert b/data/shaders/glsl/base/uioverlay.vert
similarity index 100%
rename from data/shaders/base/uioverlay.vert
rename to data/shaders/glsl/base/uioverlay.vert
diff --git a/data/shaders/base/uioverlay.vert.spv b/data/shaders/glsl/base/uioverlay.vert.spv
similarity index 100%
rename from data/shaders/base/uioverlay.vert.spv
rename to data/shaders/glsl/base/uioverlay.vert.spv
diff --git a/data/shaders/bloom/colorpass.frag b/data/shaders/glsl/bloom/colorpass.frag
similarity index 100%
rename from data/shaders/bloom/colorpass.frag
rename to data/shaders/glsl/bloom/colorpass.frag
diff --git a/data/shaders/bloom/colorpass.frag.spv b/data/shaders/glsl/bloom/colorpass.frag.spv
similarity index 100%
rename from data/shaders/bloom/colorpass.frag.spv
rename to data/shaders/glsl/bloom/colorpass.frag.spv
diff --git a/data/shaders/bloom/colorpass.vert b/data/shaders/glsl/bloom/colorpass.vert
similarity index 100%
rename from data/shaders/bloom/colorpass.vert
rename to data/shaders/glsl/bloom/colorpass.vert
diff --git a/data/shaders/bloom/colorpass.vert.spv b/data/shaders/glsl/bloom/colorpass.vert.spv
similarity index 100%
rename from data/shaders/bloom/colorpass.vert.spv
rename to data/shaders/glsl/bloom/colorpass.vert.spv
diff --git a/data/shaders/bloom/gaussblur.frag b/data/shaders/glsl/bloom/gaussblur.frag
similarity index 100%
rename from data/shaders/bloom/gaussblur.frag
rename to data/shaders/glsl/bloom/gaussblur.frag
diff --git a/data/shaders/bloom/gaussblur.frag.spv b/data/shaders/glsl/bloom/gaussblur.frag.spv
similarity index 100%
rename from data/shaders/bloom/gaussblur.frag.spv
rename to data/shaders/glsl/bloom/gaussblur.frag.spv
diff --git a/data/shaders/bloom/gaussblur.vert b/data/shaders/glsl/bloom/gaussblur.vert
similarity index 100%
rename from data/shaders/bloom/gaussblur.vert
rename to data/shaders/glsl/bloom/gaussblur.vert
diff --git a/data/shaders/bloom/gaussblur.vert.spv b/data/shaders/glsl/bloom/gaussblur.vert.spv
similarity index 100%
rename from data/shaders/bloom/gaussblur.vert.spv
rename to data/shaders/glsl/bloom/gaussblur.vert.spv
diff --git a/data/shaders/bloom/generate-spirv.bat b/data/shaders/glsl/bloom/generate-spirv.bat
similarity index 100%
rename from data/shaders/bloom/generate-spirv.bat
rename to data/shaders/glsl/bloom/generate-spirv.bat
diff --git a/data/shaders/bloom/phongpass.frag b/data/shaders/glsl/bloom/phongpass.frag
similarity index 100%
rename from data/shaders/bloom/phongpass.frag
rename to data/shaders/glsl/bloom/phongpass.frag
diff --git a/data/shaders/bloom/phongpass.frag.spv b/data/shaders/glsl/bloom/phongpass.frag.spv
similarity index 100%
rename from data/shaders/bloom/phongpass.frag.spv
rename to data/shaders/glsl/bloom/phongpass.frag.spv
diff --git a/data/shaders/bloom/phongpass.vert b/data/shaders/glsl/bloom/phongpass.vert
similarity index 100%
rename from data/shaders/bloom/phongpass.vert
rename to data/shaders/glsl/bloom/phongpass.vert
diff --git a/data/shaders/bloom/phongpass.vert.spv b/data/shaders/glsl/bloom/phongpass.vert.spv
similarity index 100%
rename from data/shaders/bloom/phongpass.vert.spv
rename to data/shaders/glsl/bloom/phongpass.vert.spv
diff --git a/data/shaders/bloom/skybox.frag b/data/shaders/glsl/bloom/skybox.frag
similarity index 100%
rename from data/shaders/bloom/skybox.frag
rename to data/shaders/glsl/bloom/skybox.frag
diff --git a/data/shaders/bloom/skybox.frag.spv b/data/shaders/glsl/bloom/skybox.frag.spv
similarity index 100%
rename from data/shaders/bloom/skybox.frag.spv
rename to data/shaders/glsl/bloom/skybox.frag.spv
diff --git a/data/shaders/bloom/skybox.vert b/data/shaders/glsl/bloom/skybox.vert
similarity index 100%
rename from data/shaders/bloom/skybox.vert
rename to data/shaders/glsl/bloom/skybox.vert
diff --git a/data/shaders/bloom/skybox.vert.spv b/data/shaders/glsl/bloom/skybox.vert.spv
similarity index 100%
rename from data/shaders/bloom/skybox.vert.spv
rename to data/shaders/glsl/bloom/skybox.vert.spv
diff --git a/data/shaders/compileshaders.py b/data/shaders/glsl/compileshaders.py
similarity index 100%
rename from data/shaders/compileshaders.py
rename to data/shaders/glsl/compileshaders.py
diff --git a/data/shaders/computecloth/cloth.comp b/data/shaders/glsl/computecloth/cloth.comp
similarity index 100%
rename from data/shaders/computecloth/cloth.comp
rename to data/shaders/glsl/computecloth/cloth.comp
diff --git a/data/shaders/computecloth/cloth.comp.spv b/data/shaders/glsl/computecloth/cloth.comp.spv
similarity index 100%
rename from data/shaders/computecloth/cloth.comp.spv
rename to data/shaders/glsl/computecloth/cloth.comp.spv
diff --git a/data/shaders/computecloth/cloth.frag b/data/shaders/glsl/computecloth/cloth.frag
similarity index 100%
rename from data/shaders/computecloth/cloth.frag
rename to data/shaders/glsl/computecloth/cloth.frag
diff --git a/data/shaders/computecloth/cloth.frag.spv b/data/shaders/glsl/computecloth/cloth.frag.spv
similarity index 100%
rename from data/shaders/computecloth/cloth.frag.spv
rename to data/shaders/glsl/computecloth/cloth.frag.spv
diff --git a/data/shaders/computecloth/cloth.vert b/data/shaders/glsl/computecloth/cloth.vert
similarity index 100%
rename from data/shaders/computecloth/cloth.vert
rename to data/shaders/glsl/computecloth/cloth.vert
diff --git a/data/shaders/computecloth/cloth.vert.spv b/data/shaders/glsl/computecloth/cloth.vert.spv
similarity index 100%
rename from data/shaders/computecloth/cloth.vert.spv
rename to data/shaders/glsl/computecloth/cloth.vert.spv
diff --git a/data/shaders/computecloth/sphere.frag b/data/shaders/glsl/computecloth/sphere.frag
similarity index 100%
rename from data/shaders/computecloth/sphere.frag
rename to data/shaders/glsl/computecloth/sphere.frag
diff --git a/data/shaders/computecloth/sphere.frag.spv b/data/shaders/glsl/computecloth/sphere.frag.spv
similarity index 100%
rename from data/shaders/computecloth/sphere.frag.spv
rename to data/shaders/glsl/computecloth/sphere.frag.spv
diff --git a/data/shaders/computecloth/sphere.vert b/data/shaders/glsl/computecloth/sphere.vert
similarity index 100%
rename from data/shaders/computecloth/sphere.vert
rename to data/shaders/glsl/computecloth/sphere.vert
diff --git a/data/shaders/computecloth/sphere.vert.spv b/data/shaders/glsl/computecloth/sphere.vert.spv
similarity index 100%
rename from data/shaders/computecloth/sphere.vert.spv
rename to data/shaders/glsl/computecloth/sphere.vert.spv
diff --git a/data/shaders/computecullandlod/cull.comp b/data/shaders/glsl/computecullandlod/cull.comp
similarity index 100%
rename from data/shaders/computecullandlod/cull.comp
rename to data/shaders/glsl/computecullandlod/cull.comp
diff --git a/data/shaders/computecullandlod/cull.comp.spv b/data/shaders/glsl/computecullandlod/cull.comp.spv
similarity index 100%
rename from data/shaders/computecullandlod/cull.comp.spv
rename to data/shaders/glsl/computecullandlod/cull.comp.spv
diff --git a/data/shaders/computecullandlod/indirectdraw.frag b/data/shaders/glsl/computecullandlod/indirectdraw.frag
similarity index 100%
rename from data/shaders/computecullandlod/indirectdraw.frag
rename to data/shaders/glsl/computecullandlod/indirectdraw.frag
diff --git a/data/shaders/computecullandlod/indirectdraw.frag.spv b/data/shaders/glsl/computecullandlod/indirectdraw.frag.spv
similarity index 100%
rename from data/shaders/computecullandlod/indirectdraw.frag.spv
rename to data/shaders/glsl/computecullandlod/indirectdraw.frag.spv
diff --git a/data/shaders/computecullandlod/indirectdraw.vert b/data/shaders/glsl/computecullandlod/indirectdraw.vert
similarity index 100%
rename from data/shaders/computecullandlod/indirectdraw.vert
rename to data/shaders/glsl/computecullandlod/indirectdraw.vert
diff --git a/data/shaders/computecullandlod/indirectdraw.vert.spv b/data/shaders/glsl/computecullandlod/indirectdraw.vert.spv
similarity index 100%
rename from data/shaders/computecullandlod/indirectdraw.vert.spv
rename to data/shaders/glsl/computecullandlod/indirectdraw.vert.spv
diff --git a/data/shaders/computeheadless/headless.comp b/data/shaders/glsl/computeheadless/headless.comp
similarity index 100%
rename from data/shaders/computeheadless/headless.comp
rename to data/shaders/glsl/computeheadless/headless.comp
diff --git a/data/shaders/computeheadless/headless.comp.spv b/data/shaders/glsl/computeheadless/headless.comp.spv
similarity index 100%
rename from data/shaders/computeheadless/headless.comp.spv
rename to data/shaders/glsl/computeheadless/headless.comp.spv
diff --git a/data/shaders/computenbody/particle.frag b/data/shaders/glsl/computenbody/particle.frag
similarity index 100%
rename from data/shaders/computenbody/particle.frag
rename to data/shaders/glsl/computenbody/particle.frag
diff --git a/data/shaders/computenbody/particle.frag.spv b/data/shaders/glsl/computenbody/particle.frag.spv
similarity index 100%
rename from data/shaders/computenbody/particle.frag.spv
rename to data/shaders/glsl/computenbody/particle.frag.spv
diff --git a/data/shaders/computenbody/particle.vert b/data/shaders/glsl/computenbody/particle.vert
similarity index 100%
rename from data/shaders/computenbody/particle.vert
rename to data/shaders/glsl/computenbody/particle.vert
diff --git a/data/shaders/computenbody/particle.vert.spv b/data/shaders/glsl/computenbody/particle.vert.spv
similarity index 100%
rename from data/shaders/computenbody/particle.vert.spv
rename to data/shaders/glsl/computenbody/particle.vert.spv
diff --git a/data/shaders/computenbody/particle_calculate.comp b/data/shaders/glsl/computenbody/particle_calculate.comp
similarity index 100%
rename from data/shaders/computenbody/particle_calculate.comp
rename to data/shaders/glsl/computenbody/particle_calculate.comp
diff --git a/data/shaders/computenbody/particle_calculate.comp.spv b/data/shaders/glsl/computenbody/particle_calculate.comp.spv
similarity index 100%
rename from data/shaders/computenbody/particle_calculate.comp.spv
rename to data/shaders/glsl/computenbody/particle_calculate.comp.spv
diff --git a/data/shaders/computenbody/particle_integrate.comp b/data/shaders/glsl/computenbody/particle_integrate.comp
similarity index 100%
rename from data/shaders/computenbody/particle_integrate.comp
rename to data/shaders/glsl/computenbody/particle_integrate.comp
diff --git a/data/shaders/computenbody/particle_integrate.comp.spv b/data/shaders/glsl/computenbody/particle_integrate.comp.spv
similarity index 100%
rename from data/shaders/computenbody/particle_integrate.comp.spv
rename to data/shaders/glsl/computenbody/particle_integrate.comp.spv
diff --git a/data/shaders/computeparticles/generate-spirv.bat b/data/shaders/glsl/computeparticles/generate-spirv.bat
similarity index 100%
rename from data/shaders/computeparticles/generate-spirv.bat
rename to data/shaders/glsl/computeparticles/generate-spirv.bat
diff --git a/data/shaders/computeparticles/particle.comp b/data/shaders/glsl/computeparticles/particle.comp
similarity index 100%
rename from data/shaders/computeparticles/particle.comp
rename to data/shaders/glsl/computeparticles/particle.comp
diff --git a/data/shaders/computeparticles/particle.comp.spv b/data/shaders/glsl/computeparticles/particle.comp.spv
similarity index 100%
rename from data/shaders/computeparticles/particle.comp.spv
rename to data/shaders/glsl/computeparticles/particle.comp.spv
diff --git a/data/shaders/computeparticles/particle.frag b/data/shaders/glsl/computeparticles/particle.frag
similarity index 100%
rename from data/shaders/computeparticles/particle.frag
rename to data/shaders/glsl/computeparticles/particle.frag
diff --git a/data/shaders/computeparticles/particle.frag.spv b/data/shaders/glsl/computeparticles/particle.frag.spv
similarity index 100%
rename from data/shaders/computeparticles/particle.frag.spv
rename to data/shaders/glsl/computeparticles/particle.frag.spv
diff --git a/data/shaders/computeparticles/particle.vert b/data/shaders/glsl/computeparticles/particle.vert
similarity index 100%
rename from data/shaders/computeparticles/particle.vert
rename to data/shaders/glsl/computeparticles/particle.vert
diff --git a/data/shaders/computeparticles/particle.vert.spv b/data/shaders/glsl/computeparticles/particle.vert.spv
similarity index 100%
rename from data/shaders/computeparticles/particle.vert.spv
rename to data/shaders/glsl/computeparticles/particle.vert.spv
diff --git a/data/shaders/computeraytracing/generate-spirv.bat b/data/shaders/glsl/computeraytracing/generate-spirv.bat
similarity index 100%
rename from data/shaders/computeraytracing/generate-spirv.bat
rename to data/shaders/glsl/computeraytracing/generate-spirv.bat
diff --git a/data/shaders/computeraytracing/raytracing.comp b/data/shaders/glsl/computeraytracing/raytracing.comp
similarity index 100%
rename from data/shaders/computeraytracing/raytracing.comp
rename to data/shaders/glsl/computeraytracing/raytracing.comp
diff --git a/data/shaders/computeraytracing/raytracing.comp.spv b/data/shaders/glsl/computeraytracing/raytracing.comp.spv
similarity index 100%
rename from data/shaders/computeraytracing/raytracing.comp.spv
rename to data/shaders/glsl/computeraytracing/raytracing.comp.spv
diff --git a/data/shaders/computeraytracing/texture.frag b/data/shaders/glsl/computeraytracing/texture.frag
similarity index 100%
rename from data/shaders/computeraytracing/texture.frag
rename to data/shaders/glsl/computeraytracing/texture.frag
diff --git a/data/shaders/computeraytracing/texture.frag.spv b/data/shaders/glsl/computeraytracing/texture.frag.spv
similarity index 100%
rename from data/shaders/computeraytracing/texture.frag.spv
rename to data/shaders/glsl/computeraytracing/texture.frag.spv
diff --git a/data/shaders/computeraytracing/texture.vert b/data/shaders/glsl/computeraytracing/texture.vert
similarity index 100%
rename from data/shaders/computeraytracing/texture.vert
rename to data/shaders/glsl/computeraytracing/texture.vert
diff --git a/data/shaders/computeraytracing/texture.vert.spv b/data/shaders/glsl/computeraytracing/texture.vert.spv
similarity index 100%
rename from data/shaders/computeraytracing/texture.vert.spv
rename to data/shaders/glsl/computeraytracing/texture.vert.spv
diff --git a/data/shaders/computeshader/edgedetect.comp b/data/shaders/glsl/computeshader/edgedetect.comp
similarity index 100%
rename from data/shaders/computeshader/edgedetect.comp
rename to data/shaders/glsl/computeshader/edgedetect.comp
diff --git a/data/shaders/computeshader/edgedetect.comp.spv b/data/shaders/glsl/computeshader/edgedetect.comp.spv
similarity index 100%
rename from data/shaders/computeshader/edgedetect.comp.spv
rename to data/shaders/glsl/computeshader/edgedetect.comp.spv
diff --git a/data/shaders/computeshader/emboss.comp b/data/shaders/glsl/computeshader/emboss.comp
similarity index 100%
rename from data/shaders/computeshader/emboss.comp
rename to data/shaders/glsl/computeshader/emboss.comp
diff --git a/data/shaders/computeshader/emboss.comp.spv b/data/shaders/glsl/computeshader/emboss.comp.spv
similarity index 100%
rename from data/shaders/computeshader/emboss.comp.spv
rename to data/shaders/glsl/computeshader/emboss.comp.spv
diff --git a/data/shaders/computeshader/generate-spirv.bat b/data/shaders/glsl/computeshader/generate-spirv.bat
similarity index 100%
rename from data/shaders/computeshader/generate-spirv.bat
rename to data/shaders/glsl/computeshader/generate-spirv.bat
diff --git a/data/shaders/computeshader/sharpen.comp b/data/shaders/glsl/computeshader/sharpen.comp
similarity index 100%
rename from data/shaders/computeshader/sharpen.comp
rename to data/shaders/glsl/computeshader/sharpen.comp
diff --git a/data/shaders/computeshader/sharpen.comp.spv b/data/shaders/glsl/computeshader/sharpen.comp.spv
similarity index 100%
rename from data/shaders/computeshader/sharpen.comp.spv
rename to data/shaders/glsl/computeshader/sharpen.comp.spv
diff --git a/data/shaders/computeshader/texture.frag b/data/shaders/glsl/computeshader/texture.frag
similarity index 100%
rename from data/shaders/computeshader/texture.frag
rename to data/shaders/glsl/computeshader/texture.frag
diff --git a/data/shaders/computeshader/texture.frag.spv b/data/shaders/glsl/computeshader/texture.frag.spv
similarity index 100%
rename from data/shaders/computeshader/texture.frag.spv
rename to data/shaders/glsl/computeshader/texture.frag.spv
diff --git a/data/shaders/computeshader/texture.vert b/data/shaders/glsl/computeshader/texture.vert
similarity index 100%
rename from data/shaders/computeshader/texture.vert
rename to data/shaders/glsl/computeshader/texture.vert
diff --git a/data/shaders/computeshader/texture.vert.spv b/data/shaders/glsl/computeshader/texture.vert.spv
similarity index 100%
rename from data/shaders/computeshader/texture.vert.spv
rename to data/shaders/glsl/computeshader/texture.vert.spv
diff --git a/data/shaders/conditionalrender/model.frag b/data/shaders/glsl/conditionalrender/model.frag
similarity index 100%
rename from data/shaders/conditionalrender/model.frag
rename to data/shaders/glsl/conditionalrender/model.frag
diff --git a/data/shaders/conditionalrender/model.frag.spv b/data/shaders/glsl/conditionalrender/model.frag.spv
similarity index 100%
rename from data/shaders/conditionalrender/model.frag.spv
rename to data/shaders/glsl/conditionalrender/model.frag.spv
diff --git a/data/shaders/conditionalrender/model.vert b/data/shaders/glsl/conditionalrender/model.vert
similarity index 100%
rename from data/shaders/conditionalrender/model.vert
rename to data/shaders/glsl/conditionalrender/model.vert
diff --git a/data/shaders/conditionalrender/model.vert.spv b/data/shaders/glsl/conditionalrender/model.vert.spv
similarity index 100%
rename from data/shaders/conditionalrender/model.vert.spv
rename to data/shaders/glsl/conditionalrender/model.vert.spv
diff --git a/data/shaders/conservativeraster/fullscreen.frag b/data/shaders/glsl/conservativeraster/fullscreen.frag
similarity index 100%
rename from data/shaders/conservativeraster/fullscreen.frag
rename to data/shaders/glsl/conservativeraster/fullscreen.frag
diff --git a/data/shaders/conservativeraster/fullscreen.frag.spv b/data/shaders/glsl/conservativeraster/fullscreen.frag.spv
similarity index 100%
rename from data/shaders/conservativeraster/fullscreen.frag.spv
rename to data/shaders/glsl/conservativeraster/fullscreen.frag.spv
diff --git a/data/shaders/conservativeraster/fullscreen.vert b/data/shaders/glsl/conservativeraster/fullscreen.vert
similarity index 100%
rename from data/shaders/conservativeraster/fullscreen.vert
rename to data/shaders/glsl/conservativeraster/fullscreen.vert
diff --git a/data/shaders/conservativeraster/fullscreen.vert.spv b/data/shaders/glsl/conservativeraster/fullscreen.vert.spv
similarity index 100%
rename from data/shaders/conservativeraster/fullscreen.vert.spv
rename to data/shaders/glsl/conservativeraster/fullscreen.vert.spv
diff --git a/data/shaders/conservativeraster/triangle.frag b/data/shaders/glsl/conservativeraster/triangle.frag
similarity index 100%
rename from data/shaders/conservativeraster/triangle.frag
rename to data/shaders/glsl/conservativeraster/triangle.frag
diff --git a/data/shaders/conservativeraster/triangle.frag.spv b/data/shaders/glsl/conservativeraster/triangle.frag.spv
similarity index 100%
rename from data/shaders/conservativeraster/triangle.frag.spv
rename to data/shaders/glsl/conservativeraster/triangle.frag.spv
diff --git a/data/shaders/conservativeraster/triangle.vert b/data/shaders/glsl/conservativeraster/triangle.vert
similarity index 100%
rename from data/shaders/conservativeraster/triangle.vert
rename to data/shaders/glsl/conservativeraster/triangle.vert
diff --git a/data/shaders/conservativeraster/triangle.vert.spv b/data/shaders/glsl/conservativeraster/triangle.vert.spv
similarity index 100%
rename from data/shaders/conservativeraster/triangle.vert.spv
rename to data/shaders/glsl/conservativeraster/triangle.vert.spv
diff --git a/data/shaders/conservativeraster/triangleoverlay.frag b/data/shaders/glsl/conservativeraster/triangleoverlay.frag
similarity index 100%
rename from data/shaders/conservativeraster/triangleoverlay.frag
rename to data/shaders/glsl/conservativeraster/triangleoverlay.frag
diff --git a/data/shaders/conservativeraster/triangleoverlay.frag.spv b/data/shaders/glsl/conservativeraster/triangleoverlay.frag.spv
similarity index 100%
rename from data/shaders/conservativeraster/triangleoverlay.frag.spv
rename to data/shaders/glsl/conservativeraster/triangleoverlay.frag.spv
diff --git a/data/shaders/debugmarker/colorpass.frag b/data/shaders/glsl/debugmarker/colorpass.frag
similarity index 100%
rename from data/shaders/debugmarker/colorpass.frag
rename to data/shaders/glsl/debugmarker/colorpass.frag
diff --git a/data/shaders/debugmarker/colorpass.frag.spv b/data/shaders/glsl/debugmarker/colorpass.frag.spv
similarity index 100%
rename from data/shaders/debugmarker/colorpass.frag.spv
rename to data/shaders/glsl/debugmarker/colorpass.frag.spv
diff --git a/data/shaders/debugmarker/colorpass.vert b/data/shaders/glsl/debugmarker/colorpass.vert
similarity index 100%
rename from data/shaders/debugmarker/colorpass.vert
rename to data/shaders/glsl/debugmarker/colorpass.vert
diff --git a/data/shaders/debugmarker/colorpass.vert.spv b/data/shaders/glsl/debugmarker/colorpass.vert.spv
similarity index 100%
rename from data/shaders/debugmarker/colorpass.vert.spv
rename to data/shaders/glsl/debugmarker/colorpass.vert.spv
diff --git a/data/shaders/debugmarker/generate-spirv.bat b/data/shaders/glsl/debugmarker/generate-spirv.bat
similarity index 100%
rename from data/shaders/debugmarker/generate-spirv.bat
rename to data/shaders/glsl/debugmarker/generate-spirv.bat
diff --git a/data/shaders/debugmarker/postprocess.frag b/data/shaders/glsl/debugmarker/postprocess.frag
similarity index 100%
rename from data/shaders/debugmarker/postprocess.frag
rename to data/shaders/glsl/debugmarker/postprocess.frag
diff --git a/data/shaders/debugmarker/postprocess.frag.spv b/data/shaders/glsl/debugmarker/postprocess.frag.spv
similarity index 100%
rename from data/shaders/debugmarker/postprocess.frag.spv
rename to data/shaders/glsl/debugmarker/postprocess.frag.spv
diff --git a/data/shaders/debugmarker/postprocess.vert b/data/shaders/glsl/debugmarker/postprocess.vert
similarity index 100%
rename from data/shaders/debugmarker/postprocess.vert
rename to data/shaders/glsl/debugmarker/postprocess.vert
diff --git a/data/shaders/debugmarker/postprocess.vert.spv b/data/shaders/glsl/debugmarker/postprocess.vert.spv
similarity index 100%
rename from data/shaders/debugmarker/postprocess.vert.spv
rename to data/shaders/glsl/debugmarker/postprocess.vert.spv
diff --git a/data/shaders/debugmarker/toon.frag b/data/shaders/glsl/debugmarker/toon.frag
similarity index 100%
rename from data/shaders/debugmarker/toon.frag
rename to data/shaders/glsl/debugmarker/toon.frag
diff --git a/data/shaders/debugmarker/toon.frag.spv b/data/shaders/glsl/debugmarker/toon.frag.spv
similarity index 100%
rename from data/shaders/debugmarker/toon.frag.spv
rename to data/shaders/glsl/debugmarker/toon.frag.spv
diff --git a/data/shaders/debugmarker/toon.vert b/data/shaders/glsl/debugmarker/toon.vert
similarity index 100%
rename from data/shaders/debugmarker/toon.vert
rename to data/shaders/glsl/debugmarker/toon.vert
diff --git a/data/shaders/debugmarker/toon.vert.spv b/data/shaders/glsl/debugmarker/toon.vert.spv
similarity index 100%
rename from data/shaders/debugmarker/toon.vert.spv
rename to data/shaders/glsl/debugmarker/toon.vert.spv
diff --git a/data/shaders/deferred/debug.frag b/data/shaders/glsl/deferred/debug.frag
similarity index 100%
rename from data/shaders/deferred/debug.frag
rename to data/shaders/glsl/deferred/debug.frag
diff --git a/data/shaders/deferred/debug.frag.spv b/data/shaders/glsl/deferred/debug.frag.spv
similarity index 100%
rename from data/shaders/deferred/debug.frag.spv
rename to data/shaders/glsl/deferred/debug.frag.spv
diff --git a/data/shaders/deferred/debug.vert b/data/shaders/glsl/deferred/debug.vert
similarity index 100%
rename from data/shaders/deferred/debug.vert
rename to data/shaders/glsl/deferred/debug.vert
diff --git a/data/shaders/deferred/debug.vert.spv b/data/shaders/glsl/deferred/debug.vert.spv
similarity index 100%
rename from data/shaders/deferred/debug.vert.spv
rename to data/shaders/glsl/deferred/debug.vert.spv
diff --git a/data/shaders/deferred/deferred.frag b/data/shaders/glsl/deferred/deferred.frag
similarity index 100%
rename from data/shaders/deferred/deferred.frag
rename to data/shaders/glsl/deferred/deferred.frag
diff --git a/data/shaders/deferred/deferred.frag.spv b/data/shaders/glsl/deferred/deferred.frag.spv
similarity index 100%
rename from data/shaders/deferred/deferred.frag.spv
rename to data/shaders/glsl/deferred/deferred.frag.spv
diff --git a/data/shaders/deferred/deferred.vert b/data/shaders/glsl/deferred/deferred.vert
similarity index 100%
rename from data/shaders/deferred/deferred.vert
rename to data/shaders/glsl/deferred/deferred.vert
diff --git a/data/shaders/deferred/deferred.vert.spv b/data/shaders/glsl/deferred/deferred.vert.spv
similarity index 100%
rename from data/shaders/deferred/deferred.vert.spv
rename to data/shaders/glsl/deferred/deferred.vert.spv
diff --git a/data/shaders/deferred/generate-spirv.bat b/data/shaders/glsl/deferred/generate-spirv.bat
similarity index 100%
rename from data/shaders/deferred/generate-spirv.bat
rename to data/shaders/glsl/deferred/generate-spirv.bat
diff --git a/data/shaders/deferred/mrt.frag b/data/shaders/glsl/deferred/mrt.frag
similarity index 100%
rename from data/shaders/deferred/mrt.frag
rename to data/shaders/glsl/deferred/mrt.frag
diff --git a/data/shaders/deferred/mrt.frag.spv b/data/shaders/glsl/deferred/mrt.frag.spv
similarity index 100%
rename from data/shaders/deferred/mrt.frag.spv
rename to data/shaders/glsl/deferred/mrt.frag.spv
diff --git a/data/shaders/deferred/mrt.vert b/data/shaders/glsl/deferred/mrt.vert
similarity index 100%
rename from data/shaders/deferred/mrt.vert
rename to data/shaders/glsl/deferred/mrt.vert
diff --git a/data/shaders/deferred/mrt.vert.spv b/data/shaders/glsl/deferred/mrt.vert.spv
similarity index 100%
rename from data/shaders/deferred/mrt.vert.spv
rename to data/shaders/glsl/deferred/mrt.vert.spv
diff --git a/data/shaders/deferredmultisampling/debug.frag b/data/shaders/glsl/deferredmultisampling/debug.frag
similarity index 100%
rename from data/shaders/deferredmultisampling/debug.frag
rename to data/shaders/glsl/deferredmultisampling/debug.frag
diff --git a/data/shaders/deferredmultisampling/debug.frag.spv b/data/shaders/glsl/deferredmultisampling/debug.frag.spv
similarity index 100%
rename from data/shaders/deferredmultisampling/debug.frag.spv
rename to data/shaders/glsl/deferredmultisampling/debug.frag.spv
diff --git a/data/shaders/deferredmultisampling/debug.vert b/data/shaders/glsl/deferredmultisampling/debug.vert
similarity index 100%
rename from data/shaders/deferredmultisampling/debug.vert
rename to data/shaders/glsl/deferredmultisampling/debug.vert
diff --git a/data/shaders/deferredmultisampling/debug.vert.spv b/data/shaders/glsl/deferredmultisampling/debug.vert.spv
similarity index 100%
rename from data/shaders/deferredmultisampling/debug.vert.spv
rename to data/shaders/glsl/deferredmultisampling/debug.vert.spv
diff --git a/data/shaders/deferredmultisampling/deferred.frag b/data/shaders/glsl/deferredmultisampling/deferred.frag
similarity index 100%
rename from data/shaders/deferredmultisampling/deferred.frag
rename to data/shaders/glsl/deferredmultisampling/deferred.frag
diff --git a/data/shaders/deferredmultisampling/deferred.frag.spv b/data/shaders/glsl/deferredmultisampling/deferred.frag.spv
similarity index 100%
rename from data/shaders/deferredmultisampling/deferred.frag.spv
rename to data/shaders/glsl/deferredmultisampling/deferred.frag.spv
diff --git a/data/shaders/deferredmultisampling/deferred.vert b/data/shaders/glsl/deferredmultisampling/deferred.vert
similarity index 100%
rename from data/shaders/deferredmultisampling/deferred.vert
rename to data/shaders/glsl/deferredmultisampling/deferred.vert
diff --git a/data/shaders/deferredmultisampling/deferred.vert.spv b/data/shaders/glsl/deferredmultisampling/deferred.vert.spv
similarity index 100%
rename from data/shaders/deferredmultisampling/deferred.vert.spv
rename to data/shaders/glsl/deferredmultisampling/deferred.vert.spv
diff --git a/data/shaders/deferredmultisampling/mrt.frag b/data/shaders/glsl/deferredmultisampling/mrt.frag
similarity index 100%
rename from data/shaders/deferredmultisampling/mrt.frag
rename to data/shaders/glsl/deferredmultisampling/mrt.frag
diff --git a/data/shaders/deferredmultisampling/mrt.frag.spv b/data/shaders/glsl/deferredmultisampling/mrt.frag.spv
similarity index 100%
rename from data/shaders/deferredmultisampling/mrt.frag.spv
rename to data/shaders/glsl/deferredmultisampling/mrt.frag.spv
diff --git a/data/shaders/deferredmultisampling/mrt.vert b/data/shaders/glsl/deferredmultisampling/mrt.vert
similarity index 100%
rename from data/shaders/deferredmultisampling/mrt.vert
rename to data/shaders/glsl/deferredmultisampling/mrt.vert
diff --git a/data/shaders/deferredmultisampling/mrt.vert.spv b/data/shaders/glsl/deferredmultisampling/mrt.vert.spv
similarity index 100%
rename from data/shaders/deferredmultisampling/mrt.vert.spv
rename to data/shaders/glsl/deferredmultisampling/mrt.vert.spv
diff --git a/data/shaders/deferredshadows/debug.frag b/data/shaders/glsl/deferredshadows/debug.frag
similarity index 100%
rename from data/shaders/deferredshadows/debug.frag
rename to data/shaders/glsl/deferredshadows/debug.frag
diff --git a/data/shaders/deferredshadows/debug.frag.spv b/data/shaders/glsl/deferredshadows/debug.frag.spv
similarity index 100%
rename from data/shaders/deferredshadows/debug.frag.spv
rename to data/shaders/glsl/deferredshadows/debug.frag.spv
diff --git a/data/shaders/deferredshadows/debug.vert b/data/shaders/glsl/deferredshadows/debug.vert
similarity index 100%
rename from data/shaders/deferredshadows/debug.vert
rename to data/shaders/glsl/deferredshadows/debug.vert
diff --git a/data/shaders/deferredshadows/debug.vert.spv b/data/shaders/glsl/deferredshadows/debug.vert.spv
similarity index 100%
rename from data/shaders/deferredshadows/debug.vert.spv
rename to data/shaders/glsl/deferredshadows/debug.vert.spv
diff --git a/data/shaders/deferredshadows/deferred.frag b/data/shaders/glsl/deferredshadows/deferred.frag
similarity index 100%
rename from data/shaders/deferredshadows/deferred.frag
rename to data/shaders/glsl/deferredshadows/deferred.frag
diff --git a/data/shaders/deferredshadows/deferred.frag.spv b/data/shaders/glsl/deferredshadows/deferred.frag.spv
similarity index 100%
rename from data/shaders/deferredshadows/deferred.frag.spv
rename to data/shaders/glsl/deferredshadows/deferred.frag.spv
diff --git a/data/shaders/deferredshadows/deferred.vert b/data/shaders/glsl/deferredshadows/deferred.vert
similarity index 100%
rename from data/shaders/deferredshadows/deferred.vert
rename to data/shaders/glsl/deferredshadows/deferred.vert
diff --git a/data/shaders/deferredshadows/deferred.vert.spv b/data/shaders/glsl/deferredshadows/deferred.vert.spv
similarity index 100%
rename from data/shaders/deferredshadows/deferred.vert.spv
rename to data/shaders/glsl/deferredshadows/deferred.vert.spv
diff --git a/data/shaders/deferredshadows/generate-spirv.bat b/data/shaders/glsl/deferredshadows/generate-spirv.bat
similarity index 100%
rename from data/shaders/deferredshadows/generate-spirv.bat
rename to data/shaders/glsl/deferredshadows/generate-spirv.bat
diff --git a/data/shaders/deferredshadows/geom.spv b/data/shaders/glsl/deferredshadows/geom.spv
similarity index 100%
rename from data/shaders/deferredshadows/geom.spv
rename to data/shaders/glsl/deferredshadows/geom.spv
diff --git a/data/shaders/deferredshadows/mrt.frag b/data/shaders/glsl/deferredshadows/mrt.frag
similarity index 100%
rename from data/shaders/deferredshadows/mrt.frag
rename to data/shaders/glsl/deferredshadows/mrt.frag
diff --git a/data/shaders/deferredshadows/mrt.frag.spv b/data/shaders/glsl/deferredshadows/mrt.frag.spv
similarity index 100%
rename from data/shaders/deferredshadows/mrt.frag.spv
rename to data/shaders/glsl/deferredshadows/mrt.frag.spv
diff --git a/data/shaders/deferredshadows/mrt.vert b/data/shaders/glsl/deferredshadows/mrt.vert
similarity index 100%
rename from data/shaders/deferredshadows/mrt.vert
rename to data/shaders/glsl/deferredshadows/mrt.vert
diff --git a/data/shaders/deferredshadows/mrt.vert.spv b/data/shaders/glsl/deferredshadows/mrt.vert.spv
similarity index 100%
rename from data/shaders/deferredshadows/mrt.vert.spv
rename to data/shaders/glsl/deferredshadows/mrt.vert.spv
diff --git a/data/shaders/deferredshadows/shadow.geom b/data/shaders/glsl/deferredshadows/shadow.geom
similarity index 100%
rename from data/shaders/deferredshadows/shadow.geom
rename to data/shaders/glsl/deferredshadows/shadow.geom
diff --git a/data/shaders/deferredshadows/shadow.geom.spv b/data/shaders/glsl/deferredshadows/shadow.geom.spv
similarity index 100%
rename from data/shaders/deferredshadows/shadow.geom.spv
rename to data/shaders/glsl/deferredshadows/shadow.geom.spv
diff --git a/data/shaders/deferredshadows/shadow.vert b/data/shaders/glsl/deferredshadows/shadow.vert
similarity index 100%
rename from data/shaders/deferredshadows/shadow.vert
rename to data/shaders/glsl/deferredshadows/shadow.vert
diff --git a/data/shaders/deferredshadows/shadow.vert.spv b/data/shaders/glsl/deferredshadows/shadow.vert.spv
similarity index 100%
rename from data/shaders/deferredshadows/shadow.vert.spv
rename to data/shaders/glsl/deferredshadows/shadow.vert.spv
diff --git a/data/shaders/descriptorindexing/descriptorindexing.frag b/data/shaders/glsl/descriptorindexing/descriptorindexing.frag
similarity index 100%
rename from data/shaders/descriptorindexing/descriptorindexing.frag
rename to data/shaders/glsl/descriptorindexing/descriptorindexing.frag
diff --git a/data/shaders/descriptorindexing/descriptorindexing.frag.spv b/data/shaders/glsl/descriptorindexing/descriptorindexing.frag.spv
similarity index 100%
rename from data/shaders/descriptorindexing/descriptorindexing.frag.spv
rename to data/shaders/glsl/descriptorindexing/descriptorindexing.frag.spv
diff --git a/data/shaders/descriptorindexing/descriptorindexing.vert b/data/shaders/glsl/descriptorindexing/descriptorindexing.vert
similarity index 100%
rename from data/shaders/descriptorindexing/descriptorindexing.vert
rename to data/shaders/glsl/descriptorindexing/descriptorindexing.vert
diff --git a/data/shaders/descriptorindexing/descriptorindexing.vert.spv b/data/shaders/glsl/descriptorindexing/descriptorindexing.vert.spv
similarity index 100%
rename from data/shaders/descriptorindexing/descriptorindexing.vert.spv
rename to data/shaders/glsl/descriptorindexing/descriptorindexing.vert.spv
diff --git a/data/shaders/descriptorsets/cube.frag b/data/shaders/glsl/descriptorsets/cube.frag
similarity index 100%
rename from data/shaders/descriptorsets/cube.frag
rename to data/shaders/glsl/descriptorsets/cube.frag
diff --git a/data/shaders/descriptorsets/cube.frag.spv b/data/shaders/glsl/descriptorsets/cube.frag.spv
similarity index 100%
rename from data/shaders/descriptorsets/cube.frag.spv
rename to data/shaders/glsl/descriptorsets/cube.frag.spv
diff --git a/data/shaders/descriptorsets/cube.vert b/data/shaders/glsl/descriptorsets/cube.vert
similarity index 100%
rename from data/shaders/descriptorsets/cube.vert
rename to data/shaders/glsl/descriptorsets/cube.vert
diff --git a/data/shaders/descriptorsets/cube.vert.spv b/data/shaders/glsl/descriptorsets/cube.vert.spv
similarity index 100%
rename from data/shaders/descriptorsets/cube.vert.spv
rename to data/shaders/glsl/descriptorsets/cube.vert.spv
diff --git a/data/shaders/displacement/base.frag b/data/shaders/glsl/displacement/base.frag
similarity index 100%
rename from data/shaders/displacement/base.frag
rename to data/shaders/glsl/displacement/base.frag
diff --git a/data/shaders/displacement/base.frag.spv b/data/shaders/glsl/displacement/base.frag.spv
similarity index 100%
rename from data/shaders/displacement/base.frag.spv
rename to data/shaders/glsl/displacement/base.frag.spv
diff --git a/data/shaders/displacement/base.vert b/data/shaders/glsl/displacement/base.vert
similarity index 100%
rename from data/shaders/displacement/base.vert
rename to data/shaders/glsl/displacement/base.vert
diff --git a/data/shaders/displacement/base.vert.spv b/data/shaders/glsl/displacement/base.vert.spv
similarity index 100%
rename from data/shaders/displacement/base.vert.spv
rename to data/shaders/glsl/displacement/base.vert.spv
diff --git a/data/shaders/displacement/displacement.tesc b/data/shaders/glsl/displacement/displacement.tesc
similarity index 100%
rename from data/shaders/displacement/displacement.tesc
rename to data/shaders/glsl/displacement/displacement.tesc
diff --git a/data/shaders/displacement/displacement.tesc.spv b/data/shaders/glsl/displacement/displacement.tesc.spv
similarity index 100%
rename from data/shaders/displacement/displacement.tesc.spv
rename to data/shaders/glsl/displacement/displacement.tesc.spv
diff --git a/data/shaders/displacement/displacement.tese b/data/shaders/glsl/displacement/displacement.tese
similarity index 100%
rename from data/shaders/displacement/displacement.tese
rename to data/shaders/glsl/displacement/displacement.tese
diff --git a/data/shaders/displacement/displacement.tese.spv b/data/shaders/glsl/displacement/displacement.tese.spv
similarity index 100%
rename from data/shaders/displacement/displacement.tese.spv
rename to data/shaders/glsl/displacement/displacement.tese.spv
diff --git a/data/shaders/displacement/generate-spirv.bat b/data/shaders/glsl/displacement/generate-spirv.bat
similarity index 100%
rename from data/shaders/displacement/generate-spirv.bat
rename to data/shaders/glsl/displacement/generate-spirv.bat
diff --git a/data/shaders/distancefieldfonts/bitmap.frag b/data/shaders/glsl/distancefieldfonts/bitmap.frag
similarity index 100%
rename from data/shaders/distancefieldfonts/bitmap.frag
rename to data/shaders/glsl/distancefieldfonts/bitmap.frag
diff --git a/data/shaders/distancefieldfonts/bitmap.frag.spv b/data/shaders/glsl/distancefieldfonts/bitmap.frag.spv
similarity index 100%
rename from data/shaders/distancefieldfonts/bitmap.frag.spv
rename to data/shaders/glsl/distancefieldfonts/bitmap.frag.spv
diff --git a/data/shaders/distancefieldfonts/bitmap.vert b/data/shaders/glsl/distancefieldfonts/bitmap.vert
similarity index 100%
rename from data/shaders/distancefieldfonts/bitmap.vert
rename to data/shaders/glsl/distancefieldfonts/bitmap.vert
diff --git a/data/shaders/distancefieldfonts/bitmap.vert.spv b/data/shaders/glsl/distancefieldfonts/bitmap.vert.spv
similarity index 100%
rename from data/shaders/distancefieldfonts/bitmap.vert.spv
rename to data/shaders/glsl/distancefieldfonts/bitmap.vert.spv
diff --git a/data/shaders/distancefieldfonts/generate-spirv.bat b/data/shaders/glsl/distancefieldfonts/generate-spirv.bat
similarity index 100%
rename from data/shaders/distancefieldfonts/generate-spirv.bat
rename to data/shaders/glsl/distancefieldfonts/generate-spirv.bat
diff --git a/data/shaders/distancefieldfonts/sdf.frag b/data/shaders/glsl/distancefieldfonts/sdf.frag
similarity index 100%
rename from data/shaders/distancefieldfonts/sdf.frag
rename to data/shaders/glsl/distancefieldfonts/sdf.frag
diff --git a/data/shaders/distancefieldfonts/sdf.frag.spv b/data/shaders/glsl/distancefieldfonts/sdf.frag.spv
similarity index 100%
rename from data/shaders/distancefieldfonts/sdf.frag.spv
rename to data/shaders/glsl/distancefieldfonts/sdf.frag.spv
diff --git a/data/shaders/distancefieldfonts/sdf.vert b/data/shaders/glsl/distancefieldfonts/sdf.vert
similarity index 100%
rename from data/shaders/distancefieldfonts/sdf.vert
rename to data/shaders/glsl/distancefieldfonts/sdf.vert
diff --git a/data/shaders/distancefieldfonts/sdf.vert.spv b/data/shaders/glsl/distancefieldfonts/sdf.vert.spv
similarity index 100%
rename from data/shaders/distancefieldfonts/sdf.vert.spv
rename to data/shaders/glsl/distancefieldfonts/sdf.vert.spv
diff --git a/data/shaders/dynamicuniformbuffer/base.frag b/data/shaders/glsl/dynamicuniformbuffer/base.frag
similarity index 100%
rename from data/shaders/dynamicuniformbuffer/base.frag
rename to data/shaders/glsl/dynamicuniformbuffer/base.frag
diff --git a/data/shaders/dynamicuniformbuffer/base.frag.spv b/data/shaders/glsl/dynamicuniformbuffer/base.frag.spv
similarity index 100%
rename from data/shaders/dynamicuniformbuffer/base.frag.spv
rename to data/shaders/glsl/dynamicuniformbuffer/base.frag.spv
diff --git a/data/shaders/dynamicuniformbuffer/base.vert b/data/shaders/glsl/dynamicuniformbuffer/base.vert
similarity index 100%
rename from data/shaders/dynamicuniformbuffer/base.vert
rename to data/shaders/glsl/dynamicuniformbuffer/base.vert
diff --git a/data/shaders/dynamicuniformbuffer/base.vert.spv b/data/shaders/glsl/dynamicuniformbuffer/base.vert.spv
similarity index 100%
rename from data/shaders/dynamicuniformbuffer/base.vert.spv
rename to data/shaders/glsl/dynamicuniformbuffer/base.vert.spv
diff --git a/data/shaders/gears/gears.frag b/data/shaders/glsl/gears/gears.frag
similarity index 100%
rename from data/shaders/gears/gears.frag
rename to data/shaders/glsl/gears/gears.frag
diff --git a/data/shaders/gears/gears.frag.spv b/data/shaders/glsl/gears/gears.frag.spv
similarity index 100%
rename from data/shaders/gears/gears.frag.spv
rename to data/shaders/glsl/gears/gears.frag.spv
diff --git a/data/shaders/gears/gears.vert b/data/shaders/glsl/gears/gears.vert
similarity index 100%
rename from data/shaders/gears/gears.vert
rename to data/shaders/glsl/gears/gears.vert
diff --git a/data/shaders/gears/gears.vert.spv b/data/shaders/glsl/gears/gears.vert.spv
similarity index 100%
rename from data/shaders/gears/gears.vert.spv
rename to data/shaders/glsl/gears/gears.vert.spv
diff --git a/data/shaders/geometryshader/base.frag b/data/shaders/glsl/geometryshader/base.frag
similarity index 100%
rename from data/shaders/geometryshader/base.frag
rename to data/shaders/glsl/geometryshader/base.frag
diff --git a/data/shaders/geometryshader/base.frag.spv b/data/shaders/glsl/geometryshader/base.frag.spv
similarity index 100%
rename from data/shaders/geometryshader/base.frag.spv
rename to data/shaders/glsl/geometryshader/base.frag.spv
diff --git a/data/shaders/geometryshader/base.vert b/data/shaders/glsl/geometryshader/base.vert
similarity index 100%
rename from data/shaders/geometryshader/base.vert
rename to data/shaders/glsl/geometryshader/base.vert
diff --git a/data/shaders/geometryshader/base.vert.spv b/data/shaders/glsl/geometryshader/base.vert.spv
similarity index 100%
rename from data/shaders/geometryshader/base.vert.spv
rename to data/shaders/glsl/geometryshader/base.vert.spv
diff --git a/data/shaders/geometryshader/generate-spirv.bat b/data/shaders/glsl/geometryshader/generate-spirv.bat
similarity index 100%
rename from data/shaders/geometryshader/generate-spirv.bat
rename to data/shaders/glsl/geometryshader/generate-spirv.bat
diff --git a/data/shaders/geometryshader/mesh.frag b/data/shaders/glsl/geometryshader/mesh.frag
similarity index 100%
rename from data/shaders/geometryshader/mesh.frag
rename to data/shaders/glsl/geometryshader/mesh.frag
diff --git a/data/shaders/geometryshader/mesh.frag.spv b/data/shaders/glsl/geometryshader/mesh.frag.spv
similarity index 100%
rename from data/shaders/geometryshader/mesh.frag.spv
rename to data/shaders/glsl/geometryshader/mesh.frag.spv
diff --git a/data/shaders/geometryshader/mesh.vert b/data/shaders/glsl/geometryshader/mesh.vert
similarity index 100%
rename from data/shaders/geometryshader/mesh.vert
rename to data/shaders/glsl/geometryshader/mesh.vert
diff --git a/data/shaders/geometryshader/mesh.vert.spv b/data/shaders/glsl/geometryshader/mesh.vert.spv
similarity index 100%
rename from data/shaders/geometryshader/mesh.vert.spv
rename to data/shaders/glsl/geometryshader/mesh.vert.spv
diff --git a/data/shaders/geometryshader/normaldebug.geom b/data/shaders/glsl/geometryshader/normaldebug.geom
similarity index 100%
rename from data/shaders/geometryshader/normaldebug.geom
rename to data/shaders/glsl/geometryshader/normaldebug.geom
diff --git a/data/shaders/geometryshader/normaldebug.geom.spv b/data/shaders/glsl/geometryshader/normaldebug.geom.spv
similarity index 100%
rename from data/shaders/geometryshader/normaldebug.geom.spv
rename to data/shaders/glsl/geometryshader/normaldebug.geom.spv
diff --git a/data/shaders/gltfscene/mesh.frag b/data/shaders/glsl/gltfscene/mesh.frag
similarity index 100%
rename from data/shaders/gltfscene/mesh.frag
rename to data/shaders/glsl/gltfscene/mesh.frag
diff --git a/data/shaders/gltfscene/mesh.frag.spv b/data/shaders/glsl/gltfscene/mesh.frag.spv
similarity index 100%
rename from data/shaders/gltfscene/mesh.frag.spv
rename to data/shaders/glsl/gltfscene/mesh.frag.spv
diff --git a/data/shaders/gltfscene/mesh.vert b/data/shaders/glsl/gltfscene/mesh.vert
similarity index 100%
rename from data/shaders/gltfscene/mesh.vert
rename to data/shaders/glsl/gltfscene/mesh.vert
diff --git a/data/shaders/gltfscene/mesh.vert.spv b/data/shaders/glsl/gltfscene/mesh.vert.spv
similarity index 100%
rename from data/shaders/gltfscene/mesh.vert.spv
rename to data/shaders/glsl/gltfscene/mesh.vert.spv
diff --git a/data/shaders/hdr/bloom.frag b/data/shaders/glsl/hdr/bloom.frag
similarity index 100%
rename from data/shaders/hdr/bloom.frag
rename to data/shaders/glsl/hdr/bloom.frag
diff --git a/data/shaders/hdr/bloom.frag.spv b/data/shaders/glsl/hdr/bloom.frag.spv
similarity index 100%
rename from data/shaders/hdr/bloom.frag.spv
rename to data/shaders/glsl/hdr/bloom.frag.spv
diff --git a/data/shaders/hdr/bloom.vert b/data/shaders/glsl/hdr/bloom.vert
similarity index 100%
rename from data/shaders/hdr/bloom.vert
rename to data/shaders/glsl/hdr/bloom.vert
diff --git a/data/shaders/hdr/bloom.vert.spv b/data/shaders/glsl/hdr/bloom.vert.spv
similarity index 100%
rename from data/shaders/hdr/bloom.vert.spv
rename to data/shaders/glsl/hdr/bloom.vert.spv
diff --git a/data/shaders/hdr/composition.frag b/data/shaders/glsl/hdr/composition.frag
similarity index 100%
rename from data/shaders/hdr/composition.frag
rename to data/shaders/glsl/hdr/composition.frag
diff --git a/data/shaders/hdr/composition.frag.spv b/data/shaders/glsl/hdr/composition.frag.spv
similarity index 100%
rename from data/shaders/hdr/composition.frag.spv
rename to data/shaders/glsl/hdr/composition.frag.spv
diff --git a/data/shaders/hdr/composition.vert b/data/shaders/glsl/hdr/composition.vert
similarity index 100%
rename from data/shaders/hdr/composition.vert
rename to data/shaders/glsl/hdr/composition.vert
diff --git a/data/shaders/hdr/composition.vert.spv b/data/shaders/glsl/hdr/composition.vert.spv
similarity index 100%
rename from data/shaders/hdr/composition.vert.spv
rename to data/shaders/glsl/hdr/composition.vert.spv
diff --git a/data/shaders/hdr/gbuffer.frag b/data/shaders/glsl/hdr/gbuffer.frag
similarity index 100%
rename from data/shaders/hdr/gbuffer.frag
rename to data/shaders/glsl/hdr/gbuffer.frag
diff --git a/data/shaders/hdr/gbuffer.frag.spv b/data/shaders/glsl/hdr/gbuffer.frag.spv
similarity index 100%
rename from data/shaders/hdr/gbuffer.frag.spv
rename to data/shaders/glsl/hdr/gbuffer.frag.spv
diff --git a/data/shaders/hdr/gbuffer.vert b/data/shaders/glsl/hdr/gbuffer.vert
similarity index 100%
rename from data/shaders/hdr/gbuffer.vert
rename to data/shaders/glsl/hdr/gbuffer.vert
diff --git a/data/shaders/hdr/gbuffer.vert.spv b/data/shaders/glsl/hdr/gbuffer.vert.spv
similarity index 100%
rename from data/shaders/hdr/gbuffer.vert.spv
rename to data/shaders/glsl/hdr/gbuffer.vert.spv
diff --git a/data/shaders/imgui/scene.frag b/data/shaders/glsl/imgui/scene.frag
similarity index 100%
rename from data/shaders/imgui/scene.frag
rename to data/shaders/glsl/imgui/scene.frag
diff --git a/data/shaders/imgui/scene.frag.spv b/data/shaders/glsl/imgui/scene.frag.spv
similarity index 100%
rename from data/shaders/imgui/scene.frag.spv
rename to data/shaders/glsl/imgui/scene.frag.spv
diff --git a/data/shaders/imgui/scene.vert b/data/shaders/glsl/imgui/scene.vert
similarity index 100%
rename from data/shaders/imgui/scene.vert
rename to data/shaders/glsl/imgui/scene.vert
diff --git a/data/shaders/imgui/scene.vert.spv b/data/shaders/glsl/imgui/scene.vert.spv
similarity index 100%
rename from data/shaders/imgui/scene.vert.spv
rename to data/shaders/glsl/imgui/scene.vert.spv
diff --git a/data/shaders/imgui/ui.frag b/data/shaders/glsl/imgui/ui.frag
similarity index 100%
rename from data/shaders/imgui/ui.frag
rename to data/shaders/glsl/imgui/ui.frag
diff --git a/data/shaders/imgui/ui.frag.spv b/data/shaders/glsl/imgui/ui.frag.spv
similarity index 100%
rename from data/shaders/imgui/ui.frag.spv
rename to data/shaders/glsl/imgui/ui.frag.spv
diff --git a/data/shaders/imgui/ui.vert b/data/shaders/glsl/imgui/ui.vert
similarity index 100%
rename from data/shaders/imgui/ui.vert
rename to data/shaders/glsl/imgui/ui.vert
diff --git a/data/shaders/imgui/ui.vert.spv b/data/shaders/glsl/imgui/ui.vert.spv
similarity index 100%
rename from data/shaders/imgui/ui.vert.spv
rename to data/shaders/glsl/imgui/ui.vert.spv
diff --git a/data/shaders/indirectdraw/generate-spirv.bat b/data/shaders/glsl/indirectdraw/generate-spirv.bat
similarity index 100%
rename from data/shaders/indirectdraw/generate-spirv.bat
rename to data/shaders/glsl/indirectdraw/generate-spirv.bat
diff --git a/data/shaders/indirectdraw/ground.frag b/data/shaders/glsl/indirectdraw/ground.frag
similarity index 100%
rename from data/shaders/indirectdraw/ground.frag
rename to data/shaders/glsl/indirectdraw/ground.frag
diff --git a/data/shaders/indirectdraw/ground.frag.spv b/data/shaders/glsl/indirectdraw/ground.frag.spv
similarity index 100%
rename from data/shaders/indirectdraw/ground.frag.spv
rename to data/shaders/glsl/indirectdraw/ground.frag.spv
diff --git a/data/shaders/indirectdraw/ground.vert b/data/shaders/glsl/indirectdraw/ground.vert
similarity index 100%
rename from data/shaders/indirectdraw/ground.vert
rename to data/shaders/glsl/indirectdraw/ground.vert
diff --git a/data/shaders/indirectdraw/ground.vert.spv b/data/shaders/glsl/indirectdraw/ground.vert.spv
similarity index 100%
rename from data/shaders/indirectdraw/ground.vert.spv
rename to data/shaders/glsl/indirectdraw/ground.vert.spv
diff --git a/data/shaders/indirectdraw/indirectdraw.frag b/data/shaders/glsl/indirectdraw/indirectdraw.frag
similarity index 100%
rename from data/shaders/indirectdraw/indirectdraw.frag
rename to data/shaders/glsl/indirectdraw/indirectdraw.frag
diff --git a/data/shaders/indirectdraw/indirectdraw.frag.spv b/data/shaders/glsl/indirectdraw/indirectdraw.frag.spv
similarity index 100%
rename from data/shaders/indirectdraw/indirectdraw.frag.spv
rename to data/shaders/glsl/indirectdraw/indirectdraw.frag.spv
diff --git a/data/shaders/indirectdraw/indirectdraw.vert b/data/shaders/glsl/indirectdraw/indirectdraw.vert
similarity index 100%
rename from data/shaders/indirectdraw/indirectdraw.vert
rename to data/shaders/glsl/indirectdraw/indirectdraw.vert
diff --git a/data/shaders/indirectdraw/indirectdraw.vert.spv b/data/shaders/glsl/indirectdraw/indirectdraw.vert.spv
similarity index 100%
rename from data/shaders/indirectdraw/indirectdraw.vert.spv
rename to data/shaders/glsl/indirectdraw/indirectdraw.vert.spv
diff --git a/data/shaders/indirectdraw/skysphere.frag b/data/shaders/glsl/indirectdraw/skysphere.frag
similarity index 100%
rename from data/shaders/indirectdraw/skysphere.frag
rename to data/shaders/glsl/indirectdraw/skysphere.frag
diff --git a/data/shaders/indirectdraw/skysphere.frag.spv b/data/shaders/glsl/indirectdraw/skysphere.frag.spv
similarity index 100%
rename from data/shaders/indirectdraw/skysphere.frag.spv
rename to data/shaders/glsl/indirectdraw/skysphere.frag.spv
diff --git a/data/shaders/indirectdraw/skysphere.vert b/data/shaders/glsl/indirectdraw/skysphere.vert
similarity index 100%
rename from data/shaders/indirectdraw/skysphere.vert
rename to data/shaders/glsl/indirectdraw/skysphere.vert
diff --git a/data/shaders/indirectdraw/skysphere.vert.spv b/data/shaders/glsl/indirectdraw/skysphere.vert.spv
similarity index 100%
rename from data/shaders/indirectdraw/skysphere.vert.spv
rename to data/shaders/glsl/indirectdraw/skysphere.vert.spv
diff --git a/data/shaders/inlineuniformblocks/pbr.frag b/data/shaders/glsl/inlineuniformblocks/pbr.frag
similarity index 100%
rename from data/shaders/inlineuniformblocks/pbr.frag
rename to data/shaders/glsl/inlineuniformblocks/pbr.frag
diff --git a/data/shaders/inlineuniformblocks/pbr.frag.spv b/data/shaders/glsl/inlineuniformblocks/pbr.frag.spv
similarity index 100%
rename from data/shaders/inlineuniformblocks/pbr.frag.spv
rename to data/shaders/glsl/inlineuniformblocks/pbr.frag.spv
diff --git a/data/shaders/inlineuniformblocks/pbr.vert b/data/shaders/glsl/inlineuniformblocks/pbr.vert
similarity index 100%
rename from data/shaders/inlineuniformblocks/pbr.vert
rename to data/shaders/glsl/inlineuniformblocks/pbr.vert
diff --git a/data/shaders/inlineuniformblocks/pbr.vert.spv b/data/shaders/glsl/inlineuniformblocks/pbr.vert.spv
similarity index 100%
rename from data/shaders/inlineuniformblocks/pbr.vert.spv
rename to data/shaders/glsl/inlineuniformblocks/pbr.vert.spv
diff --git a/data/shaders/inputattachments/attachmentread.frag b/data/shaders/glsl/inputattachments/attachmentread.frag
similarity index 100%
rename from data/shaders/inputattachments/attachmentread.frag
rename to data/shaders/glsl/inputattachments/attachmentread.frag
diff --git a/data/shaders/inputattachments/attachmentread.frag.spv b/data/shaders/glsl/inputattachments/attachmentread.frag.spv
similarity index 100%
rename from data/shaders/inputattachments/attachmentread.frag.spv
rename to data/shaders/glsl/inputattachments/attachmentread.frag.spv
diff --git a/data/shaders/inputattachments/attachmentread.vert b/data/shaders/glsl/inputattachments/attachmentread.vert
similarity index 100%
rename from data/shaders/inputattachments/attachmentread.vert
rename to data/shaders/glsl/inputattachments/attachmentread.vert
diff --git a/data/shaders/inputattachments/attachmentread.vert.spv b/data/shaders/glsl/inputattachments/attachmentread.vert.spv
similarity index 100%
rename from data/shaders/inputattachments/attachmentread.vert.spv
rename to data/shaders/glsl/inputattachments/attachmentread.vert.spv
diff --git a/data/shaders/inputattachments/attachmentwrite.frag b/data/shaders/glsl/inputattachments/attachmentwrite.frag
similarity index 100%
rename from data/shaders/inputattachments/attachmentwrite.frag
rename to data/shaders/glsl/inputattachments/attachmentwrite.frag
diff --git a/data/shaders/inputattachments/attachmentwrite.frag.spv b/data/shaders/glsl/inputattachments/attachmentwrite.frag.spv
similarity index 100%
rename from data/shaders/inputattachments/attachmentwrite.frag.spv
rename to data/shaders/glsl/inputattachments/attachmentwrite.frag.spv
diff --git a/data/shaders/inputattachments/attachmentwrite.vert b/data/shaders/glsl/inputattachments/attachmentwrite.vert
similarity index 100%
rename from data/shaders/inputattachments/attachmentwrite.vert
rename to data/shaders/glsl/inputattachments/attachmentwrite.vert
diff --git a/data/shaders/inputattachments/attachmentwrite.vert.spv b/data/shaders/glsl/inputattachments/attachmentwrite.vert.spv
similarity index 100%
rename from data/shaders/inputattachments/attachmentwrite.vert.spv
rename to data/shaders/glsl/inputattachments/attachmentwrite.vert.spv
diff --git a/data/shaders/instancing/generate-spirv.bat b/data/shaders/glsl/instancing/generate-spirv.bat
similarity index 100%
rename from data/shaders/instancing/generate-spirv.bat
rename to data/shaders/glsl/instancing/generate-spirv.bat
diff --git a/data/shaders/instancing/instancing.frag b/data/shaders/glsl/instancing/instancing.frag
similarity index 100%
rename from data/shaders/instancing/instancing.frag
rename to data/shaders/glsl/instancing/instancing.frag
diff --git a/data/shaders/instancing/instancing.frag.spv b/data/shaders/glsl/instancing/instancing.frag.spv
similarity index 100%
rename from data/shaders/instancing/instancing.frag.spv
rename to data/shaders/glsl/instancing/instancing.frag.spv
diff --git a/data/shaders/instancing/instancing.vert b/data/shaders/glsl/instancing/instancing.vert
similarity index 100%
rename from data/shaders/instancing/instancing.vert
rename to data/shaders/glsl/instancing/instancing.vert
diff --git a/data/shaders/instancing/instancing.vert.spv b/data/shaders/glsl/instancing/instancing.vert.spv
similarity index 100%
rename from data/shaders/instancing/instancing.vert.spv
rename to data/shaders/glsl/instancing/instancing.vert.spv
diff --git a/data/shaders/instancing/planet.frag b/data/shaders/glsl/instancing/planet.frag
similarity index 100%
rename from data/shaders/instancing/planet.frag
rename to data/shaders/glsl/instancing/planet.frag
diff --git a/data/shaders/instancing/planet.frag.spv b/data/shaders/glsl/instancing/planet.frag.spv
similarity index 100%
rename from data/shaders/instancing/planet.frag.spv
rename to data/shaders/glsl/instancing/planet.frag.spv
diff --git a/data/shaders/instancing/planet.vert b/data/shaders/glsl/instancing/planet.vert
similarity index 100%
rename from data/shaders/instancing/planet.vert
rename to data/shaders/glsl/instancing/planet.vert
diff --git a/data/shaders/instancing/planet.vert.spv b/data/shaders/glsl/instancing/planet.vert.spv
similarity index 100%
rename from data/shaders/instancing/planet.vert.spv
rename to data/shaders/glsl/instancing/planet.vert.spv
diff --git a/data/shaders/instancing/starfield.frag b/data/shaders/glsl/instancing/starfield.frag
similarity index 100%
rename from data/shaders/instancing/starfield.frag
rename to data/shaders/glsl/instancing/starfield.frag
diff --git a/data/shaders/instancing/starfield.frag.spv b/data/shaders/glsl/instancing/starfield.frag.spv
similarity index 100%
rename from data/shaders/instancing/starfield.frag.spv
rename to data/shaders/glsl/instancing/starfield.frag.spv
diff --git a/data/shaders/instancing/starfield.vert b/data/shaders/glsl/instancing/starfield.vert
similarity index 100%
rename from data/shaders/instancing/starfield.vert
rename to data/shaders/glsl/instancing/starfield.vert
diff --git a/data/shaders/instancing/starfield.vert.spv b/data/shaders/glsl/instancing/starfield.vert.spv
similarity index 100%
rename from data/shaders/instancing/starfield.vert.spv
rename to data/shaders/glsl/instancing/starfield.vert.spv
diff --git a/data/shaders/multisampling/mesh.frag b/data/shaders/glsl/multisampling/mesh.frag
similarity index 100%
rename from data/shaders/multisampling/mesh.frag
rename to data/shaders/glsl/multisampling/mesh.frag
diff --git a/data/shaders/multisampling/mesh.frag.spv b/data/shaders/glsl/multisampling/mesh.frag.spv
similarity index 100%
rename from data/shaders/multisampling/mesh.frag.spv
rename to data/shaders/glsl/multisampling/mesh.frag.spv
diff --git a/data/shaders/multisampling/mesh.vert b/data/shaders/glsl/multisampling/mesh.vert
similarity index 100%
rename from data/shaders/multisampling/mesh.vert
rename to data/shaders/glsl/multisampling/mesh.vert
diff --git a/data/shaders/multisampling/mesh.vert.spv b/data/shaders/glsl/multisampling/mesh.vert.spv
similarity index 100%
rename from data/shaders/multisampling/mesh.vert.spv
rename to data/shaders/glsl/multisampling/mesh.vert.spv
diff --git a/data/shaders/multithreading/generate-spirv.bat b/data/shaders/glsl/multithreading/generate-spirv.bat
similarity index 100%
rename from data/shaders/multithreading/generate-spirv.bat
rename to data/shaders/glsl/multithreading/generate-spirv.bat
diff --git a/data/shaders/multithreading/phong.frag b/data/shaders/glsl/multithreading/phong.frag
similarity index 100%
rename from data/shaders/multithreading/phong.frag
rename to data/shaders/glsl/multithreading/phong.frag
diff --git a/data/shaders/multithreading/phong.frag.spv b/data/shaders/glsl/multithreading/phong.frag.spv
similarity index 100%
rename from data/shaders/multithreading/phong.frag.spv
rename to data/shaders/glsl/multithreading/phong.frag.spv
diff --git a/data/shaders/multithreading/phong.vert b/data/shaders/glsl/multithreading/phong.vert
similarity index 100%
rename from data/shaders/multithreading/phong.vert
rename to data/shaders/glsl/multithreading/phong.vert
diff --git a/data/shaders/multithreading/phong.vert.spv b/data/shaders/glsl/multithreading/phong.vert.spv
similarity index 100%
rename from data/shaders/multithreading/phong.vert.spv
rename to data/shaders/glsl/multithreading/phong.vert.spv
diff --git a/data/shaders/multithreading/starsphere.frag b/data/shaders/glsl/multithreading/starsphere.frag
similarity index 100%
rename from data/shaders/multithreading/starsphere.frag
rename to data/shaders/glsl/multithreading/starsphere.frag
diff --git a/data/shaders/multithreading/starsphere.frag.spv b/data/shaders/glsl/multithreading/starsphere.frag.spv
similarity index 100%
rename from data/shaders/multithreading/starsphere.frag.spv
rename to data/shaders/glsl/multithreading/starsphere.frag.spv
diff --git a/data/shaders/multithreading/starsphere.vert b/data/shaders/glsl/multithreading/starsphere.vert
similarity index 100%
rename from data/shaders/multithreading/starsphere.vert
rename to data/shaders/glsl/multithreading/starsphere.vert
diff --git a/data/shaders/multithreading/starsphere.vert.spv b/data/shaders/glsl/multithreading/starsphere.vert.spv
similarity index 100%
rename from data/shaders/multithreading/starsphere.vert.spv
rename to data/shaders/glsl/multithreading/starsphere.vert.spv
diff --git a/data/shaders/multiview/multiview.frag b/data/shaders/glsl/multiview/multiview.frag
similarity index 100%
rename from data/shaders/multiview/multiview.frag
rename to data/shaders/glsl/multiview/multiview.frag
diff --git a/data/shaders/multiview/multiview.frag.spv b/data/shaders/glsl/multiview/multiview.frag.spv
similarity index 100%
rename from data/shaders/multiview/multiview.frag.spv
rename to data/shaders/glsl/multiview/multiview.frag.spv
diff --git a/data/shaders/multiview/multiview.vert b/data/shaders/glsl/multiview/multiview.vert
similarity index 100%
rename from data/shaders/multiview/multiview.vert
rename to data/shaders/glsl/multiview/multiview.vert
diff --git a/data/shaders/multiview/multiview.vert.spv b/data/shaders/glsl/multiview/multiview.vert.spv
similarity index 100%
rename from data/shaders/multiview/multiview.vert.spv
rename to data/shaders/glsl/multiview/multiview.vert.spv
diff --git a/data/shaders/multiview/viewdisplay.frag b/data/shaders/glsl/multiview/viewdisplay.frag
similarity index 100%
rename from data/shaders/multiview/viewdisplay.frag
rename to data/shaders/glsl/multiview/viewdisplay.frag
diff --git a/data/shaders/multiview/viewdisplay.frag.spv b/data/shaders/glsl/multiview/viewdisplay.frag.spv
similarity index 100%
rename from data/shaders/multiview/viewdisplay.frag.spv
rename to data/shaders/glsl/multiview/viewdisplay.frag.spv
diff --git a/data/shaders/multiview/viewdisplay.vert b/data/shaders/glsl/multiview/viewdisplay.vert
similarity index 100%
rename from data/shaders/multiview/viewdisplay.vert
rename to data/shaders/glsl/multiview/viewdisplay.vert
diff --git a/data/shaders/multiview/viewdisplay.vert.spv b/data/shaders/glsl/multiview/viewdisplay.vert.spv
similarity index 100%
rename from data/shaders/multiview/viewdisplay.vert.spv
rename to data/shaders/glsl/multiview/viewdisplay.vert.spv
diff --git a/data/shaders/negativeviewportheight/quad.frag b/data/shaders/glsl/negativeviewportheight/quad.frag
similarity index 100%
rename from data/shaders/negativeviewportheight/quad.frag
rename to data/shaders/glsl/negativeviewportheight/quad.frag
diff --git a/data/shaders/negativeviewportheight/quad.frag.spv b/data/shaders/glsl/negativeviewportheight/quad.frag.spv
similarity index 100%
rename from data/shaders/negativeviewportheight/quad.frag.spv
rename to data/shaders/glsl/negativeviewportheight/quad.frag.spv
diff --git a/data/shaders/negativeviewportheight/quad.vert b/data/shaders/glsl/negativeviewportheight/quad.vert
similarity index 100%
rename from data/shaders/negativeviewportheight/quad.vert
rename to data/shaders/glsl/negativeviewportheight/quad.vert
diff --git a/data/shaders/negativeviewportheight/quad.vert.spv b/data/shaders/glsl/negativeviewportheight/quad.vert.spv
similarity index 100%
rename from data/shaders/negativeviewportheight/quad.vert.spv
rename to data/shaders/glsl/negativeviewportheight/quad.vert.spv
diff --git a/data/shaders/nv_ray_tracing_basic/closesthit.rchit b/data/shaders/glsl/nv_ray_tracing_basic/closesthit.rchit
similarity index 100%
rename from data/shaders/nv_ray_tracing_basic/closesthit.rchit
rename to data/shaders/glsl/nv_ray_tracing_basic/closesthit.rchit
diff --git a/data/shaders/nv_ray_tracing_basic/closesthit.rchit.spv b/data/shaders/glsl/nv_ray_tracing_basic/closesthit.rchit.spv
similarity index 100%
rename from data/shaders/nv_ray_tracing_basic/closesthit.rchit.spv
rename to data/shaders/glsl/nv_ray_tracing_basic/closesthit.rchit.spv
diff --git a/data/shaders/nv_ray_tracing_basic/miss.rmiss b/data/shaders/glsl/nv_ray_tracing_basic/miss.rmiss
similarity index 100%
rename from data/shaders/nv_ray_tracing_basic/miss.rmiss
rename to data/shaders/glsl/nv_ray_tracing_basic/miss.rmiss
diff --git a/data/shaders/nv_ray_tracing_basic/miss.rmiss.spv b/data/shaders/glsl/nv_ray_tracing_basic/miss.rmiss.spv
similarity index 100%
rename from data/shaders/nv_ray_tracing_basic/miss.rmiss.spv
rename to data/shaders/glsl/nv_ray_tracing_basic/miss.rmiss.spv
diff --git a/data/shaders/nv_ray_tracing_basic/raygen.rgen b/data/shaders/glsl/nv_ray_tracing_basic/raygen.rgen
similarity index 100%
rename from data/shaders/nv_ray_tracing_basic/raygen.rgen
rename to data/shaders/glsl/nv_ray_tracing_basic/raygen.rgen
diff --git a/data/shaders/nv_ray_tracing_basic/raygen.rgen.spv b/data/shaders/glsl/nv_ray_tracing_basic/raygen.rgen.spv
similarity index 100%
rename from data/shaders/nv_ray_tracing_basic/raygen.rgen.spv
rename to data/shaders/glsl/nv_ray_tracing_basic/raygen.rgen.spv
diff --git a/data/shaders/nv_ray_tracing_reflections/closesthit.rchit b/data/shaders/glsl/nv_ray_tracing_reflections/closesthit.rchit
similarity index 100%
rename from data/shaders/nv_ray_tracing_reflections/closesthit.rchit
rename to data/shaders/glsl/nv_ray_tracing_reflections/closesthit.rchit
diff --git a/data/shaders/nv_ray_tracing_reflections/closesthit.rchit.spv b/data/shaders/glsl/nv_ray_tracing_reflections/closesthit.rchit.spv
similarity index 100%
rename from data/shaders/nv_ray_tracing_reflections/closesthit.rchit.spv
rename to data/shaders/glsl/nv_ray_tracing_reflections/closesthit.rchit.spv
diff --git a/data/shaders/nv_ray_tracing_reflections/miss.rmiss b/data/shaders/glsl/nv_ray_tracing_reflections/miss.rmiss
similarity index 100%
rename from data/shaders/nv_ray_tracing_reflections/miss.rmiss
rename to data/shaders/glsl/nv_ray_tracing_reflections/miss.rmiss
diff --git a/data/shaders/nv_ray_tracing_reflections/miss.rmiss.spv b/data/shaders/glsl/nv_ray_tracing_reflections/miss.rmiss.spv
similarity index 100%
rename from data/shaders/nv_ray_tracing_reflections/miss.rmiss.spv
rename to data/shaders/glsl/nv_ray_tracing_reflections/miss.rmiss.spv
diff --git a/data/shaders/nv_ray_tracing_reflections/raygen.rgen b/data/shaders/glsl/nv_ray_tracing_reflections/raygen.rgen
similarity index 100%
rename from data/shaders/nv_ray_tracing_reflections/raygen.rgen
rename to data/shaders/glsl/nv_ray_tracing_reflections/raygen.rgen
diff --git a/data/shaders/nv_ray_tracing_reflections/raygen.rgen.spv b/data/shaders/glsl/nv_ray_tracing_reflections/raygen.rgen.spv
similarity index 100%
rename from data/shaders/nv_ray_tracing_reflections/raygen.rgen.spv
rename to data/shaders/glsl/nv_ray_tracing_reflections/raygen.rgen.spv
diff --git a/data/shaders/nv_ray_tracing_shadows/closesthit.rchit b/data/shaders/glsl/nv_ray_tracing_shadows/closesthit.rchit
similarity index 100%
rename from data/shaders/nv_ray_tracing_shadows/closesthit.rchit
rename to data/shaders/glsl/nv_ray_tracing_shadows/closesthit.rchit
diff --git a/data/shaders/nv_ray_tracing_shadows/closesthit.rchit.spv b/data/shaders/glsl/nv_ray_tracing_shadows/closesthit.rchit.spv
similarity index 100%
rename from data/shaders/nv_ray_tracing_shadows/closesthit.rchit.spv
rename to data/shaders/glsl/nv_ray_tracing_shadows/closesthit.rchit.spv
diff --git a/data/shaders/nv_ray_tracing_shadows/miss.rmiss b/data/shaders/glsl/nv_ray_tracing_shadows/miss.rmiss
similarity index 100%
rename from data/shaders/nv_ray_tracing_shadows/miss.rmiss
rename to data/shaders/glsl/nv_ray_tracing_shadows/miss.rmiss
diff --git a/data/shaders/nv_ray_tracing_shadows/miss.rmiss.spv b/data/shaders/glsl/nv_ray_tracing_shadows/miss.rmiss.spv
similarity index 100%
rename from data/shaders/nv_ray_tracing_shadows/miss.rmiss.spv
rename to data/shaders/glsl/nv_ray_tracing_shadows/miss.rmiss.spv
diff --git a/data/shaders/nv_ray_tracing_shadows/raygen.rgen b/data/shaders/glsl/nv_ray_tracing_shadows/raygen.rgen
similarity index 100%
rename from data/shaders/nv_ray_tracing_shadows/raygen.rgen
rename to data/shaders/glsl/nv_ray_tracing_shadows/raygen.rgen
diff --git a/data/shaders/nv_ray_tracing_shadows/raygen.rgen.spv b/data/shaders/glsl/nv_ray_tracing_shadows/raygen.rgen.spv
similarity index 100%
rename from data/shaders/nv_ray_tracing_shadows/raygen.rgen.spv
rename to data/shaders/glsl/nv_ray_tracing_shadows/raygen.rgen.spv
diff --git a/data/shaders/nv_ray_tracing_shadows/shadow.rmiss b/data/shaders/glsl/nv_ray_tracing_shadows/shadow.rmiss
similarity index 100%
rename from data/shaders/nv_ray_tracing_shadows/shadow.rmiss
rename to data/shaders/glsl/nv_ray_tracing_shadows/shadow.rmiss
diff --git a/data/shaders/nv_ray_tracing_shadows/shadow.rmiss.spv b/data/shaders/glsl/nv_ray_tracing_shadows/shadow.rmiss.spv
similarity index 100%
rename from data/shaders/nv_ray_tracing_shadows/shadow.rmiss.spv
rename to data/shaders/glsl/nv_ray_tracing_shadows/shadow.rmiss.spv
diff --git a/data/shaders/occlusionquery/generate-spirv.bat b/data/shaders/glsl/occlusionquery/generate-spirv.bat
similarity index 100%
rename from data/shaders/occlusionquery/generate-spirv.bat
rename to data/shaders/glsl/occlusionquery/generate-spirv.bat
diff --git a/data/shaders/occlusionquery/mesh.frag b/data/shaders/glsl/occlusionquery/mesh.frag
similarity index 100%
rename from data/shaders/occlusionquery/mesh.frag
rename to data/shaders/glsl/occlusionquery/mesh.frag
diff --git a/data/shaders/occlusionquery/mesh.frag.spv b/data/shaders/glsl/occlusionquery/mesh.frag.spv
similarity index 100%
rename from data/shaders/occlusionquery/mesh.frag.spv
rename to data/shaders/glsl/occlusionquery/mesh.frag.spv
diff --git a/data/shaders/occlusionquery/mesh.vert b/data/shaders/glsl/occlusionquery/mesh.vert
similarity index 100%
rename from data/shaders/occlusionquery/mesh.vert
rename to data/shaders/glsl/occlusionquery/mesh.vert
diff --git a/data/shaders/occlusionquery/mesh.vert.spv b/data/shaders/glsl/occlusionquery/mesh.vert.spv
similarity index 100%
rename from data/shaders/occlusionquery/mesh.vert.spv
rename to data/shaders/glsl/occlusionquery/mesh.vert.spv
diff --git a/data/shaders/occlusionquery/occluder.frag b/data/shaders/glsl/occlusionquery/occluder.frag
similarity index 100%
rename from data/shaders/occlusionquery/occluder.frag
rename to data/shaders/glsl/occlusionquery/occluder.frag
diff --git a/data/shaders/occlusionquery/occluder.frag.spv b/data/shaders/glsl/occlusionquery/occluder.frag.spv
similarity index 100%
rename from data/shaders/occlusionquery/occluder.frag.spv
rename to data/shaders/glsl/occlusionquery/occluder.frag.spv
diff --git a/data/shaders/occlusionquery/occluder.vert b/data/shaders/glsl/occlusionquery/occluder.vert
similarity index 100%
rename from data/shaders/occlusionquery/occluder.vert
rename to data/shaders/glsl/occlusionquery/occluder.vert
diff --git a/data/shaders/occlusionquery/occluder.vert.spv b/data/shaders/glsl/occlusionquery/occluder.vert.spv
similarity index 100%
rename from data/shaders/occlusionquery/occluder.vert.spv
rename to data/shaders/glsl/occlusionquery/occluder.vert.spv
diff --git a/data/shaders/occlusionquery/simple.frag b/data/shaders/glsl/occlusionquery/simple.frag
similarity index 100%
rename from data/shaders/occlusionquery/simple.frag
rename to data/shaders/glsl/occlusionquery/simple.frag
diff --git a/data/shaders/occlusionquery/simple.frag.spv b/data/shaders/glsl/occlusionquery/simple.frag.spv
similarity index 100%
rename from data/shaders/occlusionquery/simple.frag.spv
rename to data/shaders/glsl/occlusionquery/simple.frag.spv
diff --git a/data/shaders/occlusionquery/simple.vert b/data/shaders/glsl/occlusionquery/simple.vert
similarity index 100%
rename from data/shaders/occlusionquery/simple.vert
rename to data/shaders/glsl/occlusionquery/simple.vert
diff --git a/data/shaders/occlusionquery/simple.vert.spv b/data/shaders/glsl/occlusionquery/simple.vert.spv
similarity index 100%
rename from data/shaders/occlusionquery/simple.vert.spv
rename to data/shaders/glsl/occlusionquery/simple.vert.spv
diff --git a/data/shaders/offscreen/generate-spirv.bat b/data/shaders/glsl/offscreen/generate-spirv.bat
similarity index 100%
rename from data/shaders/offscreen/generate-spirv.bat
rename to data/shaders/glsl/offscreen/generate-spirv.bat
diff --git a/data/shaders/offscreen/mirror.frag b/data/shaders/glsl/offscreen/mirror.frag
similarity index 100%
rename from data/shaders/offscreen/mirror.frag
rename to data/shaders/glsl/offscreen/mirror.frag
diff --git a/data/shaders/offscreen/mirror.frag.spv b/data/shaders/glsl/offscreen/mirror.frag.spv
similarity index 100%
rename from data/shaders/offscreen/mirror.frag.spv
rename to data/shaders/glsl/offscreen/mirror.frag.spv
diff --git a/data/shaders/offscreen/mirror.vert b/data/shaders/glsl/offscreen/mirror.vert
similarity index 100%
rename from data/shaders/offscreen/mirror.vert
rename to data/shaders/glsl/offscreen/mirror.vert
diff --git a/data/shaders/offscreen/mirror.vert.spv b/data/shaders/glsl/offscreen/mirror.vert.spv
similarity index 100%
rename from data/shaders/offscreen/mirror.vert.spv
rename to data/shaders/glsl/offscreen/mirror.vert.spv
diff --git a/data/shaders/offscreen/phong.frag b/data/shaders/glsl/offscreen/phong.frag
similarity index 100%
rename from data/shaders/offscreen/phong.frag
rename to data/shaders/glsl/offscreen/phong.frag
diff --git a/data/shaders/offscreen/phong.frag.spv b/data/shaders/glsl/offscreen/phong.frag.spv
similarity index 100%
rename from data/shaders/offscreen/phong.frag.spv
rename to data/shaders/glsl/offscreen/phong.frag.spv
diff --git a/data/shaders/offscreen/phong.vert b/data/shaders/glsl/offscreen/phong.vert
similarity index 100%
rename from data/shaders/offscreen/phong.vert
rename to data/shaders/glsl/offscreen/phong.vert
diff --git a/data/shaders/offscreen/phong.vert.spv b/data/shaders/glsl/offscreen/phong.vert.spv
similarity index 100%
rename from data/shaders/offscreen/phong.vert.spv
rename to data/shaders/glsl/offscreen/phong.vert.spv
diff --git a/data/shaders/offscreen/quad.frag b/data/shaders/glsl/offscreen/quad.frag
similarity index 100%
rename from data/shaders/offscreen/quad.frag
rename to data/shaders/glsl/offscreen/quad.frag
diff --git a/data/shaders/offscreen/quad.frag.spv b/data/shaders/glsl/offscreen/quad.frag.spv
similarity index 100%
rename from data/shaders/offscreen/quad.frag.spv
rename to data/shaders/glsl/offscreen/quad.frag.spv
diff --git a/data/shaders/offscreen/quad.vert b/data/shaders/glsl/offscreen/quad.vert
similarity index 100%
rename from data/shaders/offscreen/quad.vert
rename to data/shaders/glsl/offscreen/quad.vert
diff --git a/data/shaders/offscreen/quad.vert.spv b/data/shaders/glsl/offscreen/quad.vert.spv
similarity index 100%
rename from data/shaders/offscreen/quad.vert.spv
rename to data/shaders/glsl/offscreen/quad.vert.spv
diff --git a/data/shaders/parallaxmapping/parallax.frag b/data/shaders/glsl/parallaxmapping/parallax.frag
similarity index 100%
rename from data/shaders/parallaxmapping/parallax.frag
rename to data/shaders/glsl/parallaxmapping/parallax.frag
diff --git a/data/shaders/parallaxmapping/parallax.frag.spv b/data/shaders/glsl/parallaxmapping/parallax.frag.spv
similarity index 100%
rename from data/shaders/parallaxmapping/parallax.frag.spv
rename to data/shaders/glsl/parallaxmapping/parallax.frag.spv
diff --git a/data/shaders/parallaxmapping/parallax.vert b/data/shaders/glsl/parallaxmapping/parallax.vert
similarity index 100%
rename from data/shaders/parallaxmapping/parallax.vert
rename to data/shaders/glsl/parallaxmapping/parallax.vert
diff --git a/data/shaders/parallaxmapping/parallax.vert.spv b/data/shaders/glsl/parallaxmapping/parallax.vert.spv
similarity index 100%
rename from data/shaders/parallaxmapping/parallax.vert.spv
rename to data/shaders/glsl/parallaxmapping/parallax.vert.spv
diff --git a/data/shaders/particlefire/generate-spirv.bat b/data/shaders/glsl/particlefire/generate-spirv.bat
similarity index 100%
rename from data/shaders/particlefire/generate-spirv.bat
rename to data/shaders/glsl/particlefire/generate-spirv.bat
diff --git a/data/shaders/particlefire/normalmap.frag b/data/shaders/glsl/particlefire/normalmap.frag
similarity index 100%
rename from data/shaders/particlefire/normalmap.frag
rename to data/shaders/glsl/particlefire/normalmap.frag
diff --git a/data/shaders/particlefire/normalmap.frag.spv b/data/shaders/glsl/particlefire/normalmap.frag.spv
similarity index 100%
rename from data/shaders/particlefire/normalmap.frag.spv
rename to data/shaders/glsl/particlefire/normalmap.frag.spv
diff --git a/data/shaders/particlefire/normalmap.vert b/data/shaders/glsl/particlefire/normalmap.vert
similarity index 100%
rename from data/shaders/particlefire/normalmap.vert
rename to data/shaders/glsl/particlefire/normalmap.vert
diff --git a/data/shaders/particlefire/normalmap.vert.spv b/data/shaders/glsl/particlefire/normalmap.vert.spv
similarity index 100%
rename from data/shaders/particlefire/normalmap.vert.spv
rename to data/shaders/glsl/particlefire/normalmap.vert.spv
diff --git a/data/shaders/particlefire/particle.frag b/data/shaders/glsl/particlefire/particle.frag
similarity index 100%
rename from data/shaders/particlefire/particle.frag
rename to data/shaders/glsl/particlefire/particle.frag
diff --git a/data/shaders/particlefire/particle.frag.spv b/data/shaders/glsl/particlefire/particle.frag.spv
similarity index 100%
rename from data/shaders/particlefire/particle.frag.spv
rename to data/shaders/glsl/particlefire/particle.frag.spv
diff --git a/data/shaders/particlefire/particle.vert b/data/shaders/glsl/particlefire/particle.vert
similarity index 100%
rename from data/shaders/particlefire/particle.vert
rename to data/shaders/glsl/particlefire/particle.vert
diff --git a/data/shaders/particlefire/particle.vert.spv b/data/shaders/glsl/particlefire/particle.vert.spv
similarity index 100%
rename from data/shaders/particlefire/particle.vert.spv
rename to data/shaders/glsl/particlefire/particle.vert.spv
diff --git a/data/shaders/pbrbasic/pbr.frag b/data/shaders/glsl/pbrbasic/pbr.frag
similarity index 100%
rename from data/shaders/pbrbasic/pbr.frag
rename to data/shaders/glsl/pbrbasic/pbr.frag
diff --git a/data/shaders/pbrbasic/pbr.frag.spv b/data/shaders/glsl/pbrbasic/pbr.frag.spv
similarity index 100%
rename from data/shaders/pbrbasic/pbr.frag.spv
rename to data/shaders/glsl/pbrbasic/pbr.frag.spv
diff --git a/data/shaders/pbrbasic/pbr.vert b/data/shaders/glsl/pbrbasic/pbr.vert
similarity index 100%
rename from data/shaders/pbrbasic/pbr.vert
rename to data/shaders/glsl/pbrbasic/pbr.vert
diff --git a/data/shaders/pbrbasic/pbr.vert.spv b/data/shaders/glsl/pbrbasic/pbr.vert.spv
similarity index 100%
rename from data/shaders/pbrbasic/pbr.vert.spv
rename to data/shaders/glsl/pbrbasic/pbr.vert.spv
diff --git a/data/shaders/pbribl/filtercube.vert b/data/shaders/glsl/pbribl/filtercube.vert
similarity index 100%
rename from data/shaders/pbribl/filtercube.vert
rename to data/shaders/glsl/pbribl/filtercube.vert
diff --git a/data/shaders/pbribl/filtercube.vert.spv b/data/shaders/glsl/pbribl/filtercube.vert.spv
similarity index 100%
rename from data/shaders/pbribl/filtercube.vert.spv
rename to data/shaders/glsl/pbribl/filtercube.vert.spv
diff --git a/data/shaders/pbribl/genbrdflut.frag b/data/shaders/glsl/pbribl/genbrdflut.frag
similarity index 100%
rename from data/shaders/pbribl/genbrdflut.frag
rename to data/shaders/glsl/pbribl/genbrdflut.frag
diff --git a/data/shaders/pbribl/genbrdflut.frag.spv b/data/shaders/glsl/pbribl/genbrdflut.frag.spv
similarity index 100%
rename from data/shaders/pbribl/genbrdflut.frag.spv
rename to data/shaders/glsl/pbribl/genbrdflut.frag.spv
diff --git a/data/shaders/pbribl/genbrdflut.vert b/data/shaders/glsl/pbribl/genbrdflut.vert
similarity index 100%
rename from data/shaders/pbribl/genbrdflut.vert
rename to data/shaders/glsl/pbribl/genbrdflut.vert
diff --git a/data/shaders/pbribl/genbrdflut.vert.spv b/data/shaders/glsl/pbribl/genbrdflut.vert.spv
similarity index 100%
rename from data/shaders/pbribl/genbrdflut.vert.spv
rename to data/shaders/glsl/pbribl/genbrdflut.vert.spv
diff --git a/data/shaders/pbribl/irradiancecube.frag b/data/shaders/glsl/pbribl/irradiancecube.frag
similarity index 100%
rename from data/shaders/pbribl/irradiancecube.frag
rename to data/shaders/glsl/pbribl/irradiancecube.frag
diff --git a/data/shaders/pbribl/irradiancecube.frag.spv b/data/shaders/glsl/pbribl/irradiancecube.frag.spv
similarity index 100%
rename from data/shaders/pbribl/irradiancecube.frag.spv
rename to data/shaders/glsl/pbribl/irradiancecube.frag.spv
diff --git a/data/shaders/pbribl/pbribl.frag b/data/shaders/glsl/pbribl/pbribl.frag
similarity index 100%
rename from data/shaders/pbribl/pbribl.frag
rename to data/shaders/glsl/pbribl/pbribl.frag
diff --git a/data/shaders/pbribl/pbribl.frag.spv b/data/shaders/glsl/pbribl/pbribl.frag.spv
similarity index 100%
rename from data/shaders/pbribl/pbribl.frag.spv
rename to data/shaders/glsl/pbribl/pbribl.frag.spv
diff --git a/data/shaders/pbribl/pbribl.vert b/data/shaders/glsl/pbribl/pbribl.vert
similarity index 100%
rename from data/shaders/pbribl/pbribl.vert
rename to data/shaders/glsl/pbribl/pbribl.vert
diff --git a/data/shaders/pbribl/pbribl.vert.spv b/data/shaders/glsl/pbribl/pbribl.vert.spv
similarity index 100%
rename from data/shaders/pbribl/pbribl.vert.spv
rename to data/shaders/glsl/pbribl/pbribl.vert.spv
diff --git a/data/shaders/pbribl/prefilterenvmap.frag b/data/shaders/glsl/pbribl/prefilterenvmap.frag
similarity index 100%
rename from data/shaders/pbribl/prefilterenvmap.frag
rename to data/shaders/glsl/pbribl/prefilterenvmap.frag
diff --git a/data/shaders/pbribl/prefilterenvmap.frag.spv b/data/shaders/glsl/pbribl/prefilterenvmap.frag.spv
similarity index 100%
rename from data/shaders/pbribl/prefilterenvmap.frag.spv
rename to data/shaders/glsl/pbribl/prefilterenvmap.frag.spv
diff --git a/data/shaders/pbribl/skybox.frag b/data/shaders/glsl/pbribl/skybox.frag
similarity index 100%
rename from data/shaders/pbribl/skybox.frag
rename to data/shaders/glsl/pbribl/skybox.frag
diff --git a/data/shaders/pbribl/skybox.frag.spv b/data/shaders/glsl/pbribl/skybox.frag.spv
similarity index 100%
rename from data/shaders/pbribl/skybox.frag.spv
rename to data/shaders/glsl/pbribl/skybox.frag.spv
diff --git a/data/shaders/pbribl/skybox.vert b/data/shaders/glsl/pbribl/skybox.vert
similarity index 100%
rename from data/shaders/pbribl/skybox.vert
rename to data/shaders/glsl/pbribl/skybox.vert
diff --git a/data/shaders/pbribl/skybox.vert.spv b/data/shaders/glsl/pbribl/skybox.vert.spv
similarity index 100%
rename from data/shaders/pbribl/skybox.vert.spv
rename to data/shaders/glsl/pbribl/skybox.vert.spv
diff --git a/data/shaders/pbrtexture/filtercube.vert b/data/shaders/glsl/pbrtexture/filtercube.vert
similarity index 100%
rename from data/shaders/pbrtexture/filtercube.vert
rename to data/shaders/glsl/pbrtexture/filtercube.vert
diff --git a/data/shaders/pbrtexture/filtercube.vert.spv b/data/shaders/glsl/pbrtexture/filtercube.vert.spv
similarity index 100%
rename from data/shaders/pbrtexture/filtercube.vert.spv
rename to data/shaders/glsl/pbrtexture/filtercube.vert.spv
diff --git a/data/shaders/pbrtexture/genbrdflut.frag b/data/shaders/glsl/pbrtexture/genbrdflut.frag
similarity index 100%
rename from data/shaders/pbrtexture/genbrdflut.frag
rename to data/shaders/glsl/pbrtexture/genbrdflut.frag
diff --git a/data/shaders/pbrtexture/genbrdflut.frag.spv b/data/shaders/glsl/pbrtexture/genbrdflut.frag.spv
similarity index 100%
rename from data/shaders/pbrtexture/genbrdflut.frag.spv
rename to data/shaders/glsl/pbrtexture/genbrdflut.frag.spv
diff --git a/data/shaders/pbrtexture/genbrdflut.vert b/data/shaders/glsl/pbrtexture/genbrdflut.vert
similarity index 100%
rename from data/shaders/pbrtexture/genbrdflut.vert
rename to data/shaders/glsl/pbrtexture/genbrdflut.vert
diff --git a/data/shaders/pbrtexture/genbrdflut.vert.spv b/data/shaders/glsl/pbrtexture/genbrdflut.vert.spv
similarity index 100%
rename from data/shaders/pbrtexture/genbrdflut.vert.spv
rename to data/shaders/glsl/pbrtexture/genbrdflut.vert.spv
diff --git a/data/shaders/pbrtexture/irradiancecube.frag b/data/shaders/glsl/pbrtexture/irradiancecube.frag
similarity index 100%
rename from data/shaders/pbrtexture/irradiancecube.frag
rename to data/shaders/glsl/pbrtexture/irradiancecube.frag
diff --git a/data/shaders/pbrtexture/irradiancecube.frag.spv b/data/shaders/glsl/pbrtexture/irradiancecube.frag.spv
similarity index 100%
rename from data/shaders/pbrtexture/irradiancecube.frag.spv
rename to data/shaders/glsl/pbrtexture/irradiancecube.frag.spv
diff --git a/data/shaders/pbrtexture/pbrtexture.frag b/data/shaders/glsl/pbrtexture/pbrtexture.frag
similarity index 100%
rename from data/shaders/pbrtexture/pbrtexture.frag
rename to data/shaders/glsl/pbrtexture/pbrtexture.frag
diff --git a/data/shaders/pbrtexture/pbrtexture.frag.spv b/data/shaders/glsl/pbrtexture/pbrtexture.frag.spv
similarity index 100%
rename from data/shaders/pbrtexture/pbrtexture.frag.spv
rename to data/shaders/glsl/pbrtexture/pbrtexture.frag.spv
diff --git a/data/shaders/pbrtexture/pbrtexture.vert b/data/shaders/glsl/pbrtexture/pbrtexture.vert
similarity index 100%
rename from data/shaders/pbrtexture/pbrtexture.vert
rename to data/shaders/glsl/pbrtexture/pbrtexture.vert
diff --git a/data/shaders/pbrtexture/pbrtexture.vert.spv b/data/shaders/glsl/pbrtexture/pbrtexture.vert.spv
similarity index 100%
rename from data/shaders/pbrtexture/pbrtexture.vert.spv
rename to data/shaders/glsl/pbrtexture/pbrtexture.vert.spv
diff --git a/data/shaders/pbrtexture/prefilterenvmap.frag b/data/shaders/glsl/pbrtexture/prefilterenvmap.frag
similarity index 100%
rename from data/shaders/pbrtexture/prefilterenvmap.frag
rename to data/shaders/glsl/pbrtexture/prefilterenvmap.frag
diff --git a/data/shaders/pbrtexture/prefilterenvmap.frag.spv b/data/shaders/glsl/pbrtexture/prefilterenvmap.frag.spv
similarity index 100%
rename from data/shaders/pbrtexture/prefilterenvmap.frag.spv
rename to data/shaders/glsl/pbrtexture/prefilterenvmap.frag.spv
diff --git a/data/shaders/pbrtexture/skybox.frag b/data/shaders/glsl/pbrtexture/skybox.frag
similarity index 100%
rename from data/shaders/pbrtexture/skybox.frag
rename to data/shaders/glsl/pbrtexture/skybox.frag
diff --git a/data/shaders/pbrtexture/skybox.frag.spv b/data/shaders/glsl/pbrtexture/skybox.frag.spv
similarity index 100%
rename from data/shaders/pbrtexture/skybox.frag.spv
rename to data/shaders/glsl/pbrtexture/skybox.frag.spv
diff --git a/data/shaders/pbrtexture/skybox.vert b/data/shaders/glsl/pbrtexture/skybox.vert
similarity index 100%
rename from data/shaders/pbrtexture/skybox.vert
rename to data/shaders/glsl/pbrtexture/skybox.vert
diff --git a/data/shaders/pbrtexture/skybox.vert.spv b/data/shaders/glsl/pbrtexture/skybox.vert.spv
similarity index 100%
rename from data/shaders/pbrtexture/skybox.vert.spv
rename to data/shaders/glsl/pbrtexture/skybox.vert.spv
diff --git a/data/shaders/pipelines/generate-spriv.bat b/data/shaders/glsl/pipelines/generate-spriv.bat
similarity index 100%
rename from data/shaders/pipelines/generate-spriv.bat
rename to data/shaders/glsl/pipelines/generate-spriv.bat
diff --git a/data/shaders/pipelines/phong.frag b/data/shaders/glsl/pipelines/phong.frag
similarity index 100%
rename from data/shaders/pipelines/phong.frag
rename to data/shaders/glsl/pipelines/phong.frag
diff --git a/data/shaders/pipelines/phong.frag.spv b/data/shaders/glsl/pipelines/phong.frag.spv
similarity index 100%
rename from data/shaders/pipelines/phong.frag.spv
rename to data/shaders/glsl/pipelines/phong.frag.spv
diff --git a/data/shaders/pipelines/phong.vert b/data/shaders/glsl/pipelines/phong.vert
similarity index 100%
rename from data/shaders/pipelines/phong.vert
rename to data/shaders/glsl/pipelines/phong.vert
diff --git a/data/shaders/pipelines/phong.vert.spv b/data/shaders/glsl/pipelines/phong.vert.spv
similarity index 100%
rename from data/shaders/pipelines/phong.vert.spv
rename to data/shaders/glsl/pipelines/phong.vert.spv
diff --git a/data/shaders/pipelines/toon.frag b/data/shaders/glsl/pipelines/toon.frag
similarity index 100%
rename from data/shaders/pipelines/toon.frag
rename to data/shaders/glsl/pipelines/toon.frag
diff --git a/data/shaders/pipelines/toon.frag.spv b/data/shaders/glsl/pipelines/toon.frag.spv
similarity index 100%
rename from data/shaders/pipelines/toon.frag.spv
rename to data/shaders/glsl/pipelines/toon.frag.spv
diff --git a/data/shaders/pipelines/toon.vert b/data/shaders/glsl/pipelines/toon.vert
similarity index 100%
rename from data/shaders/pipelines/toon.vert
rename to data/shaders/glsl/pipelines/toon.vert
diff --git a/data/shaders/pipelines/toon.vert.spv b/data/shaders/glsl/pipelines/toon.vert.spv
similarity index 100%
rename from data/shaders/pipelines/toon.vert.spv
rename to data/shaders/glsl/pipelines/toon.vert.spv
diff --git a/data/shaders/pipelines/wireframe.frag b/data/shaders/glsl/pipelines/wireframe.frag
similarity index 100%
rename from data/shaders/pipelines/wireframe.frag
rename to data/shaders/glsl/pipelines/wireframe.frag
diff --git a/data/shaders/pipelines/wireframe.frag.spv b/data/shaders/glsl/pipelines/wireframe.frag.spv
similarity index 100%
rename from data/shaders/pipelines/wireframe.frag.spv
rename to data/shaders/glsl/pipelines/wireframe.frag.spv
diff --git a/data/shaders/pipelines/wireframe.vert b/data/shaders/glsl/pipelines/wireframe.vert
similarity index 100%
rename from data/shaders/pipelines/wireframe.vert
rename to data/shaders/glsl/pipelines/wireframe.vert
diff --git a/data/shaders/pipelines/wireframe.vert.spv b/data/shaders/glsl/pipelines/wireframe.vert.spv
similarity index 100%
rename from data/shaders/pipelines/wireframe.vert.spv
rename to data/shaders/glsl/pipelines/wireframe.vert.spv
diff --git a/data/shaders/pipelinestatistics/scene.frag b/data/shaders/glsl/pipelinestatistics/scene.frag
similarity index 100%
rename from data/shaders/pipelinestatistics/scene.frag
rename to data/shaders/glsl/pipelinestatistics/scene.frag
diff --git a/data/shaders/pipelinestatistics/scene.frag.spv b/data/shaders/glsl/pipelinestatistics/scene.frag.spv
similarity index 100%
rename from data/shaders/pipelinestatistics/scene.frag.spv
rename to data/shaders/glsl/pipelinestatistics/scene.frag.spv
diff --git a/data/shaders/pipelinestatistics/scene.tesc b/data/shaders/glsl/pipelinestatistics/scene.tesc
similarity index 100%
rename from data/shaders/pipelinestatistics/scene.tesc
rename to data/shaders/glsl/pipelinestatistics/scene.tesc
diff --git a/data/shaders/pipelinestatistics/scene.tesc.spv b/data/shaders/glsl/pipelinestatistics/scene.tesc.spv
similarity index 100%
rename from data/shaders/pipelinestatistics/scene.tesc.spv
rename to data/shaders/glsl/pipelinestatistics/scene.tesc.spv
diff --git a/data/shaders/pipelinestatistics/scene.tese b/data/shaders/glsl/pipelinestatistics/scene.tese
similarity index 100%
rename from data/shaders/pipelinestatistics/scene.tese
rename to data/shaders/glsl/pipelinestatistics/scene.tese
diff --git a/data/shaders/pipelinestatistics/scene.tese.spv b/data/shaders/glsl/pipelinestatistics/scene.tese.spv
similarity index 100%
rename from data/shaders/pipelinestatistics/scene.tese.spv
rename to data/shaders/glsl/pipelinestatistics/scene.tese.spv
diff --git a/data/shaders/pipelinestatistics/scene.vert b/data/shaders/glsl/pipelinestatistics/scene.vert
similarity index 100%
rename from data/shaders/pipelinestatistics/scene.vert
rename to data/shaders/glsl/pipelinestatistics/scene.vert
diff --git a/data/shaders/pipelinestatistics/scene.vert.spv b/data/shaders/glsl/pipelinestatistics/scene.vert.spv
similarity index 100%
rename from data/shaders/pipelinestatistics/scene.vert.spv
rename to data/shaders/glsl/pipelinestatistics/scene.vert.spv
diff --git a/data/shaders/pushconstants/generate-spirv.bat b/data/shaders/glsl/pushconstants/generate-spirv.bat
similarity index 100%
rename from data/shaders/pushconstants/generate-spirv.bat
rename to data/shaders/glsl/pushconstants/generate-spirv.bat
diff --git a/data/shaders/pushconstants/lights.frag b/data/shaders/glsl/pushconstants/lights.frag
similarity index 100%
rename from data/shaders/pushconstants/lights.frag
rename to data/shaders/glsl/pushconstants/lights.frag
diff --git a/data/shaders/pushconstants/lights.frag.spv b/data/shaders/glsl/pushconstants/lights.frag.spv
similarity index 100%
rename from data/shaders/pushconstants/lights.frag.spv
rename to data/shaders/glsl/pushconstants/lights.frag.spv
diff --git a/data/shaders/pushconstants/lights.vert b/data/shaders/glsl/pushconstants/lights.vert
similarity index 100%
rename from data/shaders/pushconstants/lights.vert
rename to data/shaders/glsl/pushconstants/lights.vert
diff --git a/data/shaders/pushconstants/lights.vert.spv b/data/shaders/glsl/pushconstants/lights.vert.spv
similarity index 100%
rename from data/shaders/pushconstants/lights.vert.spv
rename to data/shaders/glsl/pushconstants/lights.vert.spv
diff --git a/data/shaders/pushdescriptors/cube.frag b/data/shaders/glsl/pushdescriptors/cube.frag
similarity index 100%
rename from data/shaders/pushdescriptors/cube.frag
rename to data/shaders/glsl/pushdescriptors/cube.frag
diff --git a/data/shaders/pushdescriptors/cube.frag.spv b/data/shaders/glsl/pushdescriptors/cube.frag.spv
similarity index 100%
rename from data/shaders/pushdescriptors/cube.frag.spv
rename to data/shaders/glsl/pushdescriptors/cube.frag.spv
diff --git a/data/shaders/pushdescriptors/cube.vert b/data/shaders/glsl/pushdescriptors/cube.vert
similarity index 100%
rename from data/shaders/pushdescriptors/cube.vert
rename to data/shaders/glsl/pushdescriptors/cube.vert
diff --git a/data/shaders/pushdescriptors/cube.vert.spv b/data/shaders/glsl/pushdescriptors/cube.vert.spv
similarity index 100%
rename from data/shaders/pushdescriptors/cube.vert.spv
rename to data/shaders/glsl/pushdescriptors/cube.vert.spv
diff --git a/data/shaders/radialblur/colorpass.frag b/data/shaders/glsl/radialblur/colorpass.frag
similarity index 100%
rename from data/shaders/radialblur/colorpass.frag
rename to data/shaders/glsl/radialblur/colorpass.frag
diff --git a/data/shaders/radialblur/colorpass.frag.spv b/data/shaders/glsl/radialblur/colorpass.frag.spv
similarity index 100%
rename from data/shaders/radialblur/colorpass.frag.spv
rename to data/shaders/glsl/radialblur/colorpass.frag.spv
diff --git a/data/shaders/radialblur/colorpass.vert b/data/shaders/glsl/radialblur/colorpass.vert
similarity index 100%
rename from data/shaders/radialblur/colorpass.vert
rename to data/shaders/glsl/radialblur/colorpass.vert
diff --git a/data/shaders/radialblur/colorpass.vert.spv b/data/shaders/glsl/radialblur/colorpass.vert.spv
similarity index 100%
rename from data/shaders/radialblur/colorpass.vert.spv
rename to data/shaders/glsl/radialblur/colorpass.vert.spv
diff --git a/data/shaders/radialblur/generate-spirv.bat b/data/shaders/glsl/radialblur/generate-spirv.bat
similarity index 100%
rename from data/shaders/radialblur/generate-spirv.bat
rename to data/shaders/glsl/radialblur/generate-spirv.bat
diff --git a/data/shaders/radialblur/phongpass.frag b/data/shaders/glsl/radialblur/phongpass.frag
similarity index 100%
rename from data/shaders/radialblur/phongpass.frag
rename to data/shaders/glsl/radialblur/phongpass.frag
diff --git a/data/shaders/radialblur/phongpass.frag.spv b/data/shaders/glsl/radialblur/phongpass.frag.spv
similarity index 100%
rename from data/shaders/radialblur/phongpass.frag.spv
rename to data/shaders/glsl/radialblur/phongpass.frag.spv
diff --git a/data/shaders/radialblur/phongpass.vert b/data/shaders/glsl/radialblur/phongpass.vert
similarity index 100%
rename from data/shaders/radialblur/phongpass.vert
rename to data/shaders/glsl/radialblur/phongpass.vert
diff --git a/data/shaders/radialblur/phongpass.vert.spv b/data/shaders/glsl/radialblur/phongpass.vert.spv
similarity index 100%
rename from data/shaders/radialblur/phongpass.vert.spv
rename to data/shaders/glsl/radialblur/phongpass.vert.spv
diff --git a/data/shaders/radialblur/radialblur.frag b/data/shaders/glsl/radialblur/radialblur.frag
similarity index 100%
rename from data/shaders/radialblur/radialblur.frag
rename to data/shaders/glsl/radialblur/radialblur.frag
diff --git a/data/shaders/radialblur/radialblur.frag.spv b/data/shaders/glsl/radialblur/radialblur.frag.spv
similarity index 100%
rename from data/shaders/radialblur/radialblur.frag.spv
rename to data/shaders/glsl/radialblur/radialblur.frag.spv
diff --git a/data/shaders/radialblur/radialblur.vert b/data/shaders/glsl/radialblur/radialblur.vert
similarity index 100%
rename from data/shaders/radialblur/radialblur.vert
rename to data/shaders/glsl/radialblur/radialblur.vert
diff --git a/data/shaders/radialblur/radialblur.vert.spv b/data/shaders/glsl/radialblur/radialblur.vert.spv
similarity index 100%
rename from data/shaders/radialblur/radialblur.vert.spv
rename to data/shaders/glsl/radialblur/radialblur.vert.spv
diff --git a/data/shaders/renderheadless/triangle.frag b/data/shaders/glsl/renderheadless/triangle.frag
similarity index 100%
rename from data/shaders/renderheadless/triangle.frag
rename to data/shaders/glsl/renderheadless/triangle.frag
diff --git a/data/shaders/renderheadless/triangle.frag.spv b/data/shaders/glsl/renderheadless/triangle.frag.spv
similarity index 100%
rename from data/shaders/renderheadless/triangle.frag.spv
rename to data/shaders/glsl/renderheadless/triangle.frag.spv
diff --git a/data/shaders/renderheadless/triangle.vert b/data/shaders/glsl/renderheadless/triangle.vert
similarity index 100%
rename from data/shaders/renderheadless/triangle.vert
rename to data/shaders/glsl/renderheadless/triangle.vert
diff --git a/data/shaders/renderheadless/triangle.vert.spv b/data/shaders/glsl/renderheadless/triangle.vert.spv
similarity index 100%
rename from data/shaders/renderheadless/triangle.vert.spv
rename to data/shaders/glsl/renderheadless/triangle.vert.spv
diff --git a/data/shaders/scenerendering/generate-spirv.bat b/data/shaders/glsl/scenerendering/generate-spirv.bat
similarity index 100%
rename from data/shaders/scenerendering/generate-spirv.bat
rename to data/shaders/glsl/scenerendering/generate-spirv.bat
diff --git a/data/shaders/scenerendering/scene.frag b/data/shaders/glsl/scenerendering/scene.frag
similarity index 100%
rename from data/shaders/scenerendering/scene.frag
rename to data/shaders/glsl/scenerendering/scene.frag
diff --git a/data/shaders/scenerendering/scene.frag.spv b/data/shaders/glsl/scenerendering/scene.frag.spv
similarity index 100%
rename from data/shaders/scenerendering/scene.frag.spv
rename to data/shaders/glsl/scenerendering/scene.frag.spv
diff --git a/data/shaders/scenerendering/scene.vert b/data/shaders/glsl/scenerendering/scene.vert
similarity index 100%
rename from data/shaders/scenerendering/scene.vert
rename to data/shaders/glsl/scenerendering/scene.vert
diff --git a/data/shaders/scenerendering/scene.vert.spv b/data/shaders/glsl/scenerendering/scene.vert.spv
similarity index 100%
rename from data/shaders/scenerendering/scene.vert.spv
rename to data/shaders/glsl/scenerendering/scene.vert.spv
diff --git a/data/shaders/screenshot/mesh.frag b/data/shaders/glsl/screenshot/mesh.frag
similarity index 100%
rename from data/shaders/screenshot/mesh.frag
rename to data/shaders/glsl/screenshot/mesh.frag
diff --git a/data/shaders/screenshot/mesh.frag.spv b/data/shaders/glsl/screenshot/mesh.frag.spv
similarity index 100%
rename from data/shaders/screenshot/mesh.frag.spv
rename to data/shaders/glsl/screenshot/mesh.frag.spv
diff --git a/data/shaders/screenshot/mesh.vert b/data/shaders/glsl/screenshot/mesh.vert
similarity index 100%
rename from data/shaders/screenshot/mesh.vert
rename to data/shaders/glsl/screenshot/mesh.vert
diff --git a/data/shaders/screenshot/mesh.vert.spv b/data/shaders/glsl/screenshot/mesh.vert.spv
similarity index 100%
rename from data/shaders/screenshot/mesh.vert.spv
rename to data/shaders/glsl/screenshot/mesh.vert.spv
diff --git a/data/shaders/shadowmapomni/cubemapdisplay.frag b/data/shaders/glsl/shadowmapomni/cubemapdisplay.frag
similarity index 100%
rename from data/shaders/shadowmapomni/cubemapdisplay.frag
rename to data/shaders/glsl/shadowmapomni/cubemapdisplay.frag
diff --git a/data/shaders/shadowmapomni/cubemapdisplay.frag.spv b/data/shaders/glsl/shadowmapomni/cubemapdisplay.frag.spv
similarity index 100%
rename from data/shaders/shadowmapomni/cubemapdisplay.frag.spv
rename to data/shaders/glsl/shadowmapomni/cubemapdisplay.frag.spv
diff --git a/data/shaders/shadowmapomni/cubemapdisplay.vert b/data/shaders/glsl/shadowmapomni/cubemapdisplay.vert
similarity index 100%
rename from data/shaders/shadowmapomni/cubemapdisplay.vert
rename to data/shaders/glsl/shadowmapomni/cubemapdisplay.vert
diff --git a/data/shaders/shadowmapomni/cubemapdisplay.vert.spv b/data/shaders/glsl/shadowmapomni/cubemapdisplay.vert.spv
similarity index 100%
rename from data/shaders/shadowmapomni/cubemapdisplay.vert.spv
rename to data/shaders/glsl/shadowmapomni/cubemapdisplay.vert.spv
diff --git a/data/shaders/shadowmapomni/generate-spirv.bat b/data/shaders/glsl/shadowmapomni/generate-spirv.bat
similarity index 100%
rename from data/shaders/shadowmapomni/generate-spirv.bat
rename to data/shaders/glsl/shadowmapomni/generate-spirv.bat
diff --git a/data/shaders/shadowmapomni/offscreen.frag b/data/shaders/glsl/shadowmapomni/offscreen.frag
similarity index 100%
rename from data/shaders/shadowmapomni/offscreen.frag
rename to data/shaders/glsl/shadowmapomni/offscreen.frag
diff --git a/data/shaders/shadowmapomni/offscreen.frag.spv b/data/shaders/glsl/shadowmapomni/offscreen.frag.spv
similarity index 100%
rename from data/shaders/shadowmapomni/offscreen.frag.spv
rename to data/shaders/glsl/shadowmapomni/offscreen.frag.spv
diff --git a/data/shaders/shadowmapomni/offscreen.vert b/data/shaders/glsl/shadowmapomni/offscreen.vert
similarity index 100%
rename from data/shaders/shadowmapomni/offscreen.vert
rename to data/shaders/glsl/shadowmapomni/offscreen.vert
diff --git a/data/shaders/shadowmapomni/offscreen.vert.spv b/data/shaders/glsl/shadowmapomni/offscreen.vert.spv
similarity index 100%
rename from data/shaders/shadowmapomni/offscreen.vert.spv
rename to data/shaders/glsl/shadowmapomni/offscreen.vert.spv
diff --git a/data/shaders/shadowmapomni/scene.frag b/data/shaders/glsl/shadowmapomni/scene.frag
similarity index 100%
rename from data/shaders/shadowmapomni/scene.frag
rename to data/shaders/glsl/shadowmapomni/scene.frag
diff --git a/data/shaders/shadowmapomni/scene.frag.spv b/data/shaders/glsl/shadowmapomni/scene.frag.spv
similarity index 100%
rename from data/shaders/shadowmapomni/scene.frag.spv
rename to data/shaders/glsl/shadowmapomni/scene.frag.spv
diff --git a/data/shaders/shadowmapomni/scene.vert b/data/shaders/glsl/shadowmapomni/scene.vert
similarity index 100%
rename from data/shaders/shadowmapomni/scene.vert
rename to data/shaders/glsl/shadowmapomni/scene.vert
diff --git a/data/shaders/shadowmapomni/scene.vert.spv b/data/shaders/glsl/shadowmapomni/scene.vert.spv
similarity index 100%
rename from data/shaders/shadowmapomni/scene.vert.spv
rename to data/shaders/glsl/shadowmapomni/scene.vert.spv
diff --git a/data/shaders/shadowmapping/generate-spirv.bat b/data/shaders/glsl/shadowmapping/generate-spirv.bat
similarity index 100%
rename from data/shaders/shadowmapping/generate-spirv.bat
rename to data/shaders/glsl/shadowmapping/generate-spirv.bat
diff --git a/data/shaders/shadowmapping/offscreen.frag b/data/shaders/glsl/shadowmapping/offscreen.frag
similarity index 100%
rename from data/shaders/shadowmapping/offscreen.frag
rename to data/shaders/glsl/shadowmapping/offscreen.frag
diff --git a/data/shaders/shadowmapping/offscreen.frag.spv b/data/shaders/glsl/shadowmapping/offscreen.frag.spv
similarity index 100%
rename from data/shaders/shadowmapping/offscreen.frag.spv
rename to data/shaders/glsl/shadowmapping/offscreen.frag.spv
diff --git a/data/shaders/shadowmapping/offscreen.vert b/data/shaders/glsl/shadowmapping/offscreen.vert
similarity index 100%
rename from data/shaders/shadowmapping/offscreen.vert
rename to data/shaders/glsl/shadowmapping/offscreen.vert
diff --git a/data/shaders/shadowmapping/offscreen.vert.spv b/data/shaders/glsl/shadowmapping/offscreen.vert.spv
similarity index 100%
rename from data/shaders/shadowmapping/offscreen.vert.spv
rename to data/shaders/glsl/shadowmapping/offscreen.vert.spv
diff --git a/data/shaders/shadowmapping/quad.frag b/data/shaders/glsl/shadowmapping/quad.frag
similarity index 100%
rename from data/shaders/shadowmapping/quad.frag
rename to data/shaders/glsl/shadowmapping/quad.frag
diff --git a/data/shaders/shadowmapping/quad.frag.spv b/data/shaders/glsl/shadowmapping/quad.frag.spv
similarity index 100%
rename from data/shaders/shadowmapping/quad.frag.spv
rename to data/shaders/glsl/shadowmapping/quad.frag.spv
diff --git a/data/shaders/shadowmapping/quad.vert b/data/shaders/glsl/shadowmapping/quad.vert
similarity index 100%
rename from data/shaders/shadowmapping/quad.vert
rename to data/shaders/glsl/shadowmapping/quad.vert
diff --git a/data/shaders/shadowmapping/quad.vert.spv b/data/shaders/glsl/shadowmapping/quad.vert.spv
similarity index 100%
rename from data/shaders/shadowmapping/quad.vert.spv
rename to data/shaders/glsl/shadowmapping/quad.vert.spv
diff --git a/data/shaders/shadowmapping/scene.frag b/data/shaders/glsl/shadowmapping/scene.frag
similarity index 100%
rename from data/shaders/shadowmapping/scene.frag
rename to data/shaders/glsl/shadowmapping/scene.frag
diff --git a/data/shaders/shadowmapping/scene.frag.spv b/data/shaders/glsl/shadowmapping/scene.frag.spv
similarity index 100%
rename from data/shaders/shadowmapping/scene.frag.spv
rename to data/shaders/glsl/shadowmapping/scene.frag.spv
diff --git a/data/shaders/shadowmapping/scene.vert b/data/shaders/glsl/shadowmapping/scene.vert
similarity index 100%
rename from data/shaders/shadowmapping/scene.vert
rename to data/shaders/glsl/shadowmapping/scene.vert
diff --git a/data/shaders/shadowmapping/scene.vert.spv b/data/shaders/glsl/shadowmapping/scene.vert.spv
similarity index 100%
rename from data/shaders/shadowmapping/scene.vert.spv
rename to data/shaders/glsl/shadowmapping/scene.vert.spv
diff --git a/data/shaders/shadowmappingcascade/debugshadowmap.frag b/data/shaders/glsl/shadowmappingcascade/debugshadowmap.frag
similarity index 100%
rename from data/shaders/shadowmappingcascade/debugshadowmap.frag
rename to data/shaders/glsl/shadowmappingcascade/debugshadowmap.frag
diff --git a/data/shaders/shadowmappingcascade/debugshadowmap.frag.spv b/data/shaders/glsl/shadowmappingcascade/debugshadowmap.frag.spv
similarity index 100%
rename from data/shaders/shadowmappingcascade/debugshadowmap.frag.spv
rename to data/shaders/glsl/shadowmappingcascade/debugshadowmap.frag.spv
diff --git a/data/shaders/shadowmappingcascade/debugshadowmap.vert b/data/shaders/glsl/shadowmappingcascade/debugshadowmap.vert
similarity index 100%
rename from data/shaders/shadowmappingcascade/debugshadowmap.vert
rename to data/shaders/glsl/shadowmappingcascade/debugshadowmap.vert
diff --git a/data/shaders/shadowmappingcascade/debugshadowmap.vert.spv b/data/shaders/glsl/shadowmappingcascade/debugshadowmap.vert.spv
similarity index 100%
rename from data/shaders/shadowmappingcascade/debugshadowmap.vert.spv
rename to data/shaders/glsl/shadowmappingcascade/debugshadowmap.vert.spv
diff --git a/data/shaders/shadowmappingcascade/depthpass.frag b/data/shaders/glsl/shadowmappingcascade/depthpass.frag
similarity index 100%
rename from data/shaders/shadowmappingcascade/depthpass.frag
rename to data/shaders/glsl/shadowmappingcascade/depthpass.frag
diff --git a/data/shaders/shadowmappingcascade/depthpass.frag.spv b/data/shaders/glsl/shadowmappingcascade/depthpass.frag.spv
similarity index 100%
rename from data/shaders/shadowmappingcascade/depthpass.frag.spv
rename to data/shaders/glsl/shadowmappingcascade/depthpass.frag.spv
diff --git a/data/shaders/shadowmappingcascade/depthpass.vert b/data/shaders/glsl/shadowmappingcascade/depthpass.vert
similarity index 100%
rename from data/shaders/shadowmappingcascade/depthpass.vert
rename to data/shaders/glsl/shadowmappingcascade/depthpass.vert
diff --git a/data/shaders/shadowmappingcascade/depthpass.vert.spv b/data/shaders/glsl/shadowmappingcascade/depthpass.vert.spv
similarity index 100%
rename from data/shaders/shadowmappingcascade/depthpass.vert.spv
rename to data/shaders/glsl/shadowmappingcascade/depthpass.vert.spv
diff --git a/data/shaders/shadowmappingcascade/scene.frag b/data/shaders/glsl/shadowmappingcascade/scene.frag
similarity index 100%
rename from data/shaders/shadowmappingcascade/scene.frag
rename to data/shaders/glsl/shadowmappingcascade/scene.frag
diff --git a/data/shaders/shadowmappingcascade/scene.frag.spv b/data/shaders/glsl/shadowmappingcascade/scene.frag.spv
similarity index 100%
rename from data/shaders/shadowmappingcascade/scene.frag.spv
rename to data/shaders/glsl/shadowmappingcascade/scene.frag.spv
diff --git a/data/shaders/shadowmappingcascade/scene.vert b/data/shaders/glsl/shadowmappingcascade/scene.vert
similarity index 100%
rename from data/shaders/shadowmappingcascade/scene.vert
rename to data/shaders/glsl/shadowmappingcascade/scene.vert
diff --git a/data/shaders/shadowmappingcascade/scene.vert.spv b/data/shaders/glsl/shadowmappingcascade/scene.vert.spv
similarity index 100%
rename from data/shaders/shadowmappingcascade/scene.vert.spv
rename to data/shaders/glsl/shadowmappingcascade/scene.vert.spv
diff --git a/data/shaders/skeletalanimation/mesh.frag b/data/shaders/glsl/skeletalanimation/mesh.frag
similarity index 100%
rename from data/shaders/skeletalanimation/mesh.frag
rename to data/shaders/glsl/skeletalanimation/mesh.frag
diff --git a/data/shaders/skeletalanimation/mesh.frag.spv b/data/shaders/glsl/skeletalanimation/mesh.frag.spv
similarity index 100%
rename from data/shaders/skeletalanimation/mesh.frag.spv
rename to data/shaders/glsl/skeletalanimation/mesh.frag.spv
diff --git a/data/shaders/skeletalanimation/mesh.vert b/data/shaders/glsl/skeletalanimation/mesh.vert
similarity index 100%
rename from data/shaders/skeletalanimation/mesh.vert
rename to data/shaders/glsl/skeletalanimation/mesh.vert
diff --git a/data/shaders/skeletalanimation/mesh.vert.spv b/data/shaders/glsl/skeletalanimation/mesh.vert.spv
similarity index 100%
rename from data/shaders/skeletalanimation/mesh.vert.spv
rename to data/shaders/glsl/skeletalanimation/mesh.vert.spv
diff --git a/data/shaders/skeletalanimation/texture.frag b/data/shaders/glsl/skeletalanimation/texture.frag
similarity index 100%
rename from data/shaders/skeletalanimation/texture.frag
rename to data/shaders/glsl/skeletalanimation/texture.frag
diff --git a/data/shaders/skeletalanimation/texture.frag.spv b/data/shaders/glsl/skeletalanimation/texture.frag.spv
similarity index 100%
rename from data/shaders/skeletalanimation/texture.frag.spv
rename to data/shaders/glsl/skeletalanimation/texture.frag.spv
diff --git a/data/shaders/skeletalanimation/texture.vert b/data/shaders/glsl/skeletalanimation/texture.vert
similarity index 100%
rename from data/shaders/skeletalanimation/texture.vert
rename to data/shaders/glsl/skeletalanimation/texture.vert
diff --git a/data/shaders/skeletalanimation/texture.vert.spv b/data/shaders/glsl/skeletalanimation/texture.vert.spv
similarity index 100%
rename from data/shaders/skeletalanimation/texture.vert.spv
rename to data/shaders/glsl/skeletalanimation/texture.vert.spv
diff --git a/data/shaders/specializationconstants/uber.frag b/data/shaders/glsl/specializationconstants/uber.frag
similarity index 100%
rename from data/shaders/specializationconstants/uber.frag
rename to data/shaders/glsl/specializationconstants/uber.frag
diff --git a/data/shaders/specializationconstants/uber.frag.spv b/data/shaders/glsl/specializationconstants/uber.frag.spv
similarity index 100%
rename from data/shaders/specializationconstants/uber.frag.spv
rename to data/shaders/glsl/specializationconstants/uber.frag.spv
diff --git a/data/shaders/specializationconstants/uber.vert b/data/shaders/glsl/specializationconstants/uber.vert
similarity index 100%
rename from data/shaders/specializationconstants/uber.vert
rename to data/shaders/glsl/specializationconstants/uber.vert
diff --git a/data/shaders/specializationconstants/uber.vert.spv b/data/shaders/glsl/specializationconstants/uber.vert.spv
similarity index 100%
rename from data/shaders/specializationconstants/uber.vert.spv
rename to data/shaders/glsl/specializationconstants/uber.vert.spv
diff --git a/data/shaders/sphericalenvmapping/generate-spirv.bat b/data/shaders/glsl/sphericalenvmapping/generate-spirv.bat
similarity index 100%
rename from data/shaders/sphericalenvmapping/generate-spirv.bat
rename to data/shaders/glsl/sphericalenvmapping/generate-spirv.bat
diff --git a/data/shaders/sphericalenvmapping/sem.frag b/data/shaders/glsl/sphericalenvmapping/sem.frag
similarity index 100%
rename from data/shaders/sphericalenvmapping/sem.frag
rename to data/shaders/glsl/sphericalenvmapping/sem.frag
diff --git a/data/shaders/sphericalenvmapping/sem.frag.spv b/data/shaders/glsl/sphericalenvmapping/sem.frag.spv
similarity index 100%
rename from data/shaders/sphericalenvmapping/sem.frag.spv
rename to data/shaders/glsl/sphericalenvmapping/sem.frag.spv
diff --git a/data/shaders/sphericalenvmapping/sem.vert b/data/shaders/glsl/sphericalenvmapping/sem.vert
similarity index 100%
rename from data/shaders/sphericalenvmapping/sem.vert
rename to data/shaders/glsl/sphericalenvmapping/sem.vert
diff --git a/data/shaders/sphericalenvmapping/sem.vert.spv b/data/shaders/glsl/sphericalenvmapping/sem.vert.spv
similarity index 100%
rename from data/shaders/sphericalenvmapping/sem.vert.spv
rename to data/shaders/glsl/sphericalenvmapping/sem.vert.spv
diff --git a/data/shaders/ssao/blur.frag b/data/shaders/glsl/ssao/blur.frag
similarity index 100%
rename from data/shaders/ssao/blur.frag
rename to data/shaders/glsl/ssao/blur.frag
diff --git a/data/shaders/ssao/blur.frag.spv b/data/shaders/glsl/ssao/blur.frag.spv
similarity index 100%
rename from data/shaders/ssao/blur.frag.spv
rename to data/shaders/glsl/ssao/blur.frag.spv
diff --git a/data/shaders/ssao/composition.frag b/data/shaders/glsl/ssao/composition.frag
similarity index 100%
rename from data/shaders/ssao/composition.frag
rename to data/shaders/glsl/ssao/composition.frag
diff --git a/data/shaders/ssao/composition.frag.spv b/data/shaders/glsl/ssao/composition.frag.spv
similarity index 100%
rename from data/shaders/ssao/composition.frag.spv
rename to data/shaders/glsl/ssao/composition.frag.spv
diff --git a/data/shaders/ssao/fullscreen.vert b/data/shaders/glsl/ssao/fullscreen.vert
similarity index 100%
rename from data/shaders/ssao/fullscreen.vert
rename to data/shaders/glsl/ssao/fullscreen.vert
diff --git a/data/shaders/ssao/fullscreen.vert.spv b/data/shaders/glsl/ssao/fullscreen.vert.spv
similarity index 100%
rename from data/shaders/ssao/fullscreen.vert.spv
rename to data/shaders/glsl/ssao/fullscreen.vert.spv
diff --git a/data/shaders/ssao/gbuffer.frag b/data/shaders/glsl/ssao/gbuffer.frag
similarity index 100%
rename from data/shaders/ssao/gbuffer.frag
rename to data/shaders/glsl/ssao/gbuffer.frag
diff --git a/data/shaders/ssao/gbuffer.frag.spv b/data/shaders/glsl/ssao/gbuffer.frag.spv
similarity index 100%
rename from data/shaders/ssao/gbuffer.frag.spv
rename to data/shaders/glsl/ssao/gbuffer.frag.spv
diff --git a/data/shaders/ssao/gbuffer.vert b/data/shaders/glsl/ssao/gbuffer.vert
similarity index 100%
rename from data/shaders/ssao/gbuffer.vert
rename to data/shaders/glsl/ssao/gbuffer.vert
diff --git a/data/shaders/ssao/gbuffer.vert.spv b/data/shaders/glsl/ssao/gbuffer.vert.spv
similarity index 100%
rename from data/shaders/ssao/gbuffer.vert.spv
rename to data/shaders/glsl/ssao/gbuffer.vert.spv
diff --git a/data/shaders/ssao/ssao.frag b/data/shaders/glsl/ssao/ssao.frag
similarity index 100%
rename from data/shaders/ssao/ssao.frag
rename to data/shaders/glsl/ssao/ssao.frag
diff --git a/data/shaders/ssao/ssao.frag.spv b/data/shaders/glsl/ssao/ssao.frag.spv
similarity index 100%
rename from data/shaders/ssao/ssao.frag.spv
rename to data/shaders/glsl/ssao/ssao.frag.spv
diff --git a/data/shaders/stencilbuffer/outline.frag b/data/shaders/glsl/stencilbuffer/outline.frag
similarity index 100%
rename from data/shaders/stencilbuffer/outline.frag
rename to data/shaders/glsl/stencilbuffer/outline.frag
diff --git a/data/shaders/stencilbuffer/outline.frag.spv b/data/shaders/glsl/stencilbuffer/outline.frag.spv
similarity index 100%
rename from data/shaders/stencilbuffer/outline.frag.spv
rename to data/shaders/glsl/stencilbuffer/outline.frag.spv
diff --git a/data/shaders/stencilbuffer/outline.vert b/data/shaders/glsl/stencilbuffer/outline.vert
similarity index 100%
rename from data/shaders/stencilbuffer/outline.vert
rename to data/shaders/glsl/stencilbuffer/outline.vert
diff --git a/data/shaders/stencilbuffer/outline.vert.spv b/data/shaders/glsl/stencilbuffer/outline.vert.spv
similarity index 100%
rename from data/shaders/stencilbuffer/outline.vert.spv
rename to data/shaders/glsl/stencilbuffer/outline.vert.spv
diff --git a/data/shaders/stencilbuffer/toon.frag b/data/shaders/glsl/stencilbuffer/toon.frag
similarity index 100%
rename from data/shaders/stencilbuffer/toon.frag
rename to data/shaders/glsl/stencilbuffer/toon.frag
diff --git a/data/shaders/stencilbuffer/toon.frag.spv b/data/shaders/glsl/stencilbuffer/toon.frag.spv
similarity index 100%
rename from data/shaders/stencilbuffer/toon.frag.spv
rename to data/shaders/glsl/stencilbuffer/toon.frag.spv
diff --git a/data/shaders/stencilbuffer/toon.vert b/data/shaders/glsl/stencilbuffer/toon.vert
similarity index 100%
rename from data/shaders/stencilbuffer/toon.vert
rename to data/shaders/glsl/stencilbuffer/toon.vert
diff --git a/data/shaders/stencilbuffer/toon.vert.spv b/data/shaders/glsl/stencilbuffer/toon.vert.spv
similarity index 100%
rename from data/shaders/stencilbuffer/toon.vert.spv
rename to data/shaders/glsl/stencilbuffer/toon.vert.spv
diff --git a/data/shaders/subpasses/composition.frag b/data/shaders/glsl/subpasses/composition.frag
similarity index 100%
rename from data/shaders/subpasses/composition.frag
rename to data/shaders/glsl/subpasses/composition.frag
diff --git a/data/shaders/subpasses/composition.frag.spv b/data/shaders/glsl/subpasses/composition.frag.spv
similarity index 100%
rename from data/shaders/subpasses/composition.frag.spv
rename to data/shaders/glsl/subpasses/composition.frag.spv
diff --git a/data/shaders/subpasses/composition.vert b/data/shaders/glsl/subpasses/composition.vert
similarity index 100%
rename from data/shaders/subpasses/composition.vert
rename to data/shaders/glsl/subpasses/composition.vert
diff --git a/data/shaders/subpasses/composition.vert.spv b/data/shaders/glsl/subpasses/composition.vert.spv
similarity index 100%
rename from data/shaders/subpasses/composition.vert.spv
rename to data/shaders/glsl/subpasses/composition.vert.spv
diff --git a/data/shaders/subpasses/gbuffer.frag b/data/shaders/glsl/subpasses/gbuffer.frag
similarity index 100%
rename from data/shaders/subpasses/gbuffer.frag
rename to data/shaders/glsl/subpasses/gbuffer.frag
diff --git a/data/shaders/subpasses/gbuffer.frag.spv b/data/shaders/glsl/subpasses/gbuffer.frag.spv
similarity index 100%
rename from data/shaders/subpasses/gbuffer.frag.spv
rename to data/shaders/glsl/subpasses/gbuffer.frag.spv
diff --git a/data/shaders/subpasses/gbuffer.vert b/data/shaders/glsl/subpasses/gbuffer.vert
similarity index 100%
rename from data/shaders/subpasses/gbuffer.vert
rename to data/shaders/glsl/subpasses/gbuffer.vert
diff --git a/data/shaders/subpasses/gbuffer.vert.spv b/data/shaders/glsl/subpasses/gbuffer.vert.spv
similarity index 100%
rename from data/shaders/subpasses/gbuffer.vert.spv
rename to data/shaders/glsl/subpasses/gbuffer.vert.spv
diff --git a/data/shaders/subpasses/transparent.frag b/data/shaders/glsl/subpasses/transparent.frag
similarity index 100%
rename from data/shaders/subpasses/transparent.frag
rename to data/shaders/glsl/subpasses/transparent.frag
diff --git a/data/shaders/subpasses/transparent.frag.spv b/data/shaders/glsl/subpasses/transparent.frag.spv
similarity index 100%
rename from data/shaders/subpasses/transparent.frag.spv
rename to data/shaders/glsl/subpasses/transparent.frag.spv
diff --git a/data/shaders/subpasses/transparent.vert b/data/shaders/glsl/subpasses/transparent.vert
similarity index 100%
rename from data/shaders/subpasses/transparent.vert
rename to data/shaders/glsl/subpasses/transparent.vert
diff --git a/data/shaders/subpasses/transparent.vert.spv b/data/shaders/glsl/subpasses/transparent.vert.spv
similarity index 100%
rename from data/shaders/subpasses/transparent.vert.spv
rename to data/shaders/glsl/subpasses/transparent.vert.spv
diff --git a/data/shaders/terraintessellation/generate-spirv.bat b/data/shaders/glsl/terraintessellation/generate-spirv.bat
similarity index 100%
rename from data/shaders/terraintessellation/generate-spirv.bat
rename to data/shaders/glsl/terraintessellation/generate-spirv.bat
diff --git a/data/shaders/terraintessellation/skysphere.frag b/data/shaders/glsl/terraintessellation/skysphere.frag
similarity index 100%
rename from data/shaders/terraintessellation/skysphere.frag
rename to data/shaders/glsl/terraintessellation/skysphere.frag
diff --git a/data/shaders/terraintessellation/skysphere.frag.spv b/data/shaders/glsl/terraintessellation/skysphere.frag.spv
similarity index 100%
rename from data/shaders/terraintessellation/skysphere.frag.spv
rename to data/shaders/glsl/terraintessellation/skysphere.frag.spv
diff --git a/data/shaders/terraintessellation/skysphere.vert b/data/shaders/glsl/terraintessellation/skysphere.vert
similarity index 100%
rename from data/shaders/terraintessellation/skysphere.vert
rename to data/shaders/glsl/terraintessellation/skysphere.vert
diff --git a/data/shaders/terraintessellation/skysphere.vert.spv b/data/shaders/glsl/terraintessellation/skysphere.vert.spv
similarity index 100%
rename from data/shaders/terraintessellation/skysphere.vert.spv
rename to data/shaders/glsl/terraintessellation/skysphere.vert.spv
diff --git a/data/shaders/terraintessellation/terrain.frag b/data/shaders/glsl/terraintessellation/terrain.frag
similarity index 100%
rename from data/shaders/terraintessellation/terrain.frag
rename to data/shaders/glsl/terraintessellation/terrain.frag
diff --git a/data/shaders/terraintessellation/terrain.frag.spv b/data/shaders/glsl/terraintessellation/terrain.frag.spv
similarity index 100%
rename from data/shaders/terraintessellation/terrain.frag.spv
rename to data/shaders/glsl/terraintessellation/terrain.frag.spv
diff --git a/data/shaders/terraintessellation/terrain.tesc b/data/shaders/glsl/terraintessellation/terrain.tesc
similarity index 100%
rename from data/shaders/terraintessellation/terrain.tesc
rename to data/shaders/glsl/terraintessellation/terrain.tesc
diff --git a/data/shaders/terraintessellation/terrain.tesc.spv b/data/shaders/glsl/terraintessellation/terrain.tesc.spv
similarity index 100%
rename from data/shaders/terraintessellation/terrain.tesc.spv
rename to data/shaders/glsl/terraintessellation/terrain.tesc.spv
diff --git a/data/shaders/terraintessellation/terrain.tese b/data/shaders/glsl/terraintessellation/terrain.tese
similarity index 100%
rename from data/shaders/terraintessellation/terrain.tese
rename to data/shaders/glsl/terraintessellation/terrain.tese
diff --git a/data/shaders/terraintessellation/terrain.tese.spv b/data/shaders/glsl/terraintessellation/terrain.tese.spv
similarity index 100%
rename from data/shaders/terraintessellation/terrain.tese.spv
rename to data/shaders/glsl/terraintessellation/terrain.tese.spv
diff --git a/data/shaders/terraintessellation/terrain.vert b/data/shaders/glsl/terraintessellation/terrain.vert
similarity index 100%
rename from data/shaders/terraintessellation/terrain.vert
rename to data/shaders/glsl/terraintessellation/terrain.vert
diff --git a/data/shaders/terraintessellation/terrain.vert.spv b/data/shaders/glsl/terraintessellation/terrain.vert.spv
similarity index 100%
rename from data/shaders/terraintessellation/terrain.vert.spv
rename to data/shaders/glsl/terraintessellation/terrain.vert.spv
diff --git a/data/shaders/tessellation/base.frag b/data/shaders/glsl/tessellation/base.frag
similarity index 100%
rename from data/shaders/tessellation/base.frag
rename to data/shaders/glsl/tessellation/base.frag
diff --git a/data/shaders/tessellation/base.frag.spv b/data/shaders/glsl/tessellation/base.frag.spv
similarity index 100%
rename from data/shaders/tessellation/base.frag.spv
rename to data/shaders/glsl/tessellation/base.frag.spv
diff --git a/data/shaders/tessellation/base.vert b/data/shaders/glsl/tessellation/base.vert
similarity index 100%
rename from data/shaders/tessellation/base.vert
rename to data/shaders/glsl/tessellation/base.vert
diff --git a/data/shaders/tessellation/base.vert.spv b/data/shaders/glsl/tessellation/base.vert.spv
similarity index 100%
rename from data/shaders/tessellation/base.vert.spv
rename to data/shaders/glsl/tessellation/base.vert.spv
diff --git a/data/shaders/tessellation/generate-spriv.bat b/data/shaders/glsl/tessellation/generate-spriv.bat
similarity index 100%
rename from data/shaders/tessellation/generate-spriv.bat
rename to data/shaders/glsl/tessellation/generate-spriv.bat
diff --git a/data/shaders/tessellation/passthrough.tesc b/data/shaders/glsl/tessellation/passthrough.tesc
similarity index 100%
rename from data/shaders/tessellation/passthrough.tesc
rename to data/shaders/glsl/tessellation/passthrough.tesc
diff --git a/data/shaders/tessellation/passthrough.tesc.spv b/data/shaders/glsl/tessellation/passthrough.tesc.spv
similarity index 100%
rename from data/shaders/tessellation/passthrough.tesc.spv
rename to data/shaders/glsl/tessellation/passthrough.tesc.spv
diff --git a/data/shaders/tessellation/passthrough.tese b/data/shaders/glsl/tessellation/passthrough.tese
similarity index 100%
rename from data/shaders/tessellation/passthrough.tese
rename to data/shaders/glsl/tessellation/passthrough.tese
diff --git a/data/shaders/tessellation/passthrough.tese.spv b/data/shaders/glsl/tessellation/passthrough.tese.spv
similarity index 100%
rename from data/shaders/tessellation/passthrough.tese.spv
rename to data/shaders/glsl/tessellation/passthrough.tese.spv
diff --git a/data/shaders/tessellation/pntriangles.tesc b/data/shaders/glsl/tessellation/pntriangles.tesc
similarity index 100%
rename from data/shaders/tessellation/pntriangles.tesc
rename to data/shaders/glsl/tessellation/pntriangles.tesc
diff --git a/data/shaders/tessellation/pntriangles.tesc.spv b/data/shaders/glsl/tessellation/pntriangles.tesc.spv
similarity index 100%
rename from data/shaders/tessellation/pntriangles.tesc.spv
rename to data/shaders/glsl/tessellation/pntriangles.tesc.spv
diff --git a/data/shaders/tessellation/pntriangles.tese b/data/shaders/glsl/tessellation/pntriangles.tese
similarity index 100%
rename from data/shaders/tessellation/pntriangles.tese
rename to data/shaders/glsl/tessellation/pntriangles.tese
diff --git a/data/shaders/tessellation/pntriangles.tese.spv b/data/shaders/glsl/tessellation/pntriangles.tese.spv
similarity index 100%
rename from data/shaders/tessellation/pntriangles.tese.spv
rename to data/shaders/glsl/tessellation/pntriangles.tese.spv
diff --git a/data/shaders/textoverlay/mesh.frag b/data/shaders/glsl/textoverlay/mesh.frag
similarity index 100%
rename from data/shaders/textoverlay/mesh.frag
rename to data/shaders/glsl/textoverlay/mesh.frag
diff --git a/data/shaders/textoverlay/mesh.frag.spv b/data/shaders/glsl/textoverlay/mesh.frag.spv
similarity index 100%
rename from data/shaders/textoverlay/mesh.frag.spv
rename to data/shaders/glsl/textoverlay/mesh.frag.spv
diff --git a/data/shaders/textoverlay/mesh.vert b/data/shaders/glsl/textoverlay/mesh.vert
similarity index 100%
rename from data/shaders/textoverlay/mesh.vert
rename to data/shaders/glsl/textoverlay/mesh.vert
diff --git a/data/shaders/textoverlay/mesh.vert.spv b/data/shaders/glsl/textoverlay/mesh.vert.spv
similarity index 100%
rename from data/shaders/textoverlay/mesh.vert.spv
rename to data/shaders/glsl/textoverlay/mesh.vert.spv
diff --git a/data/shaders/textoverlay/text.frag b/data/shaders/glsl/textoverlay/text.frag
similarity index 100%
rename from data/shaders/textoverlay/text.frag
rename to data/shaders/glsl/textoverlay/text.frag
diff --git a/data/shaders/textoverlay/text.frag.spv b/data/shaders/glsl/textoverlay/text.frag.spv
similarity index 100%
rename from data/shaders/textoverlay/text.frag.spv
rename to data/shaders/glsl/textoverlay/text.frag.spv
diff --git a/data/shaders/textoverlay/text.vert b/data/shaders/glsl/textoverlay/text.vert
similarity index 100%
rename from data/shaders/textoverlay/text.vert
rename to data/shaders/glsl/textoverlay/text.vert
diff --git a/data/shaders/textoverlay/text.vert.spv b/data/shaders/glsl/textoverlay/text.vert.spv
similarity index 100%
rename from data/shaders/textoverlay/text.vert.spv
rename to data/shaders/glsl/textoverlay/text.vert.spv
diff --git a/data/shaders/texture/generate-spirv.bat b/data/shaders/glsl/texture/generate-spirv.bat
similarity index 100%
rename from data/shaders/texture/generate-spirv.bat
rename to data/shaders/glsl/texture/generate-spirv.bat
diff --git a/data/shaders/texture/texture.frag b/data/shaders/glsl/texture/texture.frag
similarity index 100%
rename from data/shaders/texture/texture.frag
rename to data/shaders/glsl/texture/texture.frag
diff --git a/data/shaders/texture/texture.frag.spv b/data/shaders/glsl/texture/texture.frag.spv
similarity index 100%
rename from data/shaders/texture/texture.frag.spv
rename to data/shaders/glsl/texture/texture.frag.spv
diff --git a/data/shaders/texture/texture.vert b/data/shaders/glsl/texture/texture.vert
similarity index 100%
rename from data/shaders/texture/texture.vert
rename to data/shaders/glsl/texture/texture.vert
diff --git a/data/shaders/texture/texture.vert.spv b/data/shaders/glsl/texture/texture.vert.spv
similarity index 100%
rename from data/shaders/texture/texture.vert.spv
rename to data/shaders/glsl/texture/texture.vert.spv
diff --git a/data/shaders/texture3d/texture3d.frag b/data/shaders/glsl/texture3d/texture3d.frag
similarity index 100%
rename from data/shaders/texture3d/texture3d.frag
rename to data/shaders/glsl/texture3d/texture3d.frag
diff --git a/data/shaders/texture3d/texture3d.frag.spv b/data/shaders/glsl/texture3d/texture3d.frag.spv
similarity index 100%
rename from data/shaders/texture3d/texture3d.frag.spv
rename to data/shaders/glsl/texture3d/texture3d.frag.spv
diff --git a/data/shaders/texture3d/texture3d.vert b/data/shaders/glsl/texture3d/texture3d.vert
similarity index 100%
rename from data/shaders/texture3d/texture3d.vert
rename to data/shaders/glsl/texture3d/texture3d.vert
diff --git a/data/shaders/texture3d/texture3d.vert.spv b/data/shaders/glsl/texture3d/texture3d.vert.spv
similarity index 100%
rename from data/shaders/texture3d/texture3d.vert.spv
rename to data/shaders/glsl/texture3d/texture3d.vert.spv
diff --git a/data/shaders/texturearray/generate-spirv.bat b/data/shaders/glsl/texturearray/generate-spirv.bat
similarity index 100%
rename from data/shaders/texturearray/generate-spirv.bat
rename to data/shaders/glsl/texturearray/generate-spirv.bat
diff --git a/data/shaders/texturearray/instancing.frag b/data/shaders/glsl/texturearray/instancing.frag
similarity index 100%
rename from data/shaders/texturearray/instancing.frag
rename to data/shaders/glsl/texturearray/instancing.frag
diff --git a/data/shaders/texturearray/instancing.frag.spv b/data/shaders/glsl/texturearray/instancing.frag.spv
similarity index 100%
rename from data/shaders/texturearray/instancing.frag.spv
rename to data/shaders/glsl/texturearray/instancing.frag.spv
diff --git a/data/shaders/texturearray/instancing.vert b/data/shaders/glsl/texturearray/instancing.vert
similarity index 100%
rename from data/shaders/texturearray/instancing.vert
rename to data/shaders/glsl/texturearray/instancing.vert
diff --git a/data/shaders/texturearray/instancing.vert.spv b/data/shaders/glsl/texturearray/instancing.vert.spv
similarity index 100%
rename from data/shaders/texturearray/instancing.vert.spv
rename to data/shaders/glsl/texturearray/instancing.vert.spv
diff --git a/data/shaders/texturecubemap/reflect.frag b/data/shaders/glsl/texturecubemap/reflect.frag
similarity index 100%
rename from data/shaders/texturecubemap/reflect.frag
rename to data/shaders/glsl/texturecubemap/reflect.frag
diff --git a/data/shaders/texturecubemap/reflect.frag.spv b/data/shaders/glsl/texturecubemap/reflect.frag.spv
similarity index 100%
rename from data/shaders/texturecubemap/reflect.frag.spv
rename to data/shaders/glsl/texturecubemap/reflect.frag.spv
diff --git a/data/shaders/texturecubemap/reflect.vert b/data/shaders/glsl/texturecubemap/reflect.vert
similarity index 100%
rename from data/shaders/texturecubemap/reflect.vert
rename to data/shaders/glsl/texturecubemap/reflect.vert
diff --git a/data/shaders/texturecubemap/reflect.vert.spv b/data/shaders/glsl/texturecubemap/reflect.vert.spv
similarity index 100%
rename from data/shaders/texturecubemap/reflect.vert.spv
rename to data/shaders/glsl/texturecubemap/reflect.vert.spv
diff --git a/data/shaders/texturecubemap/skybox.frag b/data/shaders/glsl/texturecubemap/skybox.frag
similarity index 100%
rename from data/shaders/texturecubemap/skybox.frag
rename to data/shaders/glsl/texturecubemap/skybox.frag
diff --git a/data/shaders/texturecubemap/skybox.frag.spv b/data/shaders/glsl/texturecubemap/skybox.frag.spv
similarity index 100%
rename from data/shaders/texturecubemap/skybox.frag.spv
rename to data/shaders/glsl/texturecubemap/skybox.frag.spv
diff --git a/data/shaders/texturecubemap/skybox.vert b/data/shaders/glsl/texturecubemap/skybox.vert
similarity index 100%
rename from data/shaders/texturecubemap/skybox.vert
rename to data/shaders/glsl/texturecubemap/skybox.vert
diff --git a/data/shaders/texturecubemap/skybox.vert.spv b/data/shaders/glsl/texturecubemap/skybox.vert.spv
similarity index 100%
rename from data/shaders/texturecubemap/skybox.vert.spv
rename to data/shaders/glsl/texturecubemap/skybox.vert.spv
diff --git a/data/shaders/texturemipmapgen/texture.frag b/data/shaders/glsl/texturemipmapgen/texture.frag
similarity index 100%
rename from data/shaders/texturemipmapgen/texture.frag
rename to data/shaders/glsl/texturemipmapgen/texture.frag
diff --git a/data/shaders/texturemipmapgen/texture.frag.spv b/data/shaders/glsl/texturemipmapgen/texture.frag.spv
similarity index 100%
rename from data/shaders/texturemipmapgen/texture.frag.spv
rename to data/shaders/glsl/texturemipmapgen/texture.frag.spv
diff --git a/data/shaders/texturemipmapgen/texture.vert b/data/shaders/glsl/texturemipmapgen/texture.vert
similarity index 100%
rename from data/shaders/texturemipmapgen/texture.vert
rename to data/shaders/glsl/texturemipmapgen/texture.vert
diff --git a/data/shaders/texturemipmapgen/texture.vert.spv b/data/shaders/glsl/texturemipmapgen/texture.vert.spv
similarity index 100%
rename from data/shaders/texturemipmapgen/texture.vert.spv
rename to data/shaders/glsl/texturemipmapgen/texture.vert.spv
diff --git a/data/shaders/texturesparseresidency/sparseresidency.frag b/data/shaders/glsl/texturesparseresidency/sparseresidency.frag
similarity index 100%
rename from data/shaders/texturesparseresidency/sparseresidency.frag
rename to data/shaders/glsl/texturesparseresidency/sparseresidency.frag
diff --git a/data/shaders/texturesparseresidency/sparseresidency.frag.spv b/data/shaders/glsl/texturesparseresidency/sparseresidency.frag.spv
similarity index 100%
rename from data/shaders/texturesparseresidency/sparseresidency.frag.spv
rename to data/shaders/glsl/texturesparseresidency/sparseresidency.frag.spv
diff --git a/data/shaders/texturesparseresidency/sparseresidency.vert b/data/shaders/glsl/texturesparseresidency/sparseresidency.vert
similarity index 100%
rename from data/shaders/texturesparseresidency/sparseresidency.vert
rename to data/shaders/glsl/texturesparseresidency/sparseresidency.vert
diff --git a/data/shaders/texturesparseresidency/sparseresidency.vert.spv b/data/shaders/glsl/texturesparseresidency/sparseresidency.vert.spv
similarity index 100%
rename from data/shaders/texturesparseresidency/sparseresidency.vert.spv
rename to data/shaders/glsl/texturesparseresidency/sparseresidency.vert.spv
diff --git a/data/shaders/triangle/triangle.frag b/data/shaders/glsl/triangle/triangle.frag
similarity index 100%
rename from data/shaders/triangle/triangle.frag
rename to data/shaders/glsl/triangle/triangle.frag
diff --git a/data/shaders/triangle/triangle.frag.spv b/data/shaders/glsl/triangle/triangle.frag.spv
similarity index 100%
rename from data/shaders/triangle/triangle.frag.spv
rename to data/shaders/glsl/triangle/triangle.frag.spv
diff --git a/data/shaders/triangle/triangle.vert b/data/shaders/glsl/triangle/triangle.vert
similarity index 100%
rename from data/shaders/triangle/triangle.vert
rename to data/shaders/glsl/triangle/triangle.vert
diff --git a/data/shaders/triangle/triangle.vert.spv b/data/shaders/glsl/triangle/triangle.vert.spv
similarity index 100%
rename from data/shaders/triangle/triangle.vert.spv
rename to data/shaders/glsl/triangle/triangle.vert.spv
diff --git a/data/shaders/viewportarray/multiview.geom b/data/shaders/glsl/viewportarray/multiview.geom
similarity index 100%
rename from data/shaders/viewportarray/multiview.geom
rename to data/shaders/glsl/viewportarray/multiview.geom
diff --git a/data/shaders/viewportarray/multiview.geom.spv b/data/shaders/glsl/viewportarray/multiview.geom.spv
similarity index 100%
rename from data/shaders/viewportarray/multiview.geom.spv
rename to data/shaders/glsl/viewportarray/multiview.geom.spv
diff --git a/data/shaders/viewportarray/scene.frag b/data/shaders/glsl/viewportarray/scene.frag
similarity index 100%
rename from data/shaders/viewportarray/scene.frag
rename to data/shaders/glsl/viewportarray/scene.frag
diff --git a/data/shaders/viewportarray/scene.frag.spv b/data/shaders/glsl/viewportarray/scene.frag.spv
similarity index 100%
rename from data/shaders/viewportarray/scene.frag.spv
rename to data/shaders/glsl/viewportarray/scene.frag.spv
diff --git a/data/shaders/viewportarray/scene.vert b/data/shaders/glsl/viewportarray/scene.vert
similarity index 100%
rename from data/shaders/viewportarray/scene.vert
rename to data/shaders/glsl/viewportarray/scene.vert
diff --git a/data/shaders/viewportarray/scene.vert.spv b/data/shaders/glsl/viewportarray/scene.vert.spv
similarity index 100%
rename from data/shaders/viewportarray/scene.vert.spv
rename to data/shaders/glsl/viewportarray/scene.vert.spv
diff --git a/data/shaders/vulkanscene/generate-spriv.bat b/data/shaders/glsl/vulkanscene/generate-spriv.bat
similarity index 100%
rename from data/shaders/vulkanscene/generate-spriv.bat
rename to data/shaders/glsl/vulkanscene/generate-spriv.bat
diff --git a/data/shaders/vulkanscene/logo.frag b/data/shaders/glsl/vulkanscene/logo.frag
similarity index 100%
rename from data/shaders/vulkanscene/logo.frag
rename to data/shaders/glsl/vulkanscene/logo.frag
diff --git a/data/shaders/vulkanscene/logo.frag.spv b/data/shaders/glsl/vulkanscene/logo.frag.spv
similarity index 100%
rename from data/shaders/vulkanscene/logo.frag.spv
rename to data/shaders/glsl/vulkanscene/logo.frag.spv
diff --git a/data/shaders/vulkanscene/logo.vert b/data/shaders/glsl/vulkanscene/logo.vert
similarity index 100%
rename from data/shaders/vulkanscene/logo.vert
rename to data/shaders/glsl/vulkanscene/logo.vert
diff --git a/data/shaders/vulkanscene/logo.vert.spv b/data/shaders/glsl/vulkanscene/logo.vert.spv
similarity index 100%
rename from data/shaders/vulkanscene/logo.vert.spv
rename to data/shaders/glsl/vulkanscene/logo.vert.spv
diff --git a/data/shaders/vulkanscene/mesh.frag b/data/shaders/glsl/vulkanscene/mesh.frag
similarity index 100%
rename from data/shaders/vulkanscene/mesh.frag
rename to data/shaders/glsl/vulkanscene/mesh.frag
diff --git a/data/shaders/vulkanscene/mesh.frag.spv b/data/shaders/glsl/vulkanscene/mesh.frag.spv
similarity index 100%
rename from data/shaders/vulkanscene/mesh.frag.spv
rename to data/shaders/glsl/vulkanscene/mesh.frag.spv
diff --git a/data/shaders/vulkanscene/mesh.vert b/data/shaders/glsl/vulkanscene/mesh.vert
similarity index 100%
rename from data/shaders/vulkanscene/mesh.vert
rename to data/shaders/glsl/vulkanscene/mesh.vert
diff --git a/data/shaders/vulkanscene/mesh.vert.spv b/data/shaders/glsl/vulkanscene/mesh.vert.spv
similarity index 100%
rename from data/shaders/vulkanscene/mesh.vert.spv
rename to data/shaders/glsl/vulkanscene/mesh.vert.spv
diff --git a/data/shaders/vulkanscene/skybox.frag b/data/shaders/glsl/vulkanscene/skybox.frag
similarity index 100%
rename from data/shaders/vulkanscene/skybox.frag
rename to data/shaders/glsl/vulkanscene/skybox.frag
diff --git a/data/shaders/vulkanscene/skybox.frag.spv b/data/shaders/glsl/vulkanscene/skybox.frag.spv
similarity index 100%
rename from data/shaders/vulkanscene/skybox.frag.spv
rename to data/shaders/glsl/vulkanscene/skybox.frag.spv
diff --git a/data/shaders/vulkanscene/skybox.vert b/data/shaders/glsl/vulkanscene/skybox.vert
similarity index 100%
rename from data/shaders/vulkanscene/skybox.vert
rename to data/shaders/glsl/vulkanscene/skybox.vert
diff --git a/data/shaders/vulkanscene/skybox.vert.spv b/data/shaders/glsl/vulkanscene/skybox.vert.spv
similarity index 100%
rename from data/shaders/vulkanscene/skybox.vert.spv
rename to data/shaders/glsl/vulkanscene/skybox.vert.spv
diff --git a/data/hlsl/README.md b/data/shaders/hlsl/README.md
similarity index 93%
rename from data/hlsl/README.md
rename to data/shaders/hlsl/README.md
index dfb2c79d..20a3de5b 100644
--- a/data/hlsl/README.md
+++ b/data/shaders/hlsl/README.md
@@ -1,6 +1,6 @@
## HLSL Shaders
-This directory contains a fork of the shaders found in [data/shaders](https://github.com/SaschaWillems/Vulkan/tree/master/data/shaders), re-written in HLSL.
+This directory contains a fork of the shaders found in [data/shaders/glsl](https://github.com/SaschaWillems/Vulkan/tree/master/data/shaders/glsl), re-written in HLSL.
These can be compiled with [DXC](https://github.com/microsoft/DirectXShaderCompiler) using the `compile.py` script.
### Known issues
diff --git a/data/hlsl/base/textoverlay.frag b/data/shaders/hlsl/base/textoverlay.frag
similarity index 100%
rename from data/hlsl/base/textoverlay.frag
rename to data/shaders/hlsl/base/textoverlay.frag
diff --git a/data/hlsl/base/textoverlay.vert b/data/shaders/hlsl/base/textoverlay.vert
similarity index 100%
rename from data/hlsl/base/textoverlay.vert
rename to data/shaders/hlsl/base/textoverlay.vert
diff --git a/data/hlsl/base/uioverlay.frag b/data/shaders/hlsl/base/uioverlay.frag
similarity index 100%
rename from data/hlsl/base/uioverlay.frag
rename to data/shaders/hlsl/base/uioverlay.frag
diff --git a/data/hlsl/base/uioverlay.vert b/data/shaders/hlsl/base/uioverlay.vert
similarity index 100%
rename from data/hlsl/base/uioverlay.vert
rename to data/shaders/hlsl/base/uioverlay.vert
diff --git a/data/hlsl/bloom/colorpass.frag b/data/shaders/hlsl/bloom/colorpass.frag
similarity index 100%
rename from data/hlsl/bloom/colorpass.frag
rename to data/shaders/hlsl/bloom/colorpass.frag
diff --git a/data/hlsl/bloom/colorpass.vert b/data/shaders/hlsl/bloom/colorpass.vert
similarity index 100%
rename from data/hlsl/bloom/colorpass.vert
rename to data/shaders/hlsl/bloom/colorpass.vert
diff --git a/data/hlsl/bloom/gaussblur.frag b/data/shaders/hlsl/bloom/gaussblur.frag
similarity index 100%
rename from data/hlsl/bloom/gaussblur.frag
rename to data/shaders/hlsl/bloom/gaussblur.frag
diff --git a/data/hlsl/bloom/gaussblur.vert b/data/shaders/hlsl/bloom/gaussblur.vert
similarity index 100%
rename from data/hlsl/bloom/gaussblur.vert
rename to data/shaders/hlsl/bloom/gaussblur.vert
diff --git a/data/hlsl/bloom/phongpass.frag b/data/shaders/hlsl/bloom/phongpass.frag
similarity index 100%
rename from data/hlsl/bloom/phongpass.frag
rename to data/shaders/hlsl/bloom/phongpass.frag
diff --git a/data/hlsl/bloom/phongpass.vert b/data/shaders/hlsl/bloom/phongpass.vert
similarity index 100%
rename from data/hlsl/bloom/phongpass.vert
rename to data/shaders/hlsl/bloom/phongpass.vert
diff --git a/data/hlsl/bloom/skybox.frag b/data/shaders/hlsl/bloom/skybox.frag
similarity index 100%
rename from data/hlsl/bloom/skybox.frag
rename to data/shaders/hlsl/bloom/skybox.frag
diff --git a/data/hlsl/bloom/skybox.vert b/data/shaders/hlsl/bloom/skybox.vert
similarity index 100%
rename from data/hlsl/bloom/skybox.vert
rename to data/shaders/hlsl/bloom/skybox.vert
diff --git a/data/hlsl/compile.py b/data/shaders/hlsl/compile.py
similarity index 97%
rename from data/hlsl/compile.py
rename to data/shaders/hlsl/compile.py
index bad1f59b..2538b0d9 100644
--- a/data/hlsl/compile.py
+++ b/data/shaders/hlsl/compile.py
@@ -36,7 +36,7 @@ for root, dirs, files in os.walk(dir_path):
if file.endswith(".vert") or file.endswith(".frag") or file.endswith(".comp") or file.endswith(".geom") or file.endswith(".tesc") or file.endswith(".tese") or file.endswith(".rgen") or file.endswith(".rchit") or file.endswith(".rmiss"):
hlsl_file = os.path.join(root, file)
- spv_out = os.path.abspath(os.path.join(dir_path, "..", "shaders", os.path.relpath(hlsl_file, dir_path) + ".spv"))
+ spv_out = os.path.abspath(os.path.join(dir_path, "..", "glsl", os.path.relpath(hlsl_file, dir_path) + ".spv"))
# Make the spv directory if it does not already exist
spv_dir = os.path.dirname(spv_out)
diff --git a/data/hlsl/computecloth/cloth.comp b/data/shaders/hlsl/computecloth/cloth.comp
similarity index 100%
rename from data/hlsl/computecloth/cloth.comp
rename to data/shaders/hlsl/computecloth/cloth.comp
diff --git a/data/hlsl/computecloth/cloth.frag b/data/shaders/hlsl/computecloth/cloth.frag
similarity index 100%
rename from data/hlsl/computecloth/cloth.frag
rename to data/shaders/hlsl/computecloth/cloth.frag
diff --git a/data/hlsl/computecloth/cloth.vert b/data/shaders/hlsl/computecloth/cloth.vert
similarity index 100%
rename from data/hlsl/computecloth/cloth.vert
rename to data/shaders/hlsl/computecloth/cloth.vert
diff --git a/data/hlsl/computecloth/sphere.frag b/data/shaders/hlsl/computecloth/sphere.frag
similarity index 100%
rename from data/hlsl/computecloth/sphere.frag
rename to data/shaders/hlsl/computecloth/sphere.frag
diff --git a/data/hlsl/computecloth/sphere.vert b/data/shaders/hlsl/computecloth/sphere.vert
similarity index 100%
rename from data/hlsl/computecloth/sphere.vert
rename to data/shaders/hlsl/computecloth/sphere.vert
diff --git a/data/hlsl/computecullandlod/cull.comp b/data/shaders/hlsl/computecullandlod/cull.comp
similarity index 100%
rename from data/hlsl/computecullandlod/cull.comp
rename to data/shaders/hlsl/computecullandlod/cull.comp
diff --git a/data/hlsl/computecullandlod/indirectdraw.frag b/data/shaders/hlsl/computecullandlod/indirectdraw.frag
similarity index 100%
rename from data/hlsl/computecullandlod/indirectdraw.frag
rename to data/shaders/hlsl/computecullandlod/indirectdraw.frag
diff --git a/data/hlsl/computecullandlod/indirectdraw.vert b/data/shaders/hlsl/computecullandlod/indirectdraw.vert
similarity index 100%
rename from data/hlsl/computecullandlod/indirectdraw.vert
rename to data/shaders/hlsl/computecullandlod/indirectdraw.vert
diff --git a/data/hlsl/computeheadless/headless.comp b/data/shaders/hlsl/computeheadless/headless.comp
similarity index 100%
rename from data/hlsl/computeheadless/headless.comp
rename to data/shaders/hlsl/computeheadless/headless.comp
diff --git a/data/hlsl/computenbody/particle.frag b/data/shaders/hlsl/computenbody/particle.frag
similarity index 100%
rename from data/hlsl/computenbody/particle.frag
rename to data/shaders/hlsl/computenbody/particle.frag
diff --git a/data/hlsl/computenbody/particle.vert b/data/shaders/hlsl/computenbody/particle.vert
similarity index 100%
rename from data/hlsl/computenbody/particle.vert
rename to data/shaders/hlsl/computenbody/particle.vert
diff --git a/data/hlsl/computenbody/particle_calculate.comp b/data/shaders/hlsl/computenbody/particle_calculate.comp
similarity index 100%
rename from data/hlsl/computenbody/particle_calculate.comp
rename to data/shaders/hlsl/computenbody/particle_calculate.comp
diff --git a/data/hlsl/computenbody/particle_integrate.comp b/data/shaders/hlsl/computenbody/particle_integrate.comp
similarity index 100%
rename from data/hlsl/computenbody/particle_integrate.comp
rename to data/shaders/hlsl/computenbody/particle_integrate.comp
diff --git a/data/hlsl/computeparticles/particle.comp b/data/shaders/hlsl/computeparticles/particle.comp
similarity index 100%
rename from data/hlsl/computeparticles/particle.comp
rename to data/shaders/hlsl/computeparticles/particle.comp
diff --git a/data/hlsl/computeparticles/particle.frag b/data/shaders/hlsl/computeparticles/particle.frag
similarity index 100%
rename from data/hlsl/computeparticles/particle.frag
rename to data/shaders/hlsl/computeparticles/particle.frag
diff --git a/data/hlsl/computeparticles/particle.vert b/data/shaders/hlsl/computeparticles/particle.vert
similarity index 100%
rename from data/hlsl/computeparticles/particle.vert
rename to data/shaders/hlsl/computeparticles/particle.vert
diff --git a/data/hlsl/computeraytracing/raytracing.comp b/data/shaders/hlsl/computeraytracing/raytracing.comp
similarity index 100%
rename from data/hlsl/computeraytracing/raytracing.comp
rename to data/shaders/hlsl/computeraytracing/raytracing.comp
diff --git a/data/hlsl/computeraytracing/texture.frag b/data/shaders/hlsl/computeraytracing/texture.frag
similarity index 100%
rename from data/hlsl/computeraytracing/texture.frag
rename to data/shaders/hlsl/computeraytracing/texture.frag
diff --git a/data/hlsl/computeraytracing/texture.vert b/data/shaders/hlsl/computeraytracing/texture.vert
similarity index 100%
rename from data/hlsl/computeraytracing/texture.vert
rename to data/shaders/hlsl/computeraytracing/texture.vert
diff --git a/data/hlsl/computeshader/edgedetect.comp b/data/shaders/hlsl/computeshader/edgedetect.comp
similarity index 100%
rename from data/hlsl/computeshader/edgedetect.comp
rename to data/shaders/hlsl/computeshader/edgedetect.comp
diff --git a/data/hlsl/computeshader/emboss.comp b/data/shaders/hlsl/computeshader/emboss.comp
similarity index 100%
rename from data/hlsl/computeshader/emboss.comp
rename to data/shaders/hlsl/computeshader/emboss.comp
diff --git a/data/hlsl/computeshader/sharpen.comp b/data/shaders/hlsl/computeshader/sharpen.comp
similarity index 100%
rename from data/hlsl/computeshader/sharpen.comp
rename to data/shaders/hlsl/computeshader/sharpen.comp
diff --git a/data/hlsl/computeshader/texture.frag b/data/shaders/hlsl/computeshader/texture.frag
similarity index 100%
rename from data/hlsl/computeshader/texture.frag
rename to data/shaders/hlsl/computeshader/texture.frag
diff --git a/data/hlsl/computeshader/texture.vert b/data/shaders/hlsl/computeshader/texture.vert
similarity index 100%
rename from data/hlsl/computeshader/texture.vert
rename to data/shaders/hlsl/computeshader/texture.vert
diff --git a/data/hlsl/conditionalrender/model.frag b/data/shaders/hlsl/conditionalrender/model.frag
similarity index 100%
rename from data/hlsl/conditionalrender/model.frag
rename to data/shaders/hlsl/conditionalrender/model.frag
diff --git a/data/hlsl/conditionalrender/model.vert b/data/shaders/hlsl/conditionalrender/model.vert
similarity index 100%
rename from data/hlsl/conditionalrender/model.vert
rename to data/shaders/hlsl/conditionalrender/model.vert
diff --git a/data/hlsl/conservativeraster/fullscreen.frag b/data/shaders/hlsl/conservativeraster/fullscreen.frag
similarity index 100%
rename from data/hlsl/conservativeraster/fullscreen.frag
rename to data/shaders/hlsl/conservativeraster/fullscreen.frag
diff --git a/data/hlsl/conservativeraster/fullscreen.vert b/data/shaders/hlsl/conservativeraster/fullscreen.vert
similarity index 100%
rename from data/hlsl/conservativeraster/fullscreen.vert
rename to data/shaders/hlsl/conservativeraster/fullscreen.vert
diff --git a/data/hlsl/conservativeraster/triangle.frag b/data/shaders/hlsl/conservativeraster/triangle.frag
similarity index 100%
rename from data/hlsl/conservativeraster/triangle.frag
rename to data/shaders/hlsl/conservativeraster/triangle.frag
diff --git a/data/hlsl/conservativeraster/triangle.vert b/data/shaders/hlsl/conservativeraster/triangle.vert
similarity index 100%
rename from data/hlsl/conservativeraster/triangle.vert
rename to data/shaders/hlsl/conservativeraster/triangle.vert
diff --git a/data/hlsl/conservativeraster/triangleoverlay.frag b/data/shaders/hlsl/conservativeraster/triangleoverlay.frag
similarity index 100%
rename from data/hlsl/conservativeraster/triangleoverlay.frag
rename to data/shaders/hlsl/conservativeraster/triangleoverlay.frag
diff --git a/data/hlsl/debugmarker/colorpass.frag b/data/shaders/hlsl/debugmarker/colorpass.frag
similarity index 100%
rename from data/hlsl/debugmarker/colorpass.frag
rename to data/shaders/hlsl/debugmarker/colorpass.frag
diff --git a/data/hlsl/debugmarker/colorpass.vert b/data/shaders/hlsl/debugmarker/colorpass.vert
similarity index 100%
rename from data/hlsl/debugmarker/colorpass.vert
rename to data/shaders/hlsl/debugmarker/colorpass.vert
diff --git a/data/hlsl/debugmarker/postprocess.frag b/data/shaders/hlsl/debugmarker/postprocess.frag
similarity index 100%
rename from data/hlsl/debugmarker/postprocess.frag
rename to data/shaders/hlsl/debugmarker/postprocess.frag
diff --git a/data/hlsl/debugmarker/postprocess.vert b/data/shaders/hlsl/debugmarker/postprocess.vert
similarity index 100%
rename from data/hlsl/debugmarker/postprocess.vert
rename to data/shaders/hlsl/debugmarker/postprocess.vert
diff --git a/data/hlsl/debugmarker/toon.frag b/data/shaders/hlsl/debugmarker/toon.frag
similarity index 100%
rename from data/hlsl/debugmarker/toon.frag
rename to data/shaders/hlsl/debugmarker/toon.frag
diff --git a/data/hlsl/debugmarker/toon.vert b/data/shaders/hlsl/debugmarker/toon.vert
similarity index 100%
rename from data/hlsl/debugmarker/toon.vert
rename to data/shaders/hlsl/debugmarker/toon.vert
diff --git a/data/hlsl/deferred/debug.frag b/data/shaders/hlsl/deferred/debug.frag
similarity index 100%
rename from data/hlsl/deferred/debug.frag
rename to data/shaders/hlsl/deferred/debug.frag
diff --git a/data/hlsl/deferred/debug.vert b/data/shaders/hlsl/deferred/debug.vert
similarity index 100%
rename from data/hlsl/deferred/debug.vert
rename to data/shaders/hlsl/deferred/debug.vert
diff --git a/data/hlsl/deferred/deferred.frag b/data/shaders/hlsl/deferred/deferred.frag
similarity index 100%
rename from data/hlsl/deferred/deferred.frag
rename to data/shaders/hlsl/deferred/deferred.frag
diff --git a/data/hlsl/deferred/deferred.vert b/data/shaders/hlsl/deferred/deferred.vert
similarity index 100%
rename from data/hlsl/deferred/deferred.vert
rename to data/shaders/hlsl/deferred/deferred.vert
diff --git a/data/hlsl/deferred/mrt.frag b/data/shaders/hlsl/deferred/mrt.frag
similarity index 100%
rename from data/hlsl/deferred/mrt.frag
rename to data/shaders/hlsl/deferred/mrt.frag
diff --git a/data/hlsl/deferred/mrt.vert b/data/shaders/hlsl/deferred/mrt.vert
similarity index 100%
rename from data/hlsl/deferred/mrt.vert
rename to data/shaders/hlsl/deferred/mrt.vert
diff --git a/data/hlsl/deferredmultisampling/debug.frag b/data/shaders/hlsl/deferredmultisampling/debug.frag
similarity index 100%
rename from data/hlsl/deferredmultisampling/debug.frag
rename to data/shaders/hlsl/deferredmultisampling/debug.frag
diff --git a/data/hlsl/deferredmultisampling/debug.vert b/data/shaders/hlsl/deferredmultisampling/debug.vert
similarity index 100%
rename from data/hlsl/deferredmultisampling/debug.vert
rename to data/shaders/hlsl/deferredmultisampling/debug.vert
diff --git a/data/hlsl/deferredmultisampling/deferred.frag b/data/shaders/hlsl/deferredmultisampling/deferred.frag
similarity index 100%
rename from data/hlsl/deferredmultisampling/deferred.frag
rename to data/shaders/hlsl/deferredmultisampling/deferred.frag
diff --git a/data/hlsl/deferredmultisampling/deferred.vert b/data/shaders/hlsl/deferredmultisampling/deferred.vert
similarity index 100%
rename from data/hlsl/deferredmultisampling/deferred.vert
rename to data/shaders/hlsl/deferredmultisampling/deferred.vert
diff --git a/data/hlsl/deferredmultisampling/mrt.frag b/data/shaders/hlsl/deferredmultisampling/mrt.frag
similarity index 100%
rename from data/hlsl/deferredmultisampling/mrt.frag
rename to data/shaders/hlsl/deferredmultisampling/mrt.frag
diff --git a/data/hlsl/deferredmultisampling/mrt.vert b/data/shaders/hlsl/deferredmultisampling/mrt.vert
similarity index 100%
rename from data/hlsl/deferredmultisampling/mrt.vert
rename to data/shaders/hlsl/deferredmultisampling/mrt.vert
diff --git a/data/hlsl/deferredshadows/debug.frag b/data/shaders/hlsl/deferredshadows/debug.frag
similarity index 100%
rename from data/hlsl/deferredshadows/debug.frag
rename to data/shaders/hlsl/deferredshadows/debug.frag
diff --git a/data/hlsl/deferredshadows/debug.vert b/data/shaders/hlsl/deferredshadows/debug.vert
similarity index 100%
rename from data/hlsl/deferredshadows/debug.vert
rename to data/shaders/hlsl/deferredshadows/debug.vert
diff --git a/data/hlsl/deferredshadows/deferred.frag b/data/shaders/hlsl/deferredshadows/deferred.frag
similarity index 100%
rename from data/hlsl/deferredshadows/deferred.frag
rename to data/shaders/hlsl/deferredshadows/deferred.frag
diff --git a/data/hlsl/deferredshadows/deferred.vert b/data/shaders/hlsl/deferredshadows/deferred.vert
similarity index 100%
rename from data/hlsl/deferredshadows/deferred.vert
rename to data/shaders/hlsl/deferredshadows/deferred.vert
diff --git a/data/hlsl/deferredshadows/mrt.frag b/data/shaders/hlsl/deferredshadows/mrt.frag
similarity index 100%
rename from data/hlsl/deferredshadows/mrt.frag
rename to data/shaders/hlsl/deferredshadows/mrt.frag
diff --git a/data/hlsl/deferredshadows/mrt.vert b/data/shaders/hlsl/deferredshadows/mrt.vert
similarity index 100%
rename from data/hlsl/deferredshadows/mrt.vert
rename to data/shaders/hlsl/deferredshadows/mrt.vert
diff --git a/data/hlsl/deferredshadows/shadow.geom b/data/shaders/hlsl/deferredshadows/shadow.geom
similarity index 100%
rename from data/hlsl/deferredshadows/shadow.geom
rename to data/shaders/hlsl/deferredshadows/shadow.geom
diff --git a/data/hlsl/deferredshadows/shadow.vert b/data/shaders/hlsl/deferredshadows/shadow.vert
similarity index 100%
rename from data/hlsl/deferredshadows/shadow.vert
rename to data/shaders/hlsl/deferredshadows/shadow.vert
diff --git a/data/hlsl/descriptorsets/cube.frag b/data/shaders/hlsl/descriptorsets/cube.frag
similarity index 100%
rename from data/hlsl/descriptorsets/cube.frag
rename to data/shaders/hlsl/descriptorsets/cube.frag
diff --git a/data/hlsl/descriptorsets/cube.vert b/data/shaders/hlsl/descriptorsets/cube.vert
similarity index 100%
rename from data/hlsl/descriptorsets/cube.vert
rename to data/shaders/hlsl/descriptorsets/cube.vert
diff --git a/data/hlsl/displacement/base.frag b/data/shaders/hlsl/displacement/base.frag
similarity index 100%
rename from data/hlsl/displacement/base.frag
rename to data/shaders/hlsl/displacement/base.frag
diff --git a/data/hlsl/displacement/base.vert b/data/shaders/hlsl/displacement/base.vert
similarity index 100%
rename from data/hlsl/displacement/base.vert
rename to data/shaders/hlsl/displacement/base.vert
diff --git a/data/hlsl/displacement/displacement.tesc b/data/shaders/hlsl/displacement/displacement.tesc
similarity index 100%
rename from data/hlsl/displacement/displacement.tesc
rename to data/shaders/hlsl/displacement/displacement.tesc
diff --git a/data/hlsl/displacement/displacement.tese b/data/shaders/hlsl/displacement/displacement.tese
similarity index 100%
rename from data/hlsl/displacement/displacement.tese
rename to data/shaders/hlsl/displacement/displacement.tese
diff --git a/data/hlsl/distancefieldfonts/bitmap.frag b/data/shaders/hlsl/distancefieldfonts/bitmap.frag
similarity index 100%
rename from data/hlsl/distancefieldfonts/bitmap.frag
rename to data/shaders/hlsl/distancefieldfonts/bitmap.frag
diff --git a/data/hlsl/distancefieldfonts/bitmap.vert b/data/shaders/hlsl/distancefieldfonts/bitmap.vert
similarity index 100%
rename from data/hlsl/distancefieldfonts/bitmap.vert
rename to data/shaders/hlsl/distancefieldfonts/bitmap.vert
diff --git a/data/hlsl/distancefieldfonts/sdf.frag b/data/shaders/hlsl/distancefieldfonts/sdf.frag
similarity index 100%
rename from data/hlsl/distancefieldfonts/sdf.frag
rename to data/shaders/hlsl/distancefieldfonts/sdf.frag
diff --git a/data/hlsl/distancefieldfonts/sdf.vert b/data/shaders/hlsl/distancefieldfonts/sdf.vert
similarity index 100%
rename from data/hlsl/distancefieldfonts/sdf.vert
rename to data/shaders/hlsl/distancefieldfonts/sdf.vert
diff --git a/data/hlsl/dynamicuniformbuffer/base.frag b/data/shaders/hlsl/dynamicuniformbuffer/base.frag
similarity index 100%
rename from data/hlsl/dynamicuniformbuffer/base.frag
rename to data/shaders/hlsl/dynamicuniformbuffer/base.frag
diff --git a/data/hlsl/dynamicuniformbuffer/base.vert b/data/shaders/hlsl/dynamicuniformbuffer/base.vert
similarity index 100%
rename from data/hlsl/dynamicuniformbuffer/base.vert
rename to data/shaders/hlsl/dynamicuniformbuffer/base.vert
diff --git a/data/hlsl/gears/gears.frag b/data/shaders/hlsl/gears/gears.frag
similarity index 100%
rename from data/hlsl/gears/gears.frag
rename to data/shaders/hlsl/gears/gears.frag
diff --git a/data/hlsl/gears/gears.vert b/data/shaders/hlsl/gears/gears.vert
similarity index 100%
rename from data/hlsl/gears/gears.vert
rename to data/shaders/hlsl/gears/gears.vert
diff --git a/data/hlsl/geometryshader/base.frag b/data/shaders/hlsl/geometryshader/base.frag
similarity index 100%
rename from data/hlsl/geometryshader/base.frag
rename to data/shaders/hlsl/geometryshader/base.frag
diff --git a/data/hlsl/geometryshader/base.vert b/data/shaders/hlsl/geometryshader/base.vert
similarity index 100%
rename from data/hlsl/geometryshader/base.vert
rename to data/shaders/hlsl/geometryshader/base.vert
diff --git a/data/hlsl/geometryshader/mesh.frag b/data/shaders/hlsl/geometryshader/mesh.frag
similarity index 100%
rename from data/hlsl/geometryshader/mesh.frag
rename to data/shaders/hlsl/geometryshader/mesh.frag
diff --git a/data/hlsl/geometryshader/mesh.vert b/data/shaders/hlsl/geometryshader/mesh.vert
similarity index 100%
rename from data/hlsl/geometryshader/mesh.vert
rename to data/shaders/hlsl/geometryshader/mesh.vert
diff --git a/data/hlsl/geometryshader/normaldebug.geom b/data/shaders/hlsl/geometryshader/normaldebug.geom
similarity index 100%
rename from data/hlsl/geometryshader/normaldebug.geom
rename to data/shaders/hlsl/geometryshader/normaldebug.geom
diff --git a/data/hlsl/gltfscene/mesh.frag b/data/shaders/hlsl/gltfscene/mesh.frag
similarity index 100%
rename from data/hlsl/gltfscene/mesh.frag
rename to data/shaders/hlsl/gltfscene/mesh.frag
diff --git a/data/hlsl/gltfscene/mesh.vert b/data/shaders/hlsl/gltfscene/mesh.vert
similarity index 100%
rename from data/hlsl/gltfscene/mesh.vert
rename to data/shaders/hlsl/gltfscene/mesh.vert
diff --git a/data/hlsl/hdr/bloom.frag b/data/shaders/hlsl/hdr/bloom.frag
similarity index 100%
rename from data/hlsl/hdr/bloom.frag
rename to data/shaders/hlsl/hdr/bloom.frag
diff --git a/data/hlsl/hdr/bloom.vert b/data/shaders/hlsl/hdr/bloom.vert
similarity index 100%
rename from data/hlsl/hdr/bloom.vert
rename to data/shaders/hlsl/hdr/bloom.vert
diff --git a/data/hlsl/hdr/composition.frag b/data/shaders/hlsl/hdr/composition.frag
similarity index 100%
rename from data/hlsl/hdr/composition.frag
rename to data/shaders/hlsl/hdr/composition.frag
diff --git a/data/hlsl/hdr/composition.vert b/data/shaders/hlsl/hdr/composition.vert
similarity index 100%
rename from data/hlsl/hdr/composition.vert
rename to data/shaders/hlsl/hdr/composition.vert
diff --git a/data/hlsl/hdr/gbuffer.frag b/data/shaders/hlsl/hdr/gbuffer.frag
similarity index 100%
rename from data/hlsl/hdr/gbuffer.frag
rename to data/shaders/hlsl/hdr/gbuffer.frag
diff --git a/data/hlsl/hdr/gbuffer.vert b/data/shaders/hlsl/hdr/gbuffer.vert
similarity index 100%
rename from data/hlsl/hdr/gbuffer.vert
rename to data/shaders/hlsl/hdr/gbuffer.vert
diff --git a/data/hlsl/imgui/scene.frag b/data/shaders/hlsl/imgui/scene.frag
similarity index 100%
rename from data/hlsl/imgui/scene.frag
rename to data/shaders/hlsl/imgui/scene.frag
diff --git a/data/hlsl/imgui/scene.vert b/data/shaders/hlsl/imgui/scene.vert
similarity index 100%
rename from data/hlsl/imgui/scene.vert
rename to data/shaders/hlsl/imgui/scene.vert
diff --git a/data/hlsl/imgui/ui.frag b/data/shaders/hlsl/imgui/ui.frag
similarity index 100%
rename from data/hlsl/imgui/ui.frag
rename to data/shaders/hlsl/imgui/ui.frag
diff --git a/data/hlsl/imgui/ui.vert b/data/shaders/hlsl/imgui/ui.vert
similarity index 100%
rename from data/hlsl/imgui/ui.vert
rename to data/shaders/hlsl/imgui/ui.vert
diff --git a/data/hlsl/indirectdraw/ground.frag b/data/shaders/hlsl/indirectdraw/ground.frag
similarity index 100%
rename from data/hlsl/indirectdraw/ground.frag
rename to data/shaders/hlsl/indirectdraw/ground.frag
diff --git a/data/hlsl/indirectdraw/ground.vert b/data/shaders/hlsl/indirectdraw/ground.vert
similarity index 100%
rename from data/hlsl/indirectdraw/ground.vert
rename to data/shaders/hlsl/indirectdraw/ground.vert
diff --git a/data/hlsl/indirectdraw/indirectdraw.frag b/data/shaders/hlsl/indirectdraw/indirectdraw.frag
similarity index 100%
rename from data/hlsl/indirectdraw/indirectdraw.frag
rename to data/shaders/hlsl/indirectdraw/indirectdraw.frag
diff --git a/data/hlsl/indirectdraw/indirectdraw.vert b/data/shaders/hlsl/indirectdraw/indirectdraw.vert
similarity index 100%
rename from data/hlsl/indirectdraw/indirectdraw.vert
rename to data/shaders/hlsl/indirectdraw/indirectdraw.vert
diff --git a/data/hlsl/indirectdraw/skysphere.frag b/data/shaders/hlsl/indirectdraw/skysphere.frag
similarity index 100%
rename from data/hlsl/indirectdraw/skysphere.frag
rename to data/shaders/hlsl/indirectdraw/skysphere.frag
diff --git a/data/hlsl/indirectdraw/skysphere.vert b/data/shaders/hlsl/indirectdraw/skysphere.vert
similarity index 100%
rename from data/hlsl/indirectdraw/skysphere.vert
rename to data/shaders/hlsl/indirectdraw/skysphere.vert
diff --git a/data/hlsl/inlineuniformblocks/pbr.frag b/data/shaders/hlsl/inlineuniformblocks/pbr.frag
similarity index 100%
rename from data/hlsl/inlineuniformblocks/pbr.frag
rename to data/shaders/hlsl/inlineuniformblocks/pbr.frag
diff --git a/data/hlsl/inlineuniformblocks/pbr.vert b/data/shaders/hlsl/inlineuniformblocks/pbr.vert
similarity index 100%
rename from data/hlsl/inlineuniformblocks/pbr.vert
rename to data/shaders/hlsl/inlineuniformblocks/pbr.vert
diff --git a/data/hlsl/inputattachments/attachmentread.frag b/data/shaders/hlsl/inputattachments/attachmentread.frag
similarity index 100%
rename from data/hlsl/inputattachments/attachmentread.frag
rename to data/shaders/hlsl/inputattachments/attachmentread.frag
diff --git a/data/hlsl/inputattachments/attachmentread.vert b/data/shaders/hlsl/inputattachments/attachmentread.vert
similarity index 100%
rename from data/hlsl/inputattachments/attachmentread.vert
rename to data/shaders/hlsl/inputattachments/attachmentread.vert
diff --git a/data/hlsl/inputattachments/attachmentwrite.frag b/data/shaders/hlsl/inputattachments/attachmentwrite.frag
similarity index 100%
rename from data/hlsl/inputattachments/attachmentwrite.frag
rename to data/shaders/hlsl/inputattachments/attachmentwrite.frag
diff --git a/data/hlsl/inputattachments/attachmentwrite.vert b/data/shaders/hlsl/inputattachments/attachmentwrite.vert
similarity index 100%
rename from data/hlsl/inputattachments/attachmentwrite.vert
rename to data/shaders/hlsl/inputattachments/attachmentwrite.vert
diff --git a/data/hlsl/instancing/instancing.frag b/data/shaders/hlsl/instancing/instancing.frag
similarity index 100%
rename from data/hlsl/instancing/instancing.frag
rename to data/shaders/hlsl/instancing/instancing.frag
diff --git a/data/hlsl/instancing/instancing.vert b/data/shaders/hlsl/instancing/instancing.vert
similarity index 100%
rename from data/hlsl/instancing/instancing.vert
rename to data/shaders/hlsl/instancing/instancing.vert
diff --git a/data/hlsl/instancing/planet.frag b/data/shaders/hlsl/instancing/planet.frag
similarity index 100%
rename from data/hlsl/instancing/planet.frag
rename to data/shaders/hlsl/instancing/planet.frag
diff --git a/data/hlsl/instancing/planet.vert b/data/shaders/hlsl/instancing/planet.vert
similarity index 100%
rename from data/hlsl/instancing/planet.vert
rename to data/shaders/hlsl/instancing/planet.vert
diff --git a/data/hlsl/instancing/starfield.frag b/data/shaders/hlsl/instancing/starfield.frag
similarity index 100%
rename from data/hlsl/instancing/starfield.frag
rename to data/shaders/hlsl/instancing/starfield.frag
diff --git a/data/hlsl/instancing/starfield.vert b/data/shaders/hlsl/instancing/starfield.vert
similarity index 100%
rename from data/hlsl/instancing/starfield.vert
rename to data/shaders/hlsl/instancing/starfield.vert
diff --git a/data/hlsl/mesh/mesh.frag b/data/shaders/hlsl/mesh/mesh.frag
similarity index 100%
rename from data/hlsl/mesh/mesh.frag
rename to data/shaders/hlsl/mesh/mesh.frag
diff --git a/data/hlsl/mesh/mesh.vert b/data/shaders/hlsl/mesh/mesh.vert
similarity index 100%
rename from data/hlsl/mesh/mesh.vert
rename to data/shaders/hlsl/mesh/mesh.vert
diff --git a/data/hlsl/multisampling/scene.frag b/data/shaders/hlsl/multisampling/scene.frag
similarity index 100%
rename from data/hlsl/multisampling/scene.frag
rename to data/shaders/hlsl/multisampling/scene.frag
diff --git a/data/hlsl/multisampling/scene.vert b/data/shaders/hlsl/multisampling/scene.vert
similarity index 100%
rename from data/hlsl/multisampling/scene.vert
rename to data/shaders/hlsl/multisampling/scene.vert
diff --git a/data/hlsl/multithreading/phong.frag b/data/shaders/hlsl/multithreading/phong.frag
similarity index 100%
rename from data/hlsl/multithreading/phong.frag
rename to data/shaders/hlsl/multithreading/phong.frag
diff --git a/data/hlsl/multithreading/phong.vert b/data/shaders/hlsl/multithreading/phong.vert
similarity index 100%
rename from data/hlsl/multithreading/phong.vert
rename to data/shaders/hlsl/multithreading/phong.vert
diff --git a/data/hlsl/multithreading/starsphere.frag b/data/shaders/hlsl/multithreading/starsphere.frag
similarity index 100%
rename from data/hlsl/multithreading/starsphere.frag
rename to data/shaders/hlsl/multithreading/starsphere.frag
diff --git a/data/hlsl/multithreading/starsphere.vert b/data/shaders/hlsl/multithreading/starsphere.vert
similarity index 100%
rename from data/hlsl/multithreading/starsphere.vert
rename to data/shaders/hlsl/multithreading/starsphere.vert
diff --git a/data/hlsl/multiview/multiview.frag b/data/shaders/hlsl/multiview/multiview.frag
similarity index 100%
rename from data/hlsl/multiview/multiview.frag
rename to data/shaders/hlsl/multiview/multiview.frag
diff --git a/data/hlsl/multiview/multiview.vert b/data/shaders/hlsl/multiview/multiview.vert
similarity index 100%
rename from data/hlsl/multiview/multiview.vert
rename to data/shaders/hlsl/multiview/multiview.vert
diff --git a/data/hlsl/multiview/viewdisplay.frag b/data/shaders/hlsl/multiview/viewdisplay.frag
similarity index 100%
rename from data/hlsl/multiview/viewdisplay.frag
rename to data/shaders/hlsl/multiview/viewdisplay.frag
diff --git a/data/hlsl/multiview/viewdisplay.vert b/data/shaders/hlsl/multiview/viewdisplay.vert
similarity index 100%
rename from data/hlsl/multiview/viewdisplay.vert
rename to data/shaders/hlsl/multiview/viewdisplay.vert
diff --git a/data/hlsl/negativeviewportheight/quad.frag b/data/shaders/hlsl/negativeviewportheight/quad.frag
similarity index 100%
rename from data/hlsl/negativeviewportheight/quad.frag
rename to data/shaders/hlsl/negativeviewportheight/quad.frag
diff --git a/data/hlsl/negativeviewportheight/quad.vert b/data/shaders/hlsl/negativeviewportheight/quad.vert
similarity index 100%
rename from data/hlsl/negativeviewportheight/quad.vert
rename to data/shaders/hlsl/negativeviewportheight/quad.vert
diff --git a/data/hlsl/nv_ray_tracing_basic/closesthit.rchit b/data/shaders/hlsl/nv_ray_tracing_basic/closesthit.rchit
similarity index 100%
rename from data/hlsl/nv_ray_tracing_basic/closesthit.rchit
rename to data/shaders/hlsl/nv_ray_tracing_basic/closesthit.rchit
diff --git a/data/hlsl/nv_ray_tracing_basic/miss.rmiss b/data/shaders/hlsl/nv_ray_tracing_basic/miss.rmiss
similarity index 100%
rename from data/hlsl/nv_ray_tracing_basic/miss.rmiss
rename to data/shaders/hlsl/nv_ray_tracing_basic/miss.rmiss
diff --git a/data/hlsl/nv_ray_tracing_basic/raygen.rgen b/data/shaders/hlsl/nv_ray_tracing_basic/raygen.rgen
similarity index 100%
rename from data/hlsl/nv_ray_tracing_basic/raygen.rgen
rename to data/shaders/hlsl/nv_ray_tracing_basic/raygen.rgen
diff --git a/data/hlsl/nv_ray_tracing_reflections/closesthit.rchit b/data/shaders/hlsl/nv_ray_tracing_reflections/closesthit.rchit
similarity index 100%
rename from data/hlsl/nv_ray_tracing_reflections/closesthit.rchit
rename to data/shaders/hlsl/nv_ray_tracing_reflections/closesthit.rchit
diff --git a/data/hlsl/nv_ray_tracing_reflections/miss.rmiss b/data/shaders/hlsl/nv_ray_tracing_reflections/miss.rmiss
similarity index 100%
rename from data/hlsl/nv_ray_tracing_reflections/miss.rmiss
rename to data/shaders/hlsl/nv_ray_tracing_reflections/miss.rmiss
diff --git a/data/hlsl/nv_ray_tracing_reflections/raygen.rgen b/data/shaders/hlsl/nv_ray_tracing_reflections/raygen.rgen
similarity index 100%
rename from data/hlsl/nv_ray_tracing_reflections/raygen.rgen
rename to data/shaders/hlsl/nv_ray_tracing_reflections/raygen.rgen
diff --git a/data/hlsl/nv_ray_tracing_shadows/closesthit.rchit b/data/shaders/hlsl/nv_ray_tracing_shadows/closesthit.rchit
similarity index 100%
rename from data/hlsl/nv_ray_tracing_shadows/closesthit.rchit
rename to data/shaders/hlsl/nv_ray_tracing_shadows/closesthit.rchit
diff --git a/data/hlsl/nv_ray_tracing_shadows/miss.rmiss b/data/shaders/hlsl/nv_ray_tracing_shadows/miss.rmiss
similarity index 100%
rename from data/hlsl/nv_ray_tracing_shadows/miss.rmiss
rename to data/shaders/hlsl/nv_ray_tracing_shadows/miss.rmiss
diff --git a/data/hlsl/nv_ray_tracing_shadows/raygen.rgen b/data/shaders/hlsl/nv_ray_tracing_shadows/raygen.rgen
similarity index 100%
rename from data/hlsl/nv_ray_tracing_shadows/raygen.rgen
rename to data/shaders/hlsl/nv_ray_tracing_shadows/raygen.rgen
diff --git a/data/hlsl/nv_ray_tracing_shadows/shadow.rmiss b/data/shaders/hlsl/nv_ray_tracing_shadows/shadow.rmiss
similarity index 100%
rename from data/hlsl/nv_ray_tracing_shadows/shadow.rmiss
rename to data/shaders/hlsl/nv_ray_tracing_shadows/shadow.rmiss
diff --git a/data/hlsl/occlusionquery/mesh.frag b/data/shaders/hlsl/occlusionquery/mesh.frag
similarity index 100%
rename from data/hlsl/occlusionquery/mesh.frag
rename to data/shaders/hlsl/occlusionquery/mesh.frag
diff --git a/data/hlsl/occlusionquery/mesh.vert b/data/shaders/hlsl/occlusionquery/mesh.vert
similarity index 100%
rename from data/hlsl/occlusionquery/mesh.vert
rename to data/shaders/hlsl/occlusionquery/mesh.vert
diff --git a/data/hlsl/occlusionquery/occluder.frag b/data/shaders/hlsl/occlusionquery/occluder.frag
similarity index 100%
rename from data/hlsl/occlusionquery/occluder.frag
rename to data/shaders/hlsl/occlusionquery/occluder.frag
diff --git a/data/hlsl/occlusionquery/occluder.vert b/data/shaders/hlsl/occlusionquery/occluder.vert
similarity index 100%
rename from data/hlsl/occlusionquery/occluder.vert
rename to data/shaders/hlsl/occlusionquery/occluder.vert
diff --git a/data/hlsl/occlusionquery/simple.frag b/data/shaders/hlsl/occlusionquery/simple.frag
similarity index 100%
rename from data/hlsl/occlusionquery/simple.frag
rename to data/shaders/hlsl/occlusionquery/simple.frag
diff --git a/data/hlsl/occlusionquery/simple.vert b/data/shaders/hlsl/occlusionquery/simple.vert
similarity index 100%
rename from data/hlsl/occlusionquery/simple.vert
rename to data/shaders/hlsl/occlusionquery/simple.vert
diff --git a/data/hlsl/offscreen/mirror.frag b/data/shaders/hlsl/offscreen/mirror.frag
similarity index 100%
rename from data/hlsl/offscreen/mirror.frag
rename to data/shaders/hlsl/offscreen/mirror.frag
diff --git a/data/hlsl/offscreen/mirror.vert b/data/shaders/hlsl/offscreen/mirror.vert
similarity index 100%
rename from data/hlsl/offscreen/mirror.vert
rename to data/shaders/hlsl/offscreen/mirror.vert
diff --git a/data/hlsl/offscreen/phong.frag b/data/shaders/hlsl/offscreen/phong.frag
similarity index 100%
rename from data/hlsl/offscreen/phong.frag
rename to data/shaders/hlsl/offscreen/phong.frag
diff --git a/data/hlsl/offscreen/phong.vert b/data/shaders/hlsl/offscreen/phong.vert
similarity index 100%
rename from data/hlsl/offscreen/phong.vert
rename to data/shaders/hlsl/offscreen/phong.vert
diff --git a/data/hlsl/offscreen/quad.frag b/data/shaders/hlsl/offscreen/quad.frag
similarity index 100%
rename from data/hlsl/offscreen/quad.frag
rename to data/shaders/hlsl/offscreen/quad.frag
diff --git a/data/hlsl/offscreen/quad.vert b/data/shaders/hlsl/offscreen/quad.vert
similarity index 100%
rename from data/hlsl/offscreen/quad.vert
rename to data/shaders/hlsl/offscreen/quad.vert
diff --git a/data/hlsl/parallaxmapping/parallax.frag b/data/shaders/hlsl/parallaxmapping/parallax.frag
similarity index 100%
rename from data/hlsl/parallaxmapping/parallax.frag
rename to data/shaders/hlsl/parallaxmapping/parallax.frag
diff --git a/data/hlsl/parallaxmapping/parallax.vert b/data/shaders/hlsl/parallaxmapping/parallax.vert
similarity index 100%
rename from data/hlsl/parallaxmapping/parallax.vert
rename to data/shaders/hlsl/parallaxmapping/parallax.vert
diff --git a/data/hlsl/particlefire/normalmap.frag b/data/shaders/hlsl/particlefire/normalmap.frag
similarity index 100%
rename from data/hlsl/particlefire/normalmap.frag
rename to data/shaders/hlsl/particlefire/normalmap.frag
diff --git a/data/hlsl/particlefire/normalmap.vert b/data/shaders/hlsl/particlefire/normalmap.vert
similarity index 100%
rename from data/hlsl/particlefire/normalmap.vert
rename to data/shaders/hlsl/particlefire/normalmap.vert
diff --git a/data/hlsl/particlefire/particle.frag b/data/shaders/hlsl/particlefire/particle.frag
similarity index 100%
rename from data/hlsl/particlefire/particle.frag
rename to data/shaders/hlsl/particlefire/particle.frag
diff --git a/data/hlsl/particlefire/particle.vert b/data/shaders/hlsl/particlefire/particle.vert
similarity index 100%
rename from data/hlsl/particlefire/particle.vert
rename to data/shaders/hlsl/particlefire/particle.vert
diff --git a/data/hlsl/pbrbasic/pbr.frag b/data/shaders/hlsl/pbrbasic/pbr.frag
similarity index 100%
rename from data/hlsl/pbrbasic/pbr.frag
rename to data/shaders/hlsl/pbrbasic/pbr.frag
diff --git a/data/hlsl/pbrbasic/pbr.vert b/data/shaders/hlsl/pbrbasic/pbr.vert
similarity index 100%
rename from data/hlsl/pbrbasic/pbr.vert
rename to data/shaders/hlsl/pbrbasic/pbr.vert
diff --git a/data/hlsl/pbribl/filtercube.vert b/data/shaders/hlsl/pbribl/filtercube.vert
similarity index 100%
rename from data/hlsl/pbribl/filtercube.vert
rename to data/shaders/hlsl/pbribl/filtercube.vert
diff --git a/data/hlsl/pbribl/genbrdflut.frag b/data/shaders/hlsl/pbribl/genbrdflut.frag
similarity index 100%
rename from data/hlsl/pbribl/genbrdflut.frag
rename to data/shaders/hlsl/pbribl/genbrdflut.frag
diff --git a/data/hlsl/pbribl/genbrdflut.vert b/data/shaders/hlsl/pbribl/genbrdflut.vert
similarity index 100%
rename from data/hlsl/pbribl/genbrdflut.vert
rename to data/shaders/hlsl/pbribl/genbrdflut.vert
diff --git a/data/hlsl/pbribl/irradiancecube.frag b/data/shaders/hlsl/pbribl/irradiancecube.frag
similarity index 100%
rename from data/hlsl/pbribl/irradiancecube.frag
rename to data/shaders/hlsl/pbribl/irradiancecube.frag
diff --git a/data/hlsl/pbribl/pbribl.frag b/data/shaders/hlsl/pbribl/pbribl.frag
similarity index 100%
rename from data/hlsl/pbribl/pbribl.frag
rename to data/shaders/hlsl/pbribl/pbribl.frag
diff --git a/data/hlsl/pbribl/pbribl.vert b/data/shaders/hlsl/pbribl/pbribl.vert
similarity index 100%
rename from data/hlsl/pbribl/pbribl.vert
rename to data/shaders/hlsl/pbribl/pbribl.vert
diff --git a/data/hlsl/pbribl/prefilterenvmap.frag b/data/shaders/hlsl/pbribl/prefilterenvmap.frag
similarity index 100%
rename from data/hlsl/pbribl/prefilterenvmap.frag
rename to data/shaders/hlsl/pbribl/prefilterenvmap.frag
diff --git a/data/hlsl/pbribl/skybox.frag b/data/shaders/hlsl/pbribl/skybox.frag
similarity index 100%
rename from data/hlsl/pbribl/skybox.frag
rename to data/shaders/hlsl/pbribl/skybox.frag
diff --git a/data/hlsl/pbribl/skybox.vert b/data/shaders/hlsl/pbribl/skybox.vert
similarity index 100%
rename from data/hlsl/pbribl/skybox.vert
rename to data/shaders/hlsl/pbribl/skybox.vert
diff --git a/data/hlsl/pbrtexture/filtercube.vert b/data/shaders/hlsl/pbrtexture/filtercube.vert
similarity index 100%
rename from data/hlsl/pbrtexture/filtercube.vert
rename to data/shaders/hlsl/pbrtexture/filtercube.vert
diff --git a/data/hlsl/pbrtexture/genbrdflut.frag b/data/shaders/hlsl/pbrtexture/genbrdflut.frag
similarity index 100%
rename from data/hlsl/pbrtexture/genbrdflut.frag
rename to data/shaders/hlsl/pbrtexture/genbrdflut.frag
diff --git a/data/hlsl/pbrtexture/genbrdflut.vert b/data/shaders/hlsl/pbrtexture/genbrdflut.vert
similarity index 100%
rename from data/hlsl/pbrtexture/genbrdflut.vert
rename to data/shaders/hlsl/pbrtexture/genbrdflut.vert
diff --git a/data/hlsl/pbrtexture/irradiancecube.frag b/data/shaders/hlsl/pbrtexture/irradiancecube.frag
similarity index 100%
rename from data/hlsl/pbrtexture/irradiancecube.frag
rename to data/shaders/hlsl/pbrtexture/irradiancecube.frag
diff --git a/data/hlsl/pbrtexture/pbrtexture.frag b/data/shaders/hlsl/pbrtexture/pbrtexture.frag
similarity index 100%
rename from data/hlsl/pbrtexture/pbrtexture.frag
rename to data/shaders/hlsl/pbrtexture/pbrtexture.frag
diff --git a/data/hlsl/pbrtexture/pbrtexture.vert b/data/shaders/hlsl/pbrtexture/pbrtexture.vert
similarity index 100%
rename from data/hlsl/pbrtexture/pbrtexture.vert
rename to data/shaders/hlsl/pbrtexture/pbrtexture.vert
diff --git a/data/hlsl/pbrtexture/prefilterenvmap.frag b/data/shaders/hlsl/pbrtexture/prefilterenvmap.frag
similarity index 100%
rename from data/hlsl/pbrtexture/prefilterenvmap.frag
rename to data/shaders/hlsl/pbrtexture/prefilterenvmap.frag
diff --git a/data/hlsl/pbrtexture/skybox.frag b/data/shaders/hlsl/pbrtexture/skybox.frag
similarity index 100%
rename from data/hlsl/pbrtexture/skybox.frag
rename to data/shaders/hlsl/pbrtexture/skybox.frag
diff --git a/data/hlsl/pbrtexture/skybox.vert b/data/shaders/hlsl/pbrtexture/skybox.vert
similarity index 100%
rename from data/hlsl/pbrtexture/skybox.vert
rename to data/shaders/hlsl/pbrtexture/skybox.vert
diff --git a/data/hlsl/pipelines/phong.frag b/data/shaders/hlsl/pipelines/phong.frag
similarity index 100%
rename from data/hlsl/pipelines/phong.frag
rename to data/shaders/hlsl/pipelines/phong.frag
diff --git a/data/hlsl/pipelines/phong.vert b/data/shaders/hlsl/pipelines/phong.vert
similarity index 100%
rename from data/hlsl/pipelines/phong.vert
rename to data/shaders/hlsl/pipelines/phong.vert
diff --git a/data/hlsl/pipelines/toon.frag b/data/shaders/hlsl/pipelines/toon.frag
similarity index 100%
rename from data/hlsl/pipelines/toon.frag
rename to data/shaders/hlsl/pipelines/toon.frag
diff --git a/data/hlsl/pipelines/toon.vert b/data/shaders/hlsl/pipelines/toon.vert
similarity index 100%
rename from data/hlsl/pipelines/toon.vert
rename to data/shaders/hlsl/pipelines/toon.vert
diff --git a/data/hlsl/pipelines/wireframe.frag b/data/shaders/hlsl/pipelines/wireframe.frag
similarity index 100%
rename from data/hlsl/pipelines/wireframe.frag
rename to data/shaders/hlsl/pipelines/wireframe.frag
diff --git a/data/hlsl/pipelines/wireframe.vert b/data/shaders/hlsl/pipelines/wireframe.vert
similarity index 100%
rename from data/hlsl/pipelines/wireframe.vert
rename to data/shaders/hlsl/pipelines/wireframe.vert
diff --git a/data/hlsl/pipelinestatistics/scene.frag b/data/shaders/hlsl/pipelinestatistics/scene.frag
similarity index 100%
rename from data/hlsl/pipelinestatistics/scene.frag
rename to data/shaders/hlsl/pipelinestatistics/scene.frag
diff --git a/data/hlsl/pipelinestatistics/scene.tesc b/data/shaders/hlsl/pipelinestatistics/scene.tesc
similarity index 100%
rename from data/hlsl/pipelinestatistics/scene.tesc
rename to data/shaders/hlsl/pipelinestatistics/scene.tesc
diff --git a/data/hlsl/pipelinestatistics/scene.tese b/data/shaders/hlsl/pipelinestatistics/scene.tese
similarity index 100%
rename from data/hlsl/pipelinestatistics/scene.tese
rename to data/shaders/hlsl/pipelinestatistics/scene.tese
diff --git a/data/hlsl/pipelinestatistics/scene.vert b/data/shaders/hlsl/pipelinestatistics/scene.vert
similarity index 100%
rename from data/hlsl/pipelinestatistics/scene.vert
rename to data/shaders/hlsl/pipelinestatistics/scene.vert
diff --git a/data/hlsl/pushconstants/lights.frag b/data/shaders/hlsl/pushconstants/lights.frag
similarity index 100%
rename from data/hlsl/pushconstants/lights.frag
rename to data/shaders/hlsl/pushconstants/lights.frag
diff --git a/data/hlsl/pushconstants/lights.vert b/data/shaders/hlsl/pushconstants/lights.vert
similarity index 100%
rename from data/hlsl/pushconstants/lights.vert
rename to data/shaders/hlsl/pushconstants/lights.vert
diff --git a/data/hlsl/pushdescriptors/cube.frag b/data/shaders/hlsl/pushdescriptors/cube.frag
similarity index 100%
rename from data/hlsl/pushdescriptors/cube.frag
rename to data/shaders/hlsl/pushdescriptors/cube.frag
diff --git a/data/hlsl/pushdescriptors/cube.vert b/data/shaders/hlsl/pushdescriptors/cube.vert
similarity index 100%
rename from data/hlsl/pushdescriptors/cube.vert
rename to data/shaders/hlsl/pushdescriptors/cube.vert
diff --git a/data/hlsl/radialblur/colorpass.frag b/data/shaders/hlsl/radialblur/colorpass.frag
similarity index 100%
rename from data/hlsl/radialblur/colorpass.frag
rename to data/shaders/hlsl/radialblur/colorpass.frag
diff --git a/data/hlsl/radialblur/colorpass.vert b/data/shaders/hlsl/radialblur/colorpass.vert
similarity index 100%
rename from data/hlsl/radialblur/colorpass.vert
rename to data/shaders/hlsl/radialblur/colorpass.vert
diff --git a/data/hlsl/radialblur/phongpass.frag b/data/shaders/hlsl/radialblur/phongpass.frag
similarity index 100%
rename from data/hlsl/radialblur/phongpass.frag
rename to data/shaders/hlsl/radialblur/phongpass.frag
diff --git a/data/hlsl/radialblur/phongpass.vert b/data/shaders/hlsl/radialblur/phongpass.vert
similarity index 100%
rename from data/hlsl/radialblur/phongpass.vert
rename to data/shaders/hlsl/radialblur/phongpass.vert
diff --git a/data/hlsl/radialblur/radialblur.frag b/data/shaders/hlsl/radialblur/radialblur.frag
similarity index 100%
rename from data/hlsl/radialblur/radialblur.frag
rename to data/shaders/hlsl/radialblur/radialblur.frag
diff --git a/data/hlsl/radialblur/radialblur.vert b/data/shaders/hlsl/radialblur/radialblur.vert
similarity index 100%
rename from data/hlsl/radialblur/radialblur.vert
rename to data/shaders/hlsl/radialblur/radialblur.vert
diff --git a/data/hlsl/renderheadless/triangle.frag b/data/shaders/hlsl/renderheadless/triangle.frag
similarity index 100%
rename from data/hlsl/renderheadless/triangle.frag
rename to data/shaders/hlsl/renderheadless/triangle.frag
diff --git a/data/hlsl/renderheadless/triangle.vert b/data/shaders/hlsl/renderheadless/triangle.vert
similarity index 100%
rename from data/hlsl/renderheadless/triangle.vert
rename to data/shaders/hlsl/renderheadless/triangle.vert
diff --git a/data/hlsl/scenerendering/scene.frag b/data/shaders/hlsl/scenerendering/scene.frag
similarity index 100%
rename from data/hlsl/scenerendering/scene.frag
rename to data/shaders/hlsl/scenerendering/scene.frag
diff --git a/data/hlsl/scenerendering/scene.vert b/data/shaders/hlsl/scenerendering/scene.vert
similarity index 100%
rename from data/hlsl/scenerendering/scene.vert
rename to data/shaders/hlsl/scenerendering/scene.vert
diff --git a/data/hlsl/screenshot/mesh.frag b/data/shaders/hlsl/screenshot/mesh.frag
similarity index 100%
rename from data/hlsl/screenshot/mesh.frag
rename to data/shaders/hlsl/screenshot/mesh.frag
diff --git a/data/hlsl/screenshot/mesh.vert b/data/shaders/hlsl/screenshot/mesh.vert
similarity index 100%
rename from data/hlsl/screenshot/mesh.vert
rename to data/shaders/hlsl/screenshot/mesh.vert
diff --git a/data/hlsl/shadowmapomni/cubemapdisplay.frag b/data/shaders/hlsl/shadowmapomni/cubemapdisplay.frag
similarity index 100%
rename from data/hlsl/shadowmapomni/cubemapdisplay.frag
rename to data/shaders/hlsl/shadowmapomni/cubemapdisplay.frag
diff --git a/data/hlsl/shadowmapomni/cubemapdisplay.vert b/data/shaders/hlsl/shadowmapomni/cubemapdisplay.vert
similarity index 100%
rename from data/hlsl/shadowmapomni/cubemapdisplay.vert
rename to data/shaders/hlsl/shadowmapomni/cubemapdisplay.vert
diff --git a/data/hlsl/shadowmapomni/offscreen.frag b/data/shaders/hlsl/shadowmapomni/offscreen.frag
similarity index 100%
rename from data/hlsl/shadowmapomni/offscreen.frag
rename to data/shaders/hlsl/shadowmapomni/offscreen.frag
diff --git a/data/hlsl/shadowmapomni/offscreen.vert b/data/shaders/hlsl/shadowmapomni/offscreen.vert
similarity index 100%
rename from data/hlsl/shadowmapomni/offscreen.vert
rename to data/shaders/hlsl/shadowmapomni/offscreen.vert
diff --git a/data/hlsl/shadowmapomni/scene.frag b/data/shaders/hlsl/shadowmapomni/scene.frag
similarity index 100%
rename from data/hlsl/shadowmapomni/scene.frag
rename to data/shaders/hlsl/shadowmapomni/scene.frag
diff --git a/data/hlsl/shadowmapomni/scene.vert b/data/shaders/hlsl/shadowmapomni/scene.vert
similarity index 100%
rename from data/hlsl/shadowmapomni/scene.vert
rename to data/shaders/hlsl/shadowmapomni/scene.vert
diff --git a/data/hlsl/shadowmapping/offscreen.frag b/data/shaders/hlsl/shadowmapping/offscreen.frag
similarity index 100%
rename from data/hlsl/shadowmapping/offscreen.frag
rename to data/shaders/hlsl/shadowmapping/offscreen.frag
diff --git a/data/hlsl/shadowmapping/offscreen.vert b/data/shaders/hlsl/shadowmapping/offscreen.vert
similarity index 100%
rename from data/hlsl/shadowmapping/offscreen.vert
rename to data/shaders/hlsl/shadowmapping/offscreen.vert
diff --git a/data/hlsl/shadowmapping/quad.frag b/data/shaders/hlsl/shadowmapping/quad.frag
similarity index 100%
rename from data/hlsl/shadowmapping/quad.frag
rename to data/shaders/hlsl/shadowmapping/quad.frag
diff --git a/data/hlsl/shadowmapping/quad.vert b/data/shaders/hlsl/shadowmapping/quad.vert
similarity index 100%
rename from data/hlsl/shadowmapping/quad.vert
rename to data/shaders/hlsl/shadowmapping/quad.vert
diff --git a/data/hlsl/shadowmapping/scene.frag b/data/shaders/hlsl/shadowmapping/scene.frag
similarity index 100%
rename from data/hlsl/shadowmapping/scene.frag
rename to data/shaders/hlsl/shadowmapping/scene.frag
diff --git a/data/hlsl/shadowmapping/scene.vert b/data/shaders/hlsl/shadowmapping/scene.vert
similarity index 100%
rename from data/hlsl/shadowmapping/scene.vert
rename to data/shaders/hlsl/shadowmapping/scene.vert
diff --git a/data/hlsl/shadowmappingcascade/debugshadowmap.frag b/data/shaders/hlsl/shadowmappingcascade/debugshadowmap.frag
similarity index 100%
rename from data/hlsl/shadowmappingcascade/debugshadowmap.frag
rename to data/shaders/hlsl/shadowmappingcascade/debugshadowmap.frag
diff --git a/data/hlsl/shadowmappingcascade/debugshadowmap.vert b/data/shaders/hlsl/shadowmappingcascade/debugshadowmap.vert
similarity index 100%
rename from data/hlsl/shadowmappingcascade/debugshadowmap.vert
rename to data/shaders/hlsl/shadowmappingcascade/debugshadowmap.vert
diff --git a/data/hlsl/shadowmappingcascade/depthpass.frag b/data/shaders/hlsl/shadowmappingcascade/depthpass.frag
similarity index 100%
rename from data/hlsl/shadowmappingcascade/depthpass.frag
rename to data/shaders/hlsl/shadowmappingcascade/depthpass.frag
diff --git a/data/hlsl/shadowmappingcascade/depthpass.vert b/data/shaders/hlsl/shadowmappingcascade/depthpass.vert
similarity index 100%
rename from data/hlsl/shadowmappingcascade/depthpass.vert
rename to data/shaders/hlsl/shadowmappingcascade/depthpass.vert
diff --git a/data/hlsl/shadowmappingcascade/scene.frag b/data/shaders/hlsl/shadowmappingcascade/scene.frag
similarity index 100%
rename from data/hlsl/shadowmappingcascade/scene.frag
rename to data/shaders/hlsl/shadowmappingcascade/scene.frag
diff --git a/data/hlsl/shadowmappingcascade/scene.vert b/data/shaders/hlsl/shadowmappingcascade/scene.vert
similarity index 100%
rename from data/hlsl/shadowmappingcascade/scene.vert
rename to data/shaders/hlsl/shadowmappingcascade/scene.vert
diff --git a/data/hlsl/skeletalanimation/mesh.frag b/data/shaders/hlsl/skeletalanimation/mesh.frag
similarity index 100%
rename from data/hlsl/skeletalanimation/mesh.frag
rename to data/shaders/hlsl/skeletalanimation/mesh.frag
diff --git a/data/hlsl/skeletalanimation/mesh.vert b/data/shaders/hlsl/skeletalanimation/mesh.vert
similarity index 100%
rename from data/hlsl/skeletalanimation/mesh.vert
rename to data/shaders/hlsl/skeletalanimation/mesh.vert
diff --git a/data/hlsl/skeletalanimation/texture.frag b/data/shaders/hlsl/skeletalanimation/texture.frag
similarity index 100%
rename from data/hlsl/skeletalanimation/texture.frag
rename to data/shaders/hlsl/skeletalanimation/texture.frag
diff --git a/data/hlsl/skeletalanimation/texture.vert b/data/shaders/hlsl/skeletalanimation/texture.vert
similarity index 100%
rename from data/hlsl/skeletalanimation/texture.vert
rename to data/shaders/hlsl/skeletalanimation/texture.vert
diff --git a/data/hlsl/specializationconstants/uber.frag b/data/shaders/hlsl/specializationconstants/uber.frag
similarity index 100%
rename from data/hlsl/specializationconstants/uber.frag
rename to data/shaders/hlsl/specializationconstants/uber.frag
diff --git a/data/hlsl/specializationconstants/uber.vert b/data/shaders/hlsl/specializationconstants/uber.vert
similarity index 100%
rename from data/hlsl/specializationconstants/uber.vert
rename to data/shaders/hlsl/specializationconstants/uber.vert
diff --git a/data/hlsl/sphericalenvmapping/sem.frag b/data/shaders/hlsl/sphericalenvmapping/sem.frag
similarity index 100%
rename from data/hlsl/sphericalenvmapping/sem.frag
rename to data/shaders/hlsl/sphericalenvmapping/sem.frag
diff --git a/data/hlsl/sphericalenvmapping/sem.vert b/data/shaders/hlsl/sphericalenvmapping/sem.vert
similarity index 100%
rename from data/hlsl/sphericalenvmapping/sem.vert
rename to data/shaders/hlsl/sphericalenvmapping/sem.vert
diff --git a/data/hlsl/ssao/blur.frag b/data/shaders/hlsl/ssao/blur.frag
similarity index 100%
rename from data/hlsl/ssao/blur.frag
rename to data/shaders/hlsl/ssao/blur.frag
diff --git a/data/hlsl/ssao/composition.frag b/data/shaders/hlsl/ssao/composition.frag
similarity index 100%
rename from data/hlsl/ssao/composition.frag
rename to data/shaders/hlsl/ssao/composition.frag
diff --git a/data/hlsl/ssao/fullscreen.vert b/data/shaders/hlsl/ssao/fullscreen.vert
similarity index 100%
rename from data/hlsl/ssao/fullscreen.vert
rename to data/shaders/hlsl/ssao/fullscreen.vert
diff --git a/data/hlsl/ssao/gbuffer.frag b/data/shaders/hlsl/ssao/gbuffer.frag
similarity index 100%
rename from data/hlsl/ssao/gbuffer.frag
rename to data/shaders/hlsl/ssao/gbuffer.frag
diff --git a/data/hlsl/ssao/gbuffer.vert b/data/shaders/hlsl/ssao/gbuffer.vert
similarity index 100%
rename from data/hlsl/ssao/gbuffer.vert
rename to data/shaders/hlsl/ssao/gbuffer.vert
diff --git a/data/hlsl/ssao/ssao.frag b/data/shaders/hlsl/ssao/ssao.frag
similarity index 100%
rename from data/hlsl/ssao/ssao.frag
rename to data/shaders/hlsl/ssao/ssao.frag
diff --git a/data/hlsl/stencilbuffer/outline.frag b/data/shaders/hlsl/stencilbuffer/outline.frag
similarity index 100%
rename from data/hlsl/stencilbuffer/outline.frag
rename to data/shaders/hlsl/stencilbuffer/outline.frag
diff --git a/data/hlsl/stencilbuffer/outline.vert b/data/shaders/hlsl/stencilbuffer/outline.vert
similarity index 100%
rename from data/hlsl/stencilbuffer/outline.vert
rename to data/shaders/hlsl/stencilbuffer/outline.vert
diff --git a/data/hlsl/stencilbuffer/toon.frag b/data/shaders/hlsl/stencilbuffer/toon.frag
similarity index 100%
rename from data/hlsl/stencilbuffer/toon.frag
rename to data/shaders/hlsl/stencilbuffer/toon.frag
diff --git a/data/hlsl/stencilbuffer/toon.vert b/data/shaders/hlsl/stencilbuffer/toon.vert
similarity index 100%
rename from data/hlsl/stencilbuffer/toon.vert
rename to data/shaders/hlsl/stencilbuffer/toon.vert
diff --git a/data/hlsl/subpasses/composition.frag b/data/shaders/hlsl/subpasses/composition.frag
similarity index 100%
rename from data/hlsl/subpasses/composition.frag
rename to data/shaders/hlsl/subpasses/composition.frag
diff --git a/data/hlsl/subpasses/composition.vert b/data/shaders/hlsl/subpasses/composition.vert
similarity index 100%
rename from data/hlsl/subpasses/composition.vert
rename to data/shaders/hlsl/subpasses/composition.vert
diff --git a/data/hlsl/subpasses/gbuffer.frag b/data/shaders/hlsl/subpasses/gbuffer.frag
similarity index 100%
rename from data/hlsl/subpasses/gbuffer.frag
rename to data/shaders/hlsl/subpasses/gbuffer.frag
diff --git a/data/hlsl/subpasses/gbuffer.vert b/data/shaders/hlsl/subpasses/gbuffer.vert
similarity index 100%
rename from data/hlsl/subpasses/gbuffer.vert
rename to data/shaders/hlsl/subpasses/gbuffer.vert
diff --git a/data/hlsl/subpasses/transparent.frag b/data/shaders/hlsl/subpasses/transparent.frag
similarity index 100%
rename from data/hlsl/subpasses/transparent.frag
rename to data/shaders/hlsl/subpasses/transparent.frag
diff --git a/data/hlsl/subpasses/transparent.vert b/data/shaders/hlsl/subpasses/transparent.vert
similarity index 100%
rename from data/hlsl/subpasses/transparent.vert
rename to data/shaders/hlsl/subpasses/transparent.vert
diff --git a/data/hlsl/terraintessellation/skysphere.frag b/data/shaders/hlsl/terraintessellation/skysphere.frag
similarity index 100%
rename from data/hlsl/terraintessellation/skysphere.frag
rename to data/shaders/hlsl/terraintessellation/skysphere.frag
diff --git a/data/hlsl/terraintessellation/skysphere.vert b/data/shaders/hlsl/terraintessellation/skysphere.vert
similarity index 100%
rename from data/hlsl/terraintessellation/skysphere.vert
rename to data/shaders/hlsl/terraintessellation/skysphere.vert
diff --git a/data/hlsl/terraintessellation/terrain.frag b/data/shaders/hlsl/terraintessellation/terrain.frag
similarity index 100%
rename from data/hlsl/terraintessellation/terrain.frag
rename to data/shaders/hlsl/terraintessellation/terrain.frag
diff --git a/data/hlsl/terraintessellation/terrain.tesc b/data/shaders/hlsl/terraintessellation/terrain.tesc
similarity index 100%
rename from data/hlsl/terraintessellation/terrain.tesc
rename to data/shaders/hlsl/terraintessellation/terrain.tesc
diff --git a/data/hlsl/terraintessellation/terrain.tese b/data/shaders/hlsl/terraintessellation/terrain.tese
similarity index 100%
rename from data/hlsl/terraintessellation/terrain.tese
rename to data/shaders/hlsl/terraintessellation/terrain.tese
diff --git a/data/hlsl/terraintessellation/terrain.vert b/data/shaders/hlsl/terraintessellation/terrain.vert
similarity index 100%
rename from data/hlsl/terraintessellation/terrain.vert
rename to data/shaders/hlsl/terraintessellation/terrain.vert
diff --git a/data/hlsl/tessellation/base.frag b/data/shaders/hlsl/tessellation/base.frag
similarity index 100%
rename from data/hlsl/tessellation/base.frag
rename to data/shaders/hlsl/tessellation/base.frag
diff --git a/data/hlsl/tessellation/base.vert b/data/shaders/hlsl/tessellation/base.vert
similarity index 100%
rename from data/hlsl/tessellation/base.vert
rename to data/shaders/hlsl/tessellation/base.vert
diff --git a/data/hlsl/tessellation/passthrough.tesc b/data/shaders/hlsl/tessellation/passthrough.tesc
similarity index 100%
rename from data/hlsl/tessellation/passthrough.tesc
rename to data/shaders/hlsl/tessellation/passthrough.tesc
diff --git a/data/hlsl/tessellation/passthrough.tese b/data/shaders/hlsl/tessellation/passthrough.tese
similarity index 100%
rename from data/hlsl/tessellation/passthrough.tese
rename to data/shaders/hlsl/tessellation/passthrough.tese
diff --git a/data/hlsl/tessellation/pntriangles.tesc b/data/shaders/hlsl/tessellation/pntriangles.tesc
similarity index 100%
rename from data/hlsl/tessellation/pntriangles.tesc
rename to data/shaders/hlsl/tessellation/pntriangles.tesc
diff --git a/data/hlsl/tessellation/pntriangles.tese b/data/shaders/hlsl/tessellation/pntriangles.tese
similarity index 100%
rename from data/hlsl/tessellation/pntriangles.tese
rename to data/shaders/hlsl/tessellation/pntriangles.tese
diff --git a/data/hlsl/textoverlay/mesh.frag b/data/shaders/hlsl/textoverlay/mesh.frag
similarity index 100%
rename from data/hlsl/textoverlay/mesh.frag
rename to data/shaders/hlsl/textoverlay/mesh.frag
diff --git a/data/hlsl/textoverlay/mesh.vert b/data/shaders/hlsl/textoverlay/mesh.vert
similarity index 100%
rename from data/hlsl/textoverlay/mesh.vert
rename to data/shaders/hlsl/textoverlay/mesh.vert
diff --git a/data/hlsl/textoverlay/text.frag b/data/shaders/hlsl/textoverlay/text.frag
similarity index 100%
rename from data/hlsl/textoverlay/text.frag
rename to data/shaders/hlsl/textoverlay/text.frag
diff --git a/data/hlsl/textoverlay/text.vert b/data/shaders/hlsl/textoverlay/text.vert
similarity index 100%
rename from data/hlsl/textoverlay/text.vert
rename to data/shaders/hlsl/textoverlay/text.vert
diff --git a/data/hlsl/texture/texture.frag b/data/shaders/hlsl/texture/texture.frag
similarity index 100%
rename from data/hlsl/texture/texture.frag
rename to data/shaders/hlsl/texture/texture.frag
diff --git a/data/hlsl/texture/texture.vert b/data/shaders/hlsl/texture/texture.vert
similarity index 100%
rename from data/hlsl/texture/texture.vert
rename to data/shaders/hlsl/texture/texture.vert
diff --git a/data/hlsl/texture3d/texture3d.frag b/data/shaders/hlsl/texture3d/texture3d.frag
similarity index 100%
rename from data/hlsl/texture3d/texture3d.frag
rename to data/shaders/hlsl/texture3d/texture3d.frag
diff --git a/data/hlsl/texture3d/texture3d.vert b/data/shaders/hlsl/texture3d/texture3d.vert
similarity index 100%
rename from data/hlsl/texture3d/texture3d.vert
rename to data/shaders/hlsl/texture3d/texture3d.vert
diff --git a/data/hlsl/texturearray/instancing.frag b/data/shaders/hlsl/texturearray/instancing.frag
similarity index 100%
rename from data/hlsl/texturearray/instancing.frag
rename to data/shaders/hlsl/texturearray/instancing.frag
diff --git a/data/hlsl/texturearray/instancing.vert b/data/shaders/hlsl/texturearray/instancing.vert
similarity index 100%
rename from data/hlsl/texturearray/instancing.vert
rename to data/shaders/hlsl/texturearray/instancing.vert
diff --git a/data/hlsl/texturecubemap/reflect.frag b/data/shaders/hlsl/texturecubemap/reflect.frag
similarity index 100%
rename from data/hlsl/texturecubemap/reflect.frag
rename to data/shaders/hlsl/texturecubemap/reflect.frag
diff --git a/data/hlsl/texturecubemap/reflect.vert b/data/shaders/hlsl/texturecubemap/reflect.vert
similarity index 100%
rename from data/hlsl/texturecubemap/reflect.vert
rename to data/shaders/hlsl/texturecubemap/reflect.vert
diff --git a/data/hlsl/texturecubemap/skybox.frag b/data/shaders/hlsl/texturecubemap/skybox.frag
similarity index 100%
rename from data/hlsl/texturecubemap/skybox.frag
rename to data/shaders/hlsl/texturecubemap/skybox.frag
diff --git a/data/hlsl/texturecubemap/skybox.vert b/data/shaders/hlsl/texturecubemap/skybox.vert
similarity index 100%
rename from data/hlsl/texturecubemap/skybox.vert
rename to data/shaders/hlsl/texturecubemap/skybox.vert
diff --git a/data/hlsl/texturemipmapgen/texture.frag b/data/shaders/hlsl/texturemipmapgen/texture.frag
similarity index 100%
rename from data/hlsl/texturemipmapgen/texture.frag
rename to data/shaders/hlsl/texturemipmapgen/texture.frag
diff --git a/data/hlsl/texturemipmapgen/texture.vert b/data/shaders/hlsl/texturemipmapgen/texture.vert
similarity index 100%
rename from data/hlsl/texturemipmapgen/texture.vert
rename to data/shaders/hlsl/texturemipmapgen/texture.vert
diff --git a/data/hlsl/texturesparseresidency/sparseresidency.frag b/data/shaders/hlsl/texturesparseresidency/sparseresidency.frag
similarity index 100%
rename from data/hlsl/texturesparseresidency/sparseresidency.frag
rename to data/shaders/hlsl/texturesparseresidency/sparseresidency.frag
diff --git a/data/hlsl/texturesparseresidency/sparseresidency.vert b/data/shaders/hlsl/texturesparseresidency/sparseresidency.vert
similarity index 100%
rename from data/hlsl/texturesparseresidency/sparseresidency.vert
rename to data/shaders/hlsl/texturesparseresidency/sparseresidency.vert
diff --git a/data/hlsl/triangle/triangle.frag b/data/shaders/hlsl/triangle/triangle.frag
similarity index 100%
rename from data/hlsl/triangle/triangle.frag
rename to data/shaders/hlsl/triangle/triangle.frag
diff --git a/data/hlsl/triangle/triangle.vert b/data/shaders/hlsl/triangle/triangle.vert
similarity index 100%
rename from data/hlsl/triangle/triangle.vert
rename to data/shaders/hlsl/triangle/triangle.vert
diff --git a/data/hlsl/viewportarray/multiview.geom b/data/shaders/hlsl/viewportarray/multiview.geom
similarity index 100%
rename from data/hlsl/viewportarray/multiview.geom
rename to data/shaders/hlsl/viewportarray/multiview.geom
diff --git a/data/hlsl/viewportarray/scene.frag b/data/shaders/hlsl/viewportarray/scene.frag
similarity index 100%
rename from data/hlsl/viewportarray/scene.frag
rename to data/shaders/hlsl/viewportarray/scene.frag
diff --git a/data/hlsl/viewportarray/scene.vert b/data/shaders/hlsl/viewportarray/scene.vert
similarity index 100%
rename from data/hlsl/viewportarray/scene.vert
rename to data/shaders/hlsl/viewportarray/scene.vert
diff --git a/data/hlsl/vulkanscene/logo.frag b/data/shaders/hlsl/vulkanscene/logo.frag
similarity index 100%
rename from data/hlsl/vulkanscene/logo.frag
rename to data/shaders/hlsl/vulkanscene/logo.frag
diff --git a/data/hlsl/vulkanscene/logo.vert b/data/shaders/hlsl/vulkanscene/logo.vert
similarity index 100%
rename from data/hlsl/vulkanscene/logo.vert
rename to data/shaders/hlsl/vulkanscene/logo.vert
diff --git a/data/hlsl/vulkanscene/mesh.frag b/data/shaders/hlsl/vulkanscene/mesh.frag
similarity index 100%
rename from data/hlsl/vulkanscene/mesh.frag
rename to data/shaders/hlsl/vulkanscene/mesh.frag
diff --git a/data/hlsl/vulkanscene/mesh.vert b/data/shaders/hlsl/vulkanscene/mesh.vert
similarity index 100%
rename from data/hlsl/vulkanscene/mesh.vert
rename to data/shaders/hlsl/vulkanscene/mesh.vert
diff --git a/data/hlsl/vulkanscene/skybox.frag b/data/shaders/hlsl/vulkanscene/skybox.frag
similarity index 100%
rename from data/hlsl/vulkanscene/skybox.frag
rename to data/shaders/hlsl/vulkanscene/skybox.frag
diff --git a/data/hlsl/vulkanscene/skybox.vert b/data/shaders/hlsl/vulkanscene/skybox.vert
similarity index 100%
rename from data/hlsl/vulkanscene/skybox.vert
rename to data/shaders/hlsl/vulkanscene/skybox.vert
diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt
index a53c834c..b8a6faff 100644
--- a/examples/CMakeLists.txt
+++ b/examples/CMakeLists.txt
@@ -18,7 +18,7 @@ function(buildExample EXAMPLE_NAME)
SET(SOURCE ${SOURCE} ${CMAKE_BINARY_DIR}/xdg-shell-client-protocol.h ${CMAKE_BINARY_DIR}/xdg-shell-protocol.c)
ENDIF()
# Add shaders
- set(SHADER_DIR "../data/shaders/${EXAMPLE_NAME}")
+ set(SHADER_DIR "../data/shaders/glsl/${EXAMPLE_NAME}")
file(GLOB SHADERS "${SHADER_DIR}/*.vert" "${SHADER_DIR}/*.frag" "${SHADER_DIR}/*.comp" "${SHADER_DIR}/*.geom" "${SHADER_DIR}/*.tesc" "${SHADER_DIR}/*.tese" "${SHADER_DIR}/*.mesh" "${SHADER_DIR}/*.task" "${SHADER_DIR}/*.rgen" "${SHADER_DIR}/*.rchit" "${SHADER_DIR}/*.rmiss")
source_group("Shaders" FILES ${SHADERS})
if(WIN32)
diff --git a/examples/bloom/bloom.cpp b/examples/bloom/bloom.cpp
index 16d3ee9e..c0d1c0a1 100644
--- a/examples/bloom/bloom.cpp
+++ b/examples/bloom/bloom.cpp
@@ -85,7 +85,7 @@ public:
struct {
VkPipelineLayout blur;
VkPipelineLayout scene;
- } pipelineLayouts;
+ } pipelineLayouts;
struct {
VkDescriptorSet blurVert;
@@ -130,7 +130,7 @@ public:
~VulkanExample()
{
- // Clean up used Vulkan resources
+ // Clean up used Vulkan resources
// Note : Inherited destructor cleans up resources stored in base class
vkDestroySampler(device, offscreenPass.sampler, nullptr);
@@ -256,13 +256,13 @@ public:
VK_CHECK_RESULT(vkCreateFramebuffer(device, &fbufCreateInfo, nullptr, &frameBuf->framebuffer));
- // Fill a descriptor for later use in a descriptor set
+ // Fill a descriptor for later use in a descriptor set
frameBuf->descriptor.imageLayout = VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL;
frameBuf->descriptor.imageView = frameBuf->color.view;
frameBuf->descriptor.sampler = offscreenPass.sampler;
}
- // Prepare the offscreen framebuffers used for the vertical- and horizontal blur
+ // Prepare the offscreen framebuffers used for the vertical- and horizontal blur
void prepareOffscreen()
{
offscreenPass.width = FB_DIM;
@@ -457,7 +457,7 @@ public:
VkDeviceSize offsets[1] = { 0 };
- // Skybox
+ // Skybox
vkCmdBindDescriptorSets(drawCmdBuffers[i], VK_PIPELINE_BIND_POINT_GRAPHICS, pipelineLayouts.scene, 0, 1, &descriptorSets.skyBox, 0, NULL);
vkCmdBindPipeline(drawCmdBuffers[i], VK_PIPELINE_BIND_POINT_GRAPHICS, pipelines.skyBox);
@@ -532,9 +532,9 @@ public:
VK_CHECK_RESULT(vkCreatePipelineLayout(device, &pipelineLayoutCreateInfo, nullptr, &pipelineLayouts.blur));
// Scene rendering
- setLayoutBindings = {
- vks::initializers::descriptorSetLayoutBinding(VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, VK_SHADER_STAGE_VERTEX_BIT, 0), // Binding 0 : Vertex shader uniform buffer
- vks::initializers::descriptorSetLayoutBinding(VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, VK_SHADER_STAGE_FRAGMENT_BIT, 1), // Binding 1 : Fragment shader image sampler
+ setLayoutBindings = {
+ vks::initializers::descriptorSetLayoutBinding(VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, VK_SHADER_STAGE_VERTEX_BIT, 0), // Binding 0 : Vertex shader uniform buffer
+ vks::initializers::descriptorSetLayoutBinding(VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, VK_SHADER_STAGE_FRAGMENT_BIT, 1), // Binding 1 : Fragment shader image sampler
vks::initializers::descriptorSetLayoutBinding(VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, VK_SHADER_STAGE_FRAGMENT_BIT, 2), // Binding 2 : Framgnet shader image sampler
};
@@ -553,8 +553,8 @@ public:
// Vertical
descriptorSetAllocInfo = vks::initializers::descriptorSetAllocateInfo(descriptorPool, &descriptorSetLayouts.blur, 1);
VK_CHECK_RESULT(vkAllocateDescriptorSets(device, &descriptorSetAllocInfo, &descriptorSets.blurVert));
- writeDescriptorSets = {
- vks::initializers::writeDescriptorSet(descriptorSets.blurVert, VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, 0, &uniformBuffers.blurParams.descriptor), // Binding 0: Fragment shader uniform buffer
+ writeDescriptorSets = {
+ vks::initializers::writeDescriptorSet(descriptorSets.blurVert, VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, 0, &uniformBuffers.blurParams.descriptor), // Binding 0: Fragment shader uniform buffer
vks::initializers::writeDescriptorSet(descriptorSets.blurVert, VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, 1, &offscreenPass.framebuffers[0].descriptor), // Binding 1: Fragment shader texture sampler
};
vkUpdateDescriptorSets(device, writeDescriptorSets.size(), writeDescriptorSets.data(), 0, NULL);
@@ -562,7 +562,7 @@ public:
descriptorSetAllocInfo = vks::initializers::descriptorSetAllocateInfo(descriptorPool, &descriptorSetLayouts.blur, 1);
VK_CHECK_RESULT(vkAllocateDescriptorSets(device, &descriptorSetAllocInfo, &descriptorSets.blurHorz));
writeDescriptorSets = {
- vks::initializers::writeDescriptorSet(descriptorSets.blurHorz, VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, 0, &uniformBuffers.blurParams.descriptor), // Binding 0: Fragment shader uniform buffer
+ vks::initializers::writeDescriptorSet(descriptorSets.blurHorz, VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, 0, &uniformBuffers.blurParams.descriptor), // Binding 0: Fragment shader uniform buffer
vks::initializers::writeDescriptorSet(descriptorSets.blurHorz, VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, 1, &offscreenPass.framebuffers[1].descriptor), // Binding 1: Fragment shader texture sampler
};
vkUpdateDescriptorSets(device, writeDescriptorSets.size(), writeDescriptorSets.data(), 0, NULL);
@@ -570,15 +570,15 @@ public:
// Scene rendering
descriptorSetAllocInfo = vks::initializers::descriptorSetAllocateInfo(descriptorPool, &descriptorSetLayouts.scene, 1);
VK_CHECK_RESULT(vkAllocateDescriptorSets(device, &descriptorSetAllocInfo, &descriptorSets.scene));
- writeDescriptorSets = {
+ writeDescriptorSets = {
vks::initializers::writeDescriptorSet(descriptorSets.scene, VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, 0, &uniformBuffers.scene.descriptor) // Binding 0: Vertex shader uniform buffer
};
vkUpdateDescriptorSets(device, writeDescriptorSets.size(), writeDescriptorSets.data(), 0, NULL);
// Skybox
VK_CHECK_RESULT(vkAllocateDescriptorSets(device, &descriptorSetAllocInfo, &descriptorSets.skyBox));
- writeDescriptorSets = {
- vks::initializers::writeDescriptorSet(descriptorSets.skyBox, VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, 0, &uniformBuffers.skyBox.descriptor), // Binding 0: Vertex shader uniform buffer
+ writeDescriptorSets = {
+ vks::initializers::writeDescriptorSet(descriptorSets.skyBox, VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, 0, &uniformBuffers.skyBox.descriptor), // Binding 0: Vertex shader uniform buffer
vks::initializers::writeDescriptorSet(descriptorSets.skyBox, VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, 1, &textures.cubemap.descriptor), // Binding 1: Fragment shader texture sampler
};
vkUpdateDescriptorSets(device, writeDescriptorSets.size(), writeDescriptorSets.data(), 0, NULL);
@@ -595,7 +595,7 @@ public:
VkPipelineMultisampleStateCreateInfo multisampleStateCI = vks::initializers::pipelineMultisampleStateCreateInfo(VK_SAMPLE_COUNT_1_BIT, 0);
std::vector dynamicStateEnables = { VK_DYNAMIC_STATE_VIEWPORT, VK_DYNAMIC_STATE_SCISSOR };
VkPipelineDynamicStateCreateInfo dynamicStateCI = vks::initializers::pipelineDynamicStateCreateInfo(dynamicStateEnables.data(), dynamicStateEnables.size(), 0);
-
+
std::array shaderStages;
VkGraphicsPipelineCreateInfo pipelineCI = vks::initializers::pipelineCreateInfo(pipelineLayouts.blur, renderPass, 0);
@@ -610,8 +610,8 @@ public:
pipelineCI.pStages = shaderStages.data();
// Blur pipelines
- shaderStages[0] = loadShader(getAssetPath() + "shaders/bloom/gaussblur.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/bloom/gaussblur.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "bloom/gaussblur.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "bloom/gaussblur.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
// Empty vertex input state
VkPipelineVertexInputStateCreateInfo emptyInputState = vks::initializers::pipelineVertexInputStateCreateInfo();
pipelineCI.pVertexInputState = &emptyInputState;
@@ -645,7 +645,7 @@ public:
vks::initializers::vertexInputBindingDescription(0, vertexLayout.stride(), VK_VERTEX_INPUT_RATE_VERTEX),
};
std::vector vertexInputAttributes = {
- vks::initializers::vertexInputAttributeDescription(0, 0, VK_FORMAT_R32G32B32_SFLOAT, 0), // Position
+ vks::initializers::vertexInputAttributeDescription(0, 0, VK_FORMAT_R32G32B32_SFLOAT, 0), // Position
vks::initializers::vertexInputAttributeDescription(0, 1, VK_FORMAT_R32G32_SFLOAT, sizeof(float) * 3), // Texture coordinates
vks::initializers::vertexInputAttributeDescription(0, 2, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 5), // Color
vks::initializers::vertexInputAttributeDescription(0, 3, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 8), // Normal
@@ -657,8 +657,8 @@ public:
vertexInputState.pVertexAttributeDescriptions = vertexInputAttributes.data();
pipelineCI.pVertexInputState = &vertexInputState;
pipelineCI.layout = pipelineLayouts.scene;
- shaderStages[0] = loadShader(getAssetPath() + "shaders/bloom/phongpass.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/bloom/phongpass.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "bloom/phongpass.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "bloom/phongpass.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
blendAttachmentState.blendEnable = VK_FALSE;
depthStencilStateCI.depthWriteEnable = VK_TRUE;
rasterizationStateCI.cullMode = VK_CULL_MODE_BACK_BIT;
@@ -666,14 +666,14 @@ public:
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCI, nullptr, &pipelines.phongPass));
// Color only pass (offscreen blur base)
- shaderStages[0] = loadShader(getAssetPath() + "shaders/bloom/colorpass.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/bloom/colorpass.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "bloom/colorpass.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "bloom/colorpass.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
pipelineCI.renderPass = offscreenPass.renderPass;
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCI, nullptr, &pipelines.glowPass));
// Skybox (cubemap)
- shaderStages[0] = loadShader(getAssetPath() + "shaders/bloom/skybox.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/bloom/skybox.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "bloom/skybox.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "bloom/skybox.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
depthStencilStateCI.depthWriteEnable = VK_FALSE;
rasterizationStateCI.cullMode = VK_CULL_MODE_FRONT_BIT;
pipelineCI.renderPass = renderPass;
diff --git a/examples/commandbuffers/commandbuffers.cpp b/examples/commandbuffers/commandbuffers.cpp
index 0e0f6052..bfa82617 100644
--- a/examples/commandbuffers/commandbuffers.cpp
+++ b/examples/commandbuffers/commandbuffers.cpp
@@ -31,7 +31,7 @@
class VulkanExample : public VulkanExampleBase
{
public:
- enum RenderMode {
+ enum RenderMode {
SINGLE_CB_RECREATE = 0,
MULTIPLE_CB_STATIC = 1,
};
@@ -128,7 +128,7 @@ public:
renderMode = mode;
vkDeviceWaitIdle(device);
switch (renderMode) {
- case SINGLE_CB_RECREATE:
+ case SINGLE_CB_RECREATE:
std::cout << "Using single command buffer, recreating each frame" << std::endl;
break;
case MULTIPLE_CB_STATIC:
@@ -193,9 +193,9 @@ public:
std::vector vertexInputAttributes = {
vks::initializers::vertexInputAttributeDescription(0, 0, VK_FORMAT_R32G32B32_SFLOAT, 0), // Location 0 : Position
- vks::initializers::vertexInputAttributeDescription(0, 1, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 3), // Location 1 : Normal
+ vks::initializers::vertexInputAttributeDescription(0, 1, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 3), // Location 1 : Normal
vks::initializers::vertexInputAttributeDescription(0, 2, VK_FORMAT_R32G32_SFLOAT, sizeof(float) * 6), // Location 3 : UV
- vks::initializers::vertexInputAttributeDescription(0, 3, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 8) // Location 3 : Cpöpr
+ vks::initializers::vertexInputAttributeDescription(0, 3, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 8) // Location 3 : Cp�pr
};
VkPipelineVertexInputStateCreateInfo vertexInputState = vks::initializers::pipelineVertexInputStateCreateInfo();
@@ -206,8 +206,8 @@ public:
// Load shaders
std::array shaderStages = {
- loadShader(getAssetPath() + "shaders/pushconstants/lights.vert.spv", VK_SHADER_STAGE_VERTEX_BIT),
- loadShader(getAssetPath() + "shaders/pushconstants/lights.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT)
+ loadShader(getShadersPath() + "pushconstants/lights.vert.spv", VK_SHADER_STAGE_VERTEX_BIT),
+ loadShader(getShadersPath() + "pushconstants/lights.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT)
};
VkGraphicsPipelineCreateInfo pipelineCI = vks::initializers::pipelineCreateInfo(pipelineLayout, renderPass, 0);
@@ -228,11 +228,11 @@ public:
void prepareUniformBuffers()
{
/*
- Single command buffer
+ Single command buffer
*/
VK_CHECK_RESULT(vulkanDevice->createBuffer(
- VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT,
- VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT,
+ VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT,
+ VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT,
&singleCB.uniformBuffer,
sizeof(ShaderValues)));
VK_CHECK_RESULT(singleCB.uniformBuffer.map());
@@ -242,7 +242,7 @@ public:
*/
for (auto i = 0; i < multiCB.uniformBuffers.size(); i++) {
VK_CHECK_RESULT(vulkanDevice->createBuffer(
- VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT,
+ VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT,
VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT,
&multiCB.uniformBuffers[i],
sizeof(ShaderValues)));
@@ -404,7 +404,7 @@ public:
/*
Multiple command buffers rendering to different framebuffers
*/
- void recordCommandBuffers()
+ void recordCommandBuffers()
{
VkClearValue clearValues[2];
clearValues[0].color = defaultClearColor;
@@ -592,7 +592,7 @@ public:
case 0x32:
setRenderMode(MULTIPLE_CB_STATIC);
break;
- }
+ }
}
#endif
};
diff --git a/examples/computecloth/computecloth.cpp b/examples/computecloth/computecloth.cpp
index c73cf479..964d39e5 100644
--- a/examples/computecloth/computecloth.cpp
+++ b/examples/computecloth/computecloth.cpp
@@ -142,7 +142,7 @@ public:
vkDestroyCommandPool(device, compute.commandPool, nullptr);
}
- // Enable physical device features required for this example
+ // Enable physical device features required for this example
virtual void getEnabledFeatures()
{
if (deviceFeatures.samplerAnisotropy) {
@@ -156,7 +156,7 @@ public:
modelSphere.loadFromFile(getAssetPath() + "models/geosphere.obj", vertexLayout, compute.ubo.sphereRadius * 0.05f, vulkanDevice, queue);
}
- void addGraphicsToComputeBarriers(VkCommandBuffer commandBuffer)
+ void addGraphicsToComputeBarriers(VkCommandBuffer commandBuffer)
{
if (specializedComputeQueue) {
VkBufferMemoryBarrier bufferBarrier = vks::initializers::bufferMemoryBarrier();
@@ -179,9 +179,9 @@ public:
static_cast(bufferBarriers.size()), bufferBarriers.data(),
0, nullptr);
}
- }
+ }
- void addComputeToComputeBarriers(VkCommandBuffer commandBuffer)
+ void addComputeToComputeBarriers(VkCommandBuffer commandBuffer)
{
VkBufferMemoryBarrier bufferBarrier = vks::initializers::bufferMemoryBarrier();
bufferBarrier.srcAccessMask = VK_ACCESS_SHADER_WRITE_BIT;
@@ -202,7 +202,7 @@ public:
0, nullptr,
static_cast(bufferBarriers.size()), bufferBarriers.data(),
0, nullptr);
- }
+ }
void addComputeToGraphicsBarriers(VkCommandBuffer commandBuffer)
{
@@ -227,7 +227,7 @@ public:
static_cast(bufferBarriers.size()), bufferBarriers.data(),
0, nullptr);
}
- }
+ }
void buildCommandBuffers()
{
@@ -386,7 +386,7 @@ public:
VkDeviceSize storageBufferSize = particleBuffer.size() * sizeof(Particle);
// Staging
- // SSBO won't be changed on the host after upload so copy to device local memory
+ // SSBO won't be changed on the host after upload so copy to device local memory
vks::Buffer stagingBuffer;
@@ -415,7 +415,7 @@ public:
copyRegion.size = storageBufferSize;
vkCmdCopyBuffer(copyCmd, stagingBuffer.buffer, compute.storageBuffers.input.buffer, 1, ©Region);
vkCmdCopyBuffer(copyCmd, stagingBuffer.buffer, compute.storageBuffers.output.buffer, 1, ©Region);
- // Add an initial release barrier to the graphics queue,
+ // Add an initial release barrier to the graphics queue,
// so that when the compute command buffer executes for the first time
// it doesn't complain about a lack of a corresponding "release" to its "acquire"
addGraphicsToComputeBarriers(copyCmd);
@@ -489,7 +489,7 @@ public:
VK_CHECK_RESULT(vkCreatePipelineLayout(device, &pipelineLayoutCreateInfo, nullptr, &graphics.pipelineLayout));
// Set
- VkDescriptorSetAllocateInfo allocInfo =
+ VkDescriptorSetAllocateInfo allocInfo =
vks::initializers::descriptorSetAllocateInfo(descriptorPool, &graphics.descriptorSetLayout, 1);
VK_CHECK_RESULT(vkAllocateDescriptorSets(device, &allocInfo, &graphics.descriptorSet));
@@ -533,8 +533,8 @@ public:
// Rendering pipeline
std::array shaderStages;
- shaderStages[0] = loadShader(getAssetPath() + "shaders/computecloth/cloth.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/computecloth/cloth.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "computecloth/cloth.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "computecloth/cloth.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
VkGraphicsPipelineCreateInfo pipelineCreateInfo =
vks::initializers::pipelineCreateInfo(
@@ -542,7 +542,7 @@ public:
renderPass,
0);
- // Input attributes
+ // Input attributes
// Binding description
std::vector inputBindings = {
@@ -590,8 +590,8 @@ public:
inputAssemblyState.topology = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST;
inputAssemblyState.primitiveRestartEnable = VK_FALSE;
rasterizationState.polygonMode = VK_POLYGON_MODE_FILL;
- shaderStages[0] = loadShader(getAssetPath() + "shaders/computecloth/sphere.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/computecloth/sphere.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "computecloth/sphere.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "computecloth/sphere.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCreateInfo, nullptr, &graphics.pipelines.sphere));
}
@@ -626,7 +626,7 @@ public:
VkDescriptorSetAllocateInfo allocInfo =
vks::initializers::descriptorSetAllocateInfo(descriptorPool, &compute.descriptorSetLayout, 1);
- // Create two descriptor sets with input and output buffers switched
+ // Create two descriptor sets with input and output buffers switched
VK_CHECK_RESULT(vkAllocateDescriptorSets(device, &allocInfo, &compute.descriptorSets[0]));
VK_CHECK_RESULT(vkAllocateDescriptorSets(device, &allocInfo, &compute.descriptorSets[1]));
@@ -642,9 +642,9 @@ public:
vkUpdateDescriptorSets(device, static_cast(computeWriteDescriptorSets.size()), computeWriteDescriptorSets.data(), 0, NULL);
- // Create pipeline
+ // Create pipeline
VkComputePipelineCreateInfo computePipelineCreateInfo = vks::initializers::computePipelineCreateInfo(compute.pipelineLayout, 0);
- computePipelineCreateInfo.stage = loadShader(getAssetPath() + "shaders/computecloth/cloth.comp.spv", VK_SHADER_STAGE_COMPUTE_BIT);
+ computePipelineCreateInfo.stage = loadShader(getShadersPath() + "computecloth/cloth.comp.spv", VK_SHADER_STAGE_COMPUTE_BIT);
VK_CHECK_RESULT(vkCreateComputePipelines(device, pipelineCache, 1, &computePipelineCreateInfo, nullptr, &compute.pipeline));
// Separate command pool as queue family for compute may be different than graphics
@@ -656,7 +656,7 @@ public:
// Create a command buffer for compute operations
VkCommandBufferAllocateInfo cmdBufAllocateInfo =
- vks::initializers::commandBufferAllocateInfo(compute.commandPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY, 2);
+ vks::initializers::commandBufferAllocateInfo(compute.commandPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY, 2);
VK_CHECK_RESULT(vkAllocateCommandBuffers(device, &cmdBufAllocateInfo, &compute.commandBuffers[0]));
@@ -679,7 +679,7 @@ public:
&compute.uniformBuffer,
sizeof(compute.ubo));
VK_CHECK_RESULT(compute.uniformBuffer.map());
-
+
// Initial values
float dx = cloth.size.x / (cloth.gridsize.x - 1);
float dy = cloth.size.y / (cloth.gridsize.y - 1);
diff --git a/examples/computecullandlod/computecullandlod.cpp b/examples/computecullandlod/computecullandlod.cpp
index ec9c0ec0..ca4ea04e 100644
--- a/examples/computecullandlod/computecullandlod.cpp
+++ b/examples/computecullandlod/computecullandlod.cpp
@@ -11,7 +11,7 @@
#include
#include
#include
-#include
+#include
#include
#include
@@ -195,7 +195,7 @@ public:
vkCmdBindPipeline(drawCmdBuffers[i], VK_PIPELINE_BIND_POINT_GRAPHICS, pipelines.plants);
vkCmdBindVertexBuffers(drawCmdBuffers[i], VERTEX_BUFFER_BIND_ID, 1, &models.lodObject.vertices.buffer, offsets);
vkCmdBindVertexBuffers(drawCmdBuffers[i], INSTANCE_BUFFER_BIND_ID, 1, &instanceBuffer.buffer, offsets);
-
+
vkCmdBindIndexBuffer(drawCmdBuffers[i], models.lodObject.indices.buffer, 0, VK_INDEX_TYPE_UINT32);
if (vulkanDevice->features.multiDrawIndirect)
@@ -209,7 +209,7 @@ public:
{
vkCmdDrawIndexedIndirect(drawCmdBuffers[i], indirectCommandsBuffer.buffer, j * sizeof(VkDrawIndexedIndirectCommand), 1, sizeof(VkDrawIndexedIndirectCommand));
}
- }
+ }
drawUI(drawCmdBuffers[i]);
@@ -233,7 +233,7 @@ public:
vks::initializers::vertexInputBindingDescription(VERTEX_BUFFER_BIND_ID, vertexLayout.stride(), VK_VERTEX_INPUT_RATE_VERTEX);
// Binding 1: Per instance
- vertices.bindingDescriptions[1] =
+ vertices.bindingDescriptions[1] =
vks::initializers::vertexInputBindingDescription(INSTANCE_BUFFER_BIND_ID, sizeof(InstanceData), VK_VERTEX_INPUT_RATE_INSTANCE);
// Attribute descriptions
@@ -295,10 +295,10 @@ public:
VkBufferMemoryBarrier bufferBarrier = vks::initializers::bufferMemoryBarrier();
bufferBarrier.buffer = indirectCommandsBuffer.buffer;
bufferBarrier.size = indirectCommandsBuffer.descriptor.range;
- bufferBarrier.srcAccessMask = VK_ACCESS_INDIRECT_COMMAND_READ_BIT;
- bufferBarrier.dstAccessMask = VK_ACCESS_SHADER_WRITE_BIT;
- bufferBarrier.srcQueueFamilyIndex = vulkanDevice->queueFamilyIndices.graphics;
- bufferBarrier.dstQueueFamilyIndex = vulkanDevice->queueFamilyIndices.compute;
+ bufferBarrier.srcAccessMask = VK_ACCESS_INDIRECT_COMMAND_READ_BIT;
+ bufferBarrier.dstAccessMask = VK_ACCESS_SHADER_WRITE_BIT;
+ bufferBarrier.srcQueueFamilyIndex = vulkanDevice->queueFamilyIndices.graphics;
+ bufferBarrier.dstQueueFamilyIndex = vulkanDevice->queueFamilyIndices.compute;
vkCmdPipelineBarrier(
compute.commandBuffer,
@@ -313,7 +313,7 @@ public:
vkCmdBindDescriptorSets(compute.commandBuffer, VK_PIPELINE_BIND_POINT_COMPUTE, compute.pipelineLayout, 0, 1, &compute.descriptorSet, 0, 0);
// Dispatch the compute job
- // The compute shader will do the frustum culling and adjust the indirect draw calls depending on object visibility.
+ // The compute shader will do the frustum culling and adjust the indirect draw calls depending on object visibility.
// It also determines the lod to use depending on distance to the viewer.
vkCmdDispatch(compute.commandBuffer, objectCount / 16, 1, 1);
@@ -341,7 +341,7 @@ public:
void setupDescriptorPool()
{
- // Example uses one ubo
+ // Example uses one ubo
std::vector poolSizes =
{
vks::initializers::descriptorPoolSize(VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, 2),
@@ -475,8 +475,8 @@ public:
pipelineCreateInfo.pStages = shaderStages.data();
// Indirect (and instanced) pipeline for the plants
- shaderStages[0] = loadShader(getAssetPath() + "shaders/computecullandlod/indirectdraw.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/computecullandlod/indirectdraw.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "computecullandlod/indirectdraw.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "computecullandlod/indirectdraw.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCreateInfo, nullptr, &pipelines.plants));
}
@@ -706,9 +706,9 @@ public:
vkUpdateDescriptorSets(device, static_cast(computeWriteDescriptorSets.size()), computeWriteDescriptorSets.data(), 0, NULL);
- // Create pipeline
+ // Create pipeline
VkComputePipelineCreateInfo computePipelineCreateInfo = vks::initializers::computePipelineCreateInfo(compute.pipelineLayout, 0);
- computePipelineCreateInfo.stage = loadShader(getAssetPath() + "shaders/computecullandlod/cull.comp.spv", VK_SHADER_STAGE_COMPUTE_BIT);
+ computePipelineCreateInfo.stage = loadShader(getShadersPath() + "computecullandlod/cull.comp.spv", VK_SHADER_STAGE_COMPUTE_BIT);
// Use specialization constants to pass max. level of detail (determined by no. of meshes)
VkSpecializationMapEntry specializationEntry{};
@@ -750,7 +750,7 @@ public:
VkSemaphoreCreateInfo semaphoreCreateInfo = vks::initializers::semaphoreCreateInfo();
VK_CHECK_RESULT(vkCreateSemaphore(device, &semaphoreCreateInfo, nullptr, &compute.semaphore));
-
+
// Build a single command buffer containing the compute dispatch commands
buildComputeCommandBuffer();
}
@@ -789,7 +789,7 @@ public:
computeSubmitInfo.pSignalSemaphores = &compute.semaphore;
VK_CHECK_RESULT(vkQueueSubmit(compute.queue, 1, &computeSubmitInfo, VK_NULL_HANDLE));
-
+
// Submit graphics command buffer
submitInfo.commandBufferCount = 1;
diff --git a/examples/computeheadless/computeheadless.cpp b/examples/computeheadless/computeheadless.cpp
index cab4bfed..11ee8c2f 100644
--- a/examples/computeheadless/computeheadless.cpp
+++ b/examples/computeheadless/computeheadless.cpp
@@ -1,5 +1,5 @@
/*
-* Vulkan Example - Minimal headless compute example
+* Vulkan Example - Minimal headless compute example
*
* Copyright (C) 2017 by Sascha Willems - www.saschawillems.de
*
@@ -51,7 +51,7 @@ static VKAPI_ATTR VkBool32 VKAPI_CALL debugMessageCallback(
int32_t messageCode,
const char* pLayerPrefix,
const char* pMessage,
- void* pUserData)
+ void* pUserData)
{
LOG("[VALIDATION]: %s - %s\n", pLayerPrefix, pMessage);
return VK_FALSE;
@@ -62,7 +62,7 @@ class VulkanExample
public:
VkInstance instance;
VkPhysicalDevice physicalDevice;
- VkDevice device;
+ VkDevice device;
uint32_t queueFamilyIndex;
VkPipelineCache pipelineCache;
VkQueue queue;
@@ -133,8 +133,8 @@ public:
appInfo.pEngineName = "VulkanExample";
appInfo.apiVersion = VK_API_VERSION_1_0;
- /*
- Vulkan instance creation (without surface extensions)
+ /*
+ Vulkan instance creation (without surface extensions)
*/
VkInstanceCreateInfo instanceCreateInfo = {};
instanceCreateInfo.sType = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO;
@@ -197,10 +197,10 @@ public:
}
#endif
- /*
- Vulkan device creation
+ /*
+ Vulkan device creation
*/
- // Physical device (always use first)
+ // Physical device (always use first)
uint32_t deviceCount = 0;
VK_CHECK_RESULT(vkEnumeratePhysicalDevices(instance, &deviceCount, nullptr));
std::vector physicalDevices(deviceCount);
@@ -245,7 +245,7 @@ public:
cmdPoolInfo.flags = VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT;
VK_CHECK_RESULT(vkCreateCommandPool(device, &cmdPoolInfo, nullptr, &commandPool));
- /*
+ /*
Prepare storage buffers
*/
std::vector computeInput(BUFFER_ELEMENTS);
@@ -314,7 +314,7 @@ public:
vkFreeCommandBuffers(device, commandPool, 1, ©Cmd);
}
- /*
+ /*
Prepare compute pipeline
*/
{
@@ -351,7 +351,7 @@ public:
pipelineCacheCreateInfo.sType = VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO;
VK_CHECK_RESULT(vkCreatePipelineCache(device, &pipelineCacheCreateInfo, nullptr, &pipelineCache));
- // Create pipeline
+ // Create pipeline
VkComputePipelineCreateInfo computePipelineCreateInfo = vks::initializers::computePipelineCreateInfo(pipelineLayout, 0);
// Pass SSBO size via specialization constant
@@ -365,9 +365,9 @@ public:
shaderStage.sType = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO;
shaderStage.stage = VK_SHADER_STAGE_COMPUTE_BIT;
#if defined(VK_USE_PLATFORM_ANDROID_KHR)
- shaderStage.module = vks::tools::loadShader(androidapp->activity->assetManager, (getAssetPath() + "shaders/computeheadless/headless.comp.spv").c_str(), device);
+ shaderStage.module = vks::tools::loadShader(androidapp->activity->assetManager, (getShadersPath() + "computeheadless/headless.comp.spv").c_str(), device);
#else
- shaderStage.module = vks::tools::loadShader((getAssetPath() + "shaders/computeheadless/headless.comp.spv").c_str(), device);
+ shaderStage.module = vks::tools::loadShader((getShadersPath() + "computeheadless/headless.comp.spv").c_str(), device);
#endif
shaderStage.pName = "main";
shaderStage.pSpecializationInfo = &specializationInfo;
@@ -387,7 +387,7 @@ public:
VK_CHECK_RESULT(vkCreateFence(device, &fenceCreateInfo, nullptr, &fence));
}
- /*
+ /*
Command buffer creation (for compute work submission)
*/
{
diff --git a/examples/computenbody/computenbody.cpp b/examples/computenbody/computenbody.cpp
index 7e184c30..df17164d 100644
--- a/examples/computenbody/computenbody.cpp
+++ b/examples/computenbody/computenbody.cpp
@@ -170,7 +170,7 @@ public:
graphics.queueFamilyIndex,
compute.storageBuffer.buffer,
0,
- compute.storageBuffer.size
+ compute.storageBuffer.size
};
vkCmdPipelineBarrier(
@@ -198,7 +198,7 @@ public:
VkDeviceSize offsets[1] = { 0 };
vkCmdBindVertexBuffers(drawCmdBuffers[i], VERTEX_BUFFER_BIND_ID, 1, &compute.storageBuffer.buffer, offsets);
vkCmdDraw(drawCmdBuffers[i], numParticles, 1, 0, 0);
-
+
drawUI(drawCmdBuffers[i]);
vkCmdEndRenderPass(drawCmdBuffers[i]);
@@ -253,7 +253,7 @@ public:
compute.queueFamilyIndex,
compute.storageBuffer.buffer,
0,
- compute.storageBuffer.size
+ compute.storageBuffer.size
};
vkCmdPipelineBarrier(
@@ -366,7 +366,7 @@ public:
}
else
{
- // Position
+ // Position
glm::vec3 position(attractors[i] + glm::vec3(rndDist(rndEngine), rndDist(rndEngine), rndDist(rndEngine)) * 0.75f);
float len = glm::length(glm::normalize(position - attractors[i]));
position.y *= 2.0f - (len * len);
@@ -390,7 +390,7 @@ public:
VkDeviceSize storageBufferSize = particleBuffer.size() * sizeof(Particle);
// Staging
- // SSBO won't be changed on the host after upload so copy to device local memory
+ // SSBO won't be changed on the host after upload so copy to device local memory
vks::Buffer stagingBuffer;
@@ -426,7 +426,7 @@ public:
compute.queueFamilyIndex,
compute.storageBuffer.buffer,
0,
- compute.storageBuffer.size
+ compute.storageBuffer.size
};
vkCmdPipelineBarrier(
@@ -590,8 +590,8 @@ public:
// Load shaders
std::array shaderStages;
- shaderStages[0] = loadShader(getAssetPath() + "shaders/computenbody/particle.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/computenbody/particle.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "computenbody/particle.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "computenbody/particle.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
VkGraphicsPipelineCreateInfo pipelineCreateInfo =
vks::initializers::pipelineCreateInfo(
@@ -705,7 +705,7 @@ public:
VkComputePipelineCreateInfo computePipelineCreateInfo = vks::initializers::computePipelineCreateInfo(compute.pipelineLayout, 0);
// 1st pass
- computePipelineCreateInfo.stage = loadShader(getAssetPath() + "shaders/computenbody/particle_calculate.comp.spv", VK_SHADER_STAGE_COMPUTE_BIT);
+ computePipelineCreateInfo.stage = loadShader(getShadersPath() + "computenbody/particle_calculate.comp.spv", VK_SHADER_STAGE_COMPUTE_BIT);
// Set shader parameters via specialization constants
struct SpecializationData {
@@ -727,14 +727,14 @@ public:
specializationData.power = 0.75f;
specializationData.soften = 0.05f;
- VkSpecializationInfo specializationInfo =
+ VkSpecializationInfo specializationInfo =
vks::initializers::specializationInfo(static_cast(specializationMapEntries.size()), specializationMapEntries.data(), sizeof(specializationData), &specializationData);
computePipelineCreateInfo.stage.pSpecializationInfo = &specializationInfo;
VK_CHECK_RESULT(vkCreateComputePipelines(device, pipelineCache, 1, &computePipelineCreateInfo, nullptr, &compute.pipelineCalculate));
// 2nd pass
- computePipelineCreateInfo.stage = loadShader(getAssetPath() + "shaders/computenbody/particle_integrate.comp.spv", VK_SHADER_STAGE_COMPUTE_BIT);
+ computePipelineCreateInfo.stage = loadShader(getShadersPath() + "computenbody/particle_integrate.comp.spv", VK_SHADER_STAGE_COMPUTE_BIT);
VK_CHECK_RESULT(vkCreateComputePipelines(device, pipelineCache, 1, &computePipelineCreateInfo, nullptr, &compute.pipelineIntegrate));
// Separate command pool as queue family for compute may be different than graphics
@@ -763,7 +763,7 @@ public:
// If graphics and compute queue family indices differ, acquire and immediately release the storage buffer, so that the initial acquire from the graphics command buffers are matched up properly
if (graphics.queueFamilyIndex != compute.queueFamilyIndex)
- {
+ {
// Create a transient command buffer for setting up the initial buffer transfer state
VkCommandBuffer transferCmd = vulkanDevice->createCommandBuffer(VK_COMMAND_BUFFER_LEVEL_PRIMARY, compute.commandPool, true);
diff --git a/examples/computeparticles/computeparticles.cpp b/examples/computeparticles/computeparticles.cpp
index 306a425e..7e4cd858 100644
--- a/examples/computeparticles/computeparticles.cpp
+++ b/examples/computeparticles/computeparticles.cpp
@@ -539,8 +539,8 @@ public:
// Load shaders
std::array shaderStages;
- shaderStages[0] = loadShader(getAssetPath() + "shaders/computeparticles/particle.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/computeparticles/particle.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "computeparticles/particle.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "computeparticles/particle.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
VkGraphicsPipelineCreateInfo pipelineCreateInfo =
vks::initializers::pipelineCreateInfo(
@@ -652,7 +652,7 @@ public:
// Create pipeline
VkComputePipelineCreateInfo computePipelineCreateInfo = vks::initializers::computePipelineCreateInfo(compute.pipelineLayout, 0);
- computePipelineCreateInfo.stage = loadShader(getAssetPath() + "shaders/computeparticles/particle.comp.spv", VK_SHADER_STAGE_COMPUTE_BIT);
+ computePipelineCreateInfo.stage = loadShader(getShadersPath() + "computeparticles/particle.comp.spv", VK_SHADER_STAGE_COMPUTE_BIT);
VK_CHECK_RESULT(vkCreateComputePipelines(device, pipelineCache, 1, &computePipelineCreateInfo, nullptr, &compute.pipeline));
// Separate command pool as queue family for compute may be different than graphics
diff --git a/examples/computeraytracing/computeraytracing.cpp b/examples/computeraytracing/computeraytracing.cpp
index cceaa587..76ca504c 100644
--- a/examples/computeraytracing/computeraytracing.cpp
+++ b/examples/computeraytracing/computeraytracing.cpp
@@ -71,9 +71,9 @@ public:
} ubo;
} compute;
- // SSBO sphere declaration
+ // SSBO sphere declaration
struct Sphere { // Shader uses std140 layout (so we only use vec4 instead of vec3)
- glm::vec3 pos;
+ glm::vec3 pos;
float radius;
glm::vec3 diffuse;
float specular;
@@ -166,9 +166,9 @@ public:
tex->imageLayout = VK_IMAGE_LAYOUT_GENERAL;
vks::tools::setImageLayout(
- layoutCmd,
+ layoutCmd,
tex->image,
- VK_IMAGE_ASPECT_COLOR_BIT,
+ VK_IMAGE_ASPECT_COLOR_BIT,
VK_IMAGE_LAYOUT_UNDEFINED,
tex->imageLayout);
@@ -500,8 +500,8 @@ public:
// Display pipeline
std::array shaderStages;
- shaderStages[0] = loadShader(getAssetPath() + "shaders/computeraytracing/texture.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/computeraytracing/texture.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "computeraytracing/texture.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "computeraytracing/texture.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
VkGraphicsPipelineCreateInfo pipelineCreateInfo =
vks::initializers::pipelineCreateInfo(
@@ -626,7 +626,7 @@ public:
compute.pipelineLayout,
0);
- computePipelineCreateInfo.stage = loadShader(getAssetPath() + "shaders/computeraytracing/raytracing.comp.spv", VK_SHADER_STAGE_COMPUTE_BIT);
+ computePipelineCreateInfo.stage = loadShader(getShadersPath() + "computeraytracing/raytracing.comp.spv", VK_SHADER_STAGE_COMPUTE_BIT);
VK_CHECK_RESULT(vkCreateComputePipelines(device, pipelineCache, 1, &computePipelineCreateInfo, nullptr, &compute.pipeline));
// Separate command pool as queue family for compute may be different than graphics
@@ -711,7 +711,7 @@ public:
setupDescriptorPool();
setupDescriptorSet();
prepareCompute();
- buildCommandBuffers();
+ buildCommandBuffers();
prepared = true;
}
diff --git a/examples/computeshader/computeshader.cpp b/examples/computeshader/computeshader.cpp
index 4a650424..f23c3269 100644
--- a/examples/computeshader/computeshader.cpp
+++ b/examples/computeshader/computeshader.cpp
@@ -159,9 +159,9 @@ public:
tex->imageLayout = VK_IMAGE_LAYOUT_GENERAL;
vks::tools::setImageLayout(
- layoutCmd, tex->image,
- VK_IMAGE_ASPECT_COLOR_BIT,
- VK_IMAGE_LAYOUT_UNDEFINED,
+ layoutCmd, tex->image,
+ VK_IMAGE_ASPECT_COLOR_BIT,
+ VK_IMAGE_LAYOUT_UNDEFINED,
tex->imageLayout);
vulkanDevice->flushCommandBuffer(layoutCmd, queue, true);
@@ -359,7 +359,7 @@ public:
void setupDescriptorPool()
{
std::vector poolSizes = {
- // Graphics pipelines uniform buffers
+ // Graphics pipelines uniform buffers
vks::initializers::descriptorPoolSize(VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, 2),
// Graphics pipelines image samplers for displaying compute output image
vks::initializers::descriptorPoolSize(VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, 2),
@@ -372,7 +372,7 @@ public:
void setupDescriptorSetLayout()
{
- std::vector setLayoutBindings = {
+ std::vector setLayoutBindings = {
// Binding 0: Vertex shader uniform buffer
vks::initializers::descriptorSetLayoutBinding(VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, VK_SHADER_STAGE_VERTEX_BIT, 0),
// Binding 1: Fragment shader input image
@@ -381,7 +381,7 @@ public:
VkDescriptorSetLayoutCreateInfo descriptorLayout = vks::initializers::descriptorSetLayoutCreateInfo(setLayoutBindings);
VK_CHECK_RESULT(vkCreateDescriptorSetLayout(device, &descriptorLayout, nullptr, &graphics.descriptorSetLayout));
-
+
VkPipelineLayoutCreateInfo pPipelineLayoutCreateInfo = vks::initializers::pipelineLayoutCreateInfo(&graphics.descriptorSetLayout, 1);
VK_CHECK_RESULT(vkCreatePipelineLayout(device, &pPipelineLayoutCreateInfo, nullptr, &graphics.pipelineLayout));
}
@@ -401,7 +401,7 @@ public:
// Final image (after compute shader processing)
VK_CHECK_RESULT(vkAllocateDescriptorSets(device, &allocInfo, &graphics.descriptorSetPostCompute));
- std::vector writeDescriptorSets = {
+ std::vector writeDescriptorSets = {
vks::initializers::writeDescriptorSet(graphics.descriptorSetPostCompute, VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, 0, &uniformBufferVS.descriptor),
vks::initializers::writeDescriptorSet(graphics.descriptorSetPostCompute, VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, 1, &textureComputeTarget.descriptor)
};
@@ -462,8 +462,8 @@ public:
// Load shaders
std::array shaderStages;
- shaderStages[0] = loadShader(getAssetPath() + "shaders/computeshader/texture.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/computeshader/texture.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "computeshader/texture.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "computeshader/texture.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
VkGraphicsPipelineCreateInfo pipelineCreateInfo =
vks::initializers::pipelineCreateInfo(
@@ -554,7 +554,7 @@ public:
vks::initializers::descriptorSetAllocateInfo(descriptorPool, &compute.descriptorSetLayout, 1);
VK_CHECK_RESULT(vkAllocateDescriptorSets(device, &allocInfo, &compute.descriptorSet));
- std::vector computeWriteDescriptorSets = {
+ std::vector computeWriteDescriptorSets = {
vks::initializers::writeDescriptorSet(compute.descriptorSet, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, 0, &textureColorMap.descriptor),
vks::initializers::writeDescriptorSet(compute.descriptorSet, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, 1, &textureComputeTarget.descriptor)
};
@@ -567,7 +567,7 @@ public:
// One pipeline for each effect
shaderNames = { "emboss", "edgedetect", "sharpen" };
for (auto& shaderName : shaderNames) {
- std::string fileName = getAssetPath() + "shaders/computeshader/" + shaderName + ".comp.spv";
+ std::string fileName = getShadersPath() + "computeshader/" + shaderName + ".comp.spv";
computePipelineCreateInfo.stage = loadShader(fileName, VK_SHADER_STAGE_COMPUTE_BIT);
VkPipeline pipeline;
VK_CHECK_RESULT(vkCreateComputePipelines(device, pipelineCache, 1, &computePipelineCreateInfo, nullptr, &pipeline));
@@ -656,7 +656,7 @@ public:
setupDescriptorPool();
setupDescriptorSet();
prepareCompute();
- buildCommandBuffers();
+ buildCommandBuffers();
prepared = true;
}
diff --git a/examples/conditionalrender/conditionalrender.cpp b/examples/conditionalrender/conditionalrender.cpp
index 20112e23..3424802b 100644
--- a/examples/conditionalrender/conditionalrender.cpp
+++ b/examples/conditionalrender/conditionalrender.cpp
@@ -85,7 +85,7 @@ public:
node->mesh->uniformBuffer.descriptorSet
};
vkCmdBindDescriptorSets(commandBuffer, VK_PIPELINE_BIND_POINT_GRAPHICS, pipelineLayout, 0, static_cast(descriptorsets.size()), descriptorsets.data(), 0, NULL);
-
+
struct PushBlock {
glm::vec4 baseColorFactor;
} pushBlock;
@@ -152,7 +152,7 @@ public:
vkCmdBindDescriptorSets(drawCmdBuffers[i], VK_PIPELINE_BIND_POINT_GRAPHICS, pipelineLayout, 0, 1, &descriptorSet, 0, NULL);
vkCmdBindPipeline(drawCmdBuffers[i], VK_PIPELINE_BIND_POINT_GRAPHICS, pipeline);
-
+
const VkDeviceSize offsets[1] = { 0 };
vkCmdBindVertexBuffers(drawCmdBuffers[i], 0, 1, &scene.vertices.buffer, offsets);
vkCmdBindIndexBuffer(drawCmdBuffers[i], scene.indices.buffer, 0, VK_INDEX_TYPE_UINT32);
@@ -244,8 +244,8 @@ public:
pipelineCreateInfoCI.pDynamicState = &dynamicStateCI;
const std::array shaderStages = {
- loadShader(getAssetPath() + "shaders/conditionalrender/model.vert.spv", VK_SHADER_STAGE_VERTEX_BIT),
- loadShader(getAssetPath() + "shaders/conditionalrender/model.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT)
+ loadShader(getShadersPath() + "conditionalrender/model.vert.spv", VK_SHADER_STAGE_VERTEX_BIT),
+ loadShader(getShadersPath() + "conditionalrender/model.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT)
};
pipelineCreateInfoCI.stageCount = static_cast(shaderStages.size());
diff --git a/examples/conservativeraster/conservativeraster.cpp b/examples/conservativeraster/conservativeraster.cpp
index 5571316a..f247f77d 100644
--- a/examples/conservativeraster/conservativeraster.cpp
+++ b/examples/conservativeraster/conservativeraster.cpp
@@ -109,7 +109,7 @@ public:
// Enable extension required for conservative rasterization
enabledDeviceExtensions.push_back(VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME);
-
+
// Reading device properties of conservative rasterization requires VK_KHR_get_physical_device_properties2 to be enabled
enabledInstanceExtensions.push_back(VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME);
}
@@ -145,13 +145,13 @@ public:
triangle.indices.destroy();
}
- void getEnabledFeatures()
+ void getEnabledFeatures()
{
enabledFeatures.fillModeNonSolid = deviceFeatures.fillModeNonSolid;
enabledFeatures.wideLines = deviceFeatures.wideLines;
}
- /*
+ /*
Setup offscreen framebuffer, attachments and render passes for lower resolution rendering of the scene
*/
void prepareOffscreen()
@@ -315,12 +315,12 @@ public:
VK_CHECK_RESULT(vkCreateFramebuffer(device, &fbufCreateInfo, nullptr, &offscreenPass.frameBuffer));
- // Fill a descriptor for later use in a descriptor set
+ // Fill a descriptor for later use in a descriptor set
offscreenPass.descriptor.imageLayout = VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL;
offscreenPass.descriptor.imageView = offscreenPass.color.view;
offscreenPass.descriptor.sampler = offscreenPass.sampler;
}
-
+
void buildCommandBuffers()
{
VkCommandBufferBeginInfo cmdBufInfo = vks::initializers::commandBufferBeginInfo();
@@ -397,7 +397,7 @@ public:
vkCmdBindDescriptorSets(drawCmdBuffers[i], VK_PIPELINE_BIND_POINT_GRAPHICS, pipelineLayouts.fullscreen, 0, 1, &descriptorSets.fullscreen, 0, nullptr);
vkCmdDraw(drawCmdBuffers[i], 3, 1, 0, 0);
- // Overlay actual triangle
+ // Overlay actual triangle
VkDeviceSize offsets[1] = { 0 };
vkCmdBindVertexBuffers(drawCmdBuffers[i], 0, 1, &triangle.vertices.buffer, offsets);
vkCmdBindIndexBuffer(drawCmdBuffers[i], triangle.indices.buffer, 0, VK_INDEX_TYPE_UINT32);
@@ -490,9 +490,9 @@ public:
VkPipelineLayoutCreateInfo pPipelineLayoutCreateInfo;
// Scene rendering
- setLayoutBindings = {
- vks::initializers::descriptorSetLayoutBinding(VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, VK_SHADER_STAGE_VERTEX_BIT, 0), // Binding 0: Vertex shader uniform buffer
- vks::initializers::descriptorSetLayoutBinding(VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, VK_SHADER_STAGE_FRAGMENT_BIT, 1), // Binding 1: Fragment shader image sampler
+ setLayoutBindings = {
+ vks::initializers::descriptorSetLayoutBinding(VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, VK_SHADER_STAGE_VERTEX_BIT, 0), // Binding 0: Vertex shader uniform buffer
+ vks::initializers::descriptorSetLayoutBinding(VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, VK_SHADER_STAGE_FRAGMENT_BIT, 1), // Binding 1: Fragment shader image sampler
vks::initializers::descriptorSetLayoutBinding(VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, VK_SHADER_STAGE_FRAGMENT_BIT, 2) // Binding 2: Fragment shader uniform buffer
};
descriptorLayout = vks::initializers::descriptorSetLayoutCreateInfo(setLayoutBindings.data(), static_cast(setLayoutBindings.size()));
@@ -501,8 +501,8 @@ public:
VK_CHECK_RESULT(vkCreatePipelineLayout(device, &pPipelineLayoutCreateInfo, nullptr, &pipelineLayouts.scene));
// Fullscreen pass
- setLayoutBindings = {
- vks::initializers::descriptorSetLayoutBinding(VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, VK_SHADER_STAGE_VERTEX_BIT, 0), // Binding 0: Vertex shader uniform buffer
+ setLayoutBindings = {
+ vks::initializers::descriptorSetLayoutBinding(VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, VK_SHADER_STAGE_VERTEX_BIT, 0), // Binding 0: Vertex shader uniform buffer
vks::initializers::descriptorSetLayoutBinding(VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, VK_SHADER_STAGE_FRAGMENT_BIT, 1) // Binding 1: Fragment shader image sampler
};
descriptorLayout = vks::initializers::descriptorSetLayoutCreateInfo(setLayoutBindings.data(), static_cast(setLayoutBindings.size()));
@@ -588,7 +588,7 @@ public:
vks::initializers::vertexInputBindingDescription(0, sizeof(Vertex), VK_VERTEX_INPUT_RATE_VERTEX),
};
std::vector vertexInputAttributes = {
- vks::initializers::vertexInputAttributeDescription(0, 0, VK_FORMAT_R32G32B32_SFLOAT, 0), // Location 0: Position
+ vks::initializers::vertexInputAttributeDescription(0, 0, VK_FORMAT_R32G32B32_SFLOAT, 0), // Location 0: Position
vks::initializers::vertexInputAttributeDescription(0, 1, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 3), // Location 1: Color
};
VkPipelineVertexInputStateCreateInfo vertexInputState = vks::initializers::pipelineVertexInputStateCreateInfo();
@@ -608,8 +608,8 @@ public:
pipelineCreateInfo.pStages = shaderStages.data();
// Full screen pass
- shaderStages[0] = loadShader(getAssetPath() + "shaders/conservativeraster/fullscreen.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/conservativeraster/fullscreen.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "conservativeraster/fullscreen.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "conservativeraster/fullscreen.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
// Empty vertex input state (full screen triangle generated in vertex shader)
VkPipelineVertexInputStateCreateInfo emptyInputState = vks::initializers::pipelineVertexInputStateCreateInfo();
pipelineCreateInfo.pVertexInputState = &emptyInputState;
@@ -623,8 +623,8 @@ public:
// TODO: Check support for lines
rasterizationStateCI.lineWidth = 2.0f;
rasterizationStateCI.polygonMode = VK_POLYGON_MODE_LINE;
- shaderStages[0] = loadShader(getAssetPath() + "shaders/conservativeraster/triangle.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/conservativeraster/triangleoverlay.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "conservativeraster/triangle.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "conservativeraster/triangleoverlay.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCreateInfo, nullptr, &pipelines.triangleOverlay));
pipelineCreateInfo.renderPass = offscreenPass.renderPass;
@@ -633,8 +633,8 @@ public:
Triangle rendering
*/
rasterizationStateCI.polygonMode = VK_POLYGON_MODE_FILL;
- shaderStages[0] = loadShader(getAssetPath() + "shaders/conservativeraster/triangle.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/conservativeraster/triangle.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "conservativeraster/triangle.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "conservativeraster/triangle.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
/*
Basic pipeline
diff --git a/examples/debugmarker/debugmarker.cpp b/examples/debugmarker/debugmarker.cpp
index 52fd55e9..768e1d58 100644
--- a/examples/debugmarker/debugmarker.cpp
+++ b/examples/debugmarker/debugmarker.cpp
@@ -8,7 +8,7 @@
/*
* Note: This sample is deprecated!
- * An updated version using VK_EXT_debug_utils along with an in-depth tutorial is available in the pfficial Khronos Vulkan Samples repository at
+ * An updated version using VK_EXT_debug_utils along with an in-depth tutorial is available in the pfficial Khronos Vulkan Samples repository at
* https://github.com/KhronosGroup/Vulkan-Samples/blob/master/samples/extensions/debug_utils.
*/
@@ -246,7 +246,7 @@ public:
camera.setPerspective(60.0f, (float)width / (float)height, 0.1f, 256.0f);
}
- // Enable physical device features required for this example
+ // Enable physical device features required for this example
virtual void getEnabledFeatures()
{
// Fill mode non solid is required for wireframe display
@@ -258,7 +258,7 @@ public:
~VulkanExample()
{
- // Clean up used Vulkan resources
+ // Clean up used Vulkan resources
// Note : Inherited destructor cleans up resources stored in base class
vkDestroyPipeline(device, pipelines.toonshading, nullptr);
vkDestroyPipeline(device, pipelines.color, nullptr);
@@ -270,7 +270,7 @@ public:
vkDestroyPipelineLayout(device, pipelineLayout, nullptr);
vkDestroyDescriptorSetLayout(device, descriptorSetLayout, nullptr);
- // Destroy and free mesh resources
+ // Destroy and free mesh resources
scene.model.destroy();
sceneGlow.model.destroy();
@@ -454,7 +454,7 @@ public:
VK_CHECK_RESULT(vkCreateFramebuffer(device, &fbufCreateInfo, nullptr, &offscreenPass.frameBuffer));
- // Fill a descriptor for later use in a descriptor set
+ // Fill a descriptor for later use in a descriptor set
offscreenPass.descriptor.imageLayout = VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL;
offscreenPass.descriptor.imageView = offscreenPass.color.view;
offscreenPass.descriptor.sampler = offscreenPass.sampler;
@@ -503,7 +503,7 @@ public:
/*
First render pass: Offscreen rendering
*/
- if (glow)
+ if (glow)
{
VkClearValue clearValues[2];
clearValues[0].color = { { 0.0f, 0.0f, 0.0f, 0.0f } };
@@ -519,7 +519,7 @@ public:
// Start a new debug marker region
DebugMarker::beginRegion(drawCmdBuffers[i], "Off-screen scene rendering", glm::vec4(1.0f, 0.78f, 0.05f, 1.0f));
-
+
vkCmdBeginRenderPass(drawCmdBuffers[i], &renderPassBeginInfo, VK_SUBPASS_CONTENTS_INLINE);
VkViewport viewport = vks::initializers::viewport((float)offscreenPass.width, (float)offscreenPass.height, 0.0f, 1.0f);
@@ -616,7 +616,7 @@ public:
vkCmdEndRenderPass(drawCmdBuffers[i]);
// End current debug marker region
- DebugMarker::endRegion(drawCmdBuffers[i]);
+ DebugMarker::endRegion(drawCmdBuffers[i]);
}
@@ -663,7 +663,7 @@ public:
std::vector writeDescriptorSets = {
// Binding 0 : Vertex shader uniform buffer
vks::initializers::writeDescriptorSet(descriptorSets.scene, VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, 0, &uniformBuffer.descriptor),
- // Binding 1 : Color map
+ // Binding 1 : Color map
vks::initializers::writeDescriptorSet(descriptorSets.scene, VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, 1, &offscreenPass.descriptor)
};
vkUpdateDescriptorSets(device, writeDescriptorSets.size(), writeDescriptorSets.data(), 0, NULL);
@@ -701,10 +701,10 @@ public:
// Attribute descriptions
// Describes memory layout and shader positions
std::vector vertexInputAttributes = {
- { 0, 0, VK_FORMAT_R32G32B32_SFLOAT, 0 }, // Location 0: Position
- { 1, 0, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 3 }, // Location 1: Normal
- { 2, 0, VK_FORMAT_R32G32_SFLOAT, sizeof(float) * 6 }, // Location 2: Texture coordinates
- { 3, 0, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 8 }, // Location 3: Color
+ { 0, 0, VK_FORMAT_R32G32B32_SFLOAT, 0 }, // Location 0: Position
+ { 1, 0, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 3 }, // Location 1: Normal
+ { 2, 0, VK_FORMAT_R32G32_SFLOAT, sizeof(float) * 6 }, // Location 2: Texture coordinates
+ { 3, 0, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 8 }, // Location 3: Color
};
VkPipelineVertexInputStateCreateInfo vertexInputState = vks::initializers::pipelineVertexInputStateCreateInfo();
@@ -716,13 +716,13 @@ public:
pipelineCI.pVertexInputState = &vertexInputState;
// Toon shading pipeline
- shaderStages[0] = loadShader(getAssetPath() + "shaders/debugmarker/toon.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/debugmarker/toon.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "debugmarker/toon.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "debugmarker/toon.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCI, nullptr, &pipelines.toonshading));
// Color only pipeline
- shaderStages[0] = loadShader(getAssetPath() + "shaders/debugmarker/colorpass.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/debugmarker/colorpass.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "debugmarker/colorpass.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "debugmarker/colorpass.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
pipelineCI.renderPass = offscreenPass.renderPass;
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCI, nullptr, &pipelines.color));
@@ -735,8 +735,8 @@ public:
}
// Post processing effect
- shaderStages[0] = loadShader(getAssetPath() + "shaders/debugmarker/postprocess.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/debugmarker/postprocess.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "debugmarker/postprocess.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "debugmarker/postprocess.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
depthStencilStateCI.depthTestEnable = VK_FALSE;
depthStencilStateCI.depthWriteEnable = VK_FALSE;
rasterizationStateCI.polygonMode = VK_POLYGON_MODE_FILL;
diff --git a/examples/deferred/deferred.cpp b/examples/deferred/deferred.cpp
index f004067c..715ba7d3 100644
--- a/examples/deferred/deferred.cpp
+++ b/examples/deferred/deferred.cpp
@@ -101,7 +101,7 @@ public:
} pipelines;
struct {
- VkPipelineLayout deferred;
+ VkPipelineLayout deferred;
VkPipelineLayout offscreen;
} pipelineLayouts;
@@ -122,12 +122,12 @@ public:
};
struct FrameBuffer {
int32_t width, height;
- VkFramebuffer frameBuffer;
+ VkFramebuffer frameBuffer;
FrameBufferAttachment position, normal, albedo;
FrameBufferAttachment depth;
VkRenderPass renderPass;
} offScreenFrameBuf;
-
+
// One sampler for the frame buffer color attachments
VkSampler colorSampler;
@@ -152,7 +152,7 @@ public:
~VulkanExample()
{
- // Clean up used Vulkan resources
+ // Clean up used Vulkan resources
// Note : Inherited destructor cleans up resources stored in base class
vkDestroySampler(device, colorSampler, nullptr);
@@ -210,14 +210,14 @@ public:
vkDestroySemaphore(device, offscreenSemaphore, nullptr);
}
- // Enable physical device features required for this example
+ // Enable physical device features required for this example
virtual void getEnabledFeatures()
{
// Enable anisotropic filtering if supported
if (deviceFeatures.samplerAnisotropy) {
enabledFeatures.samplerAnisotropy = VK_TRUE;
}
- // Enable texture compression
+ // Enable texture compression
if (deviceFeatures.textureCompressionBC) {
enabledFeatures.textureCompressionBC = VK_TRUE;
}
@@ -231,7 +231,7 @@ public:
// Create a frame buffer attachment
void createAttachment(
- VkFormat format,
+ VkFormat format,
VkImageUsageFlagBits usage,
FrameBufferAttachment *attachment)
{
@@ -274,7 +274,7 @@ public:
memAlloc.memoryTypeIndex = vulkanDevice->getMemoryType(memReqs.memoryTypeBits, VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT);
VK_CHECK_RESULT(vkAllocateMemory(device, &memAlloc, nullptr, &attachment->mem));
VK_CHECK_RESULT(vkBindImageMemory(device, attachment->image, attachment->mem, 0));
-
+
VkImageViewCreateInfo imageView = vks::initializers::imageViewCreateInfo();
imageView.viewType = VK_IMAGE_VIEW_TYPE_2D;
imageView.format = format;
@@ -381,8 +381,8 @@ public:
dependencies[0].dstAccessMask = VK_ACCESS_COLOR_ATTACHMENT_READ_BIT | VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT;
dependencies[0].dependencyFlags = VK_DEPENDENCY_BY_REGION_BIT;
- dependencies[1].srcSubpass = 0;
- dependencies[1].dstSubpass = VK_SUBPASS_EXTERNAL;
+ dependencies[1].srcSubpass = 0;
+ dependencies[1].dstSubpass = VK_SUBPASS_EXTERNAL;
dependencies[1].srcStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT;
dependencies[1].dstStageMask = VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT;
dependencies[1].srcAccessMask = VK_ACCESS_COLOR_ATTACHMENT_READ_BIT | VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT;
@@ -397,9 +397,9 @@ public:
renderPassInfo.pSubpasses = &subpass;
renderPassInfo.dependencyCount = 2;
renderPassInfo.pDependencies = dependencies.data();
-
+
VK_CHECK_RESULT(vkCreateRenderPass(device, &renderPassInfo, nullptr, &offScreenFrameBuf.renderPass));
-
+
std::array attachments;
attachments[0] = offScreenFrameBuf.position.view;
attachments[1] = offScreenFrameBuf.normal.view;
@@ -595,7 +595,7 @@ public:
void generateQuads()
{
// Setup vertices for multiple screen aligned quads
- // Used for displaying final result and debug
+ // Used for displaying final result and debug
struct Vertex {
float pos[3];
float uv[2];
@@ -847,7 +847,7 @@ public:
// Model
VK_CHECK_RESULT(vkAllocateDescriptorSets(device, &allocInfo, &descriptorSets.model));
- writeDescriptorSets =
+ writeDescriptorSets =
{
// Binding 0: Vertex shader uniform buffer
vks::initializers::writeDescriptorSet(
@@ -923,7 +923,7 @@ public:
VkPipelineDepthStencilStateCreateInfo depthStencilState =
vks::initializers::pipelineDepthStencilStateCreateInfo(
- VK_TRUE,
+ VK_TRUE,
VK_TRUE,
VK_COMPARE_OP_LESS_OR_EQUAL);
@@ -964,8 +964,8 @@ public:
pipelineCreateInfo.pStages = shaderStages.data();
// Final fullscreen composition pass pipeline
- shaderStages[0] = loadShader(getAssetPath() + "shaders/deferred/deferred.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/deferred/deferred.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "deferred/deferred.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "deferred/deferred.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
// Empty vertex input state, quads are generated by the vertex shader
VkPipelineVertexInputStateCreateInfo emptyInputState = vks::initializers::pipelineVertexInputStateCreateInfo();
pipelineCreateInfo.pVertexInputState = &emptyInputState;
@@ -974,13 +974,13 @@ public:
// Debug display pipeline
pipelineCreateInfo.pVertexInputState = &vertices.inputState;
- shaderStages[0] = loadShader(getAssetPath() + "shaders/deferred/debug.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/deferred/debug.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "deferred/debug.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "deferred/debug.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCreateInfo, nullptr, &pipelines.debug));
-
+
// Offscreen pipeline
- shaderStages[0] = loadShader(getAssetPath() + "shaders/deferred/mrt.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/deferred/mrt.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "deferred/mrt.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "deferred/mrt.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
// Separate render pass
pipelineCreateInfo.renderPass = offScreenFrameBuf.renderPass;
@@ -1048,7 +1048,7 @@ public:
if (debugDisplay)
{
uboVS.projection = glm::ortho(0.0f, 2.0f, 0.0f, 2.0f, -1.0f, 1.0f);
- }
+ }
else
{
uboVS.projection = glm::ortho(0.0f, 1.0f, 0.0f, 1.0f, -1.0f, 1.0f);
@@ -1121,7 +1121,7 @@ public:
VulkanExampleBase::prepareFrame();
// The scene render command buffer has to wait for the offscreen
- // rendering to be finished before we can use the framebuffer
+ // rendering to be finished before we can use the framebuffer
// color image for sampling during final rendering
// To ensure this we use a dedicated offscreen synchronization
// semaphore that will be signaled when offscreen renderin
@@ -1170,7 +1170,7 @@ public:
setupDescriptorPool();
setupDescriptorSet();
buildCommandBuffers();
- buildDeferredCommandBuffer();
+ buildDeferredCommandBuffer();
prepared = true;
}
diff --git a/examples/deferredmultisampling/deferredmultisampling.cpp b/examples/deferredmultisampling/deferredmultisampling.cpp
index 17efd146..97bb3940 100644
--- a/examples/deferredmultisampling/deferredmultisampling.cpp
+++ b/examples/deferredmultisampling/deferredmultisampling.cpp
@@ -100,7 +100,7 @@ public:
} pipelines;
struct {
- VkPipelineLayout deferred;
+ VkPipelineLayout deferred;
VkPipelineLayout offscreen;
} pipelineLayouts;
@@ -121,12 +121,12 @@ public:
};
struct FrameBuffer {
int32_t width, height;
- VkFramebuffer frameBuffer;
+ VkFramebuffer frameBuffer;
FrameBufferAttachment position, normal, albedo;
FrameBufferAttachment depth;
VkRenderPass renderPass;
} offScreenFrameBuf;
-
+
// One sampler for the frame buffer color attachments
VkSampler colorSampler;
@@ -152,7 +152,7 @@ public:
~VulkanExample()
{
- // Clean up used Vulkan resources
+ // Clean up used Vulkan resources
// Note : Inherited destructor cleans up resources stored in base class
vkDestroySampler(device, colorSampler, nullptr);
@@ -211,7 +211,7 @@ public:
vkDestroySemaphore(device, offscreenSemaphore, nullptr);
}
- // Enable physical device features required for this example
+ // Enable physical device features required for this example
virtual void getEnabledFeatures()
{
// Enable sample rate shading filtering if supported
@@ -222,7 +222,7 @@ public:
if (deviceFeatures.samplerAnisotropy) {
enabledFeatures.samplerAnisotropy = VK_TRUE;
}
- // Enable texture compression
+ // Enable texture compression
if (deviceFeatures.textureCompressionBC) {
enabledFeatures.textureCompressionBC = VK_TRUE;
}
@@ -236,7 +236,7 @@ public:
// Create a frame buffer attachment
void createAttachment(
- VkFormat format,
+ VkFormat format,
VkImageUsageFlagBits usage,
FrameBufferAttachment *attachment)
{
@@ -279,7 +279,7 @@ public:
memAlloc.memoryTypeIndex = vulkanDevice->getMemoryType(memReqs.memoryTypeBits, VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT);
VK_CHECK_RESULT(vkAllocateMemory(device, &memAlloc, nullptr, &attachment->mem));
VK_CHECK_RESULT(vkBindImageMemory(device, attachment->image, attachment->mem, 0));
-
+
VkImageViewCreateInfo imageView = vks::initializers::imageViewCreateInfo();
imageView.viewType = VK_IMAGE_VIEW_TYPE_2D;
imageView.format = format;
@@ -393,8 +393,8 @@ public:
dependencies[0].dstAccessMask = VK_ACCESS_COLOR_ATTACHMENT_READ_BIT | VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT;
dependencies[0].dependencyFlags = VK_DEPENDENCY_BY_REGION_BIT;
- dependencies[1].srcSubpass = 0;
- dependencies[1].dstSubpass = VK_SUBPASS_EXTERNAL;
+ dependencies[1].srcSubpass = 0;
+ dependencies[1].dstSubpass = VK_SUBPASS_EXTERNAL;
dependencies[1].srcStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT;
dependencies[1].dstStageMask = VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT;
dependencies[1].srcAccessMask = VK_ACCESS_COLOR_ATTACHMENT_READ_BIT | VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT;
@@ -409,9 +409,9 @@ public:
renderPassInfo.pSubpasses = &subpass;
renderPassInfo.dependencyCount = 2;
renderPassInfo.pDependencies = dependencies.data();
-
+
VK_CHECK_RESULT(vkCreateRenderPass(device, &renderPassInfo, nullptr, &offScreenFrameBuf.renderPass));
-
+
std::array attachments;
attachments[0] = offScreenFrameBuf.position.view;
attachments[1] = offScreenFrameBuf.normal.view;
@@ -795,7 +795,7 @@ public:
// Model
VK_CHECK_RESULT(vkAllocateDescriptorSets(device, &allocInfo, &descriptorSets.model));
- writeDescriptorSets =
+ writeDescriptorSets =
{
// Binding 0: Vertex shader uniform buffer
vks::initializers::writeDescriptorSet(
@@ -871,7 +871,7 @@ public:
VkPipelineDepthStencilStateCreateInfo depthStencilState =
vks::initializers::pipelineDepthStencilStateCreateInfo(
- VK_TRUE,
+ VK_TRUE,
VK_TRUE,
VK_COMPARE_OP_LESS_OR_EQUAL);
@@ -924,7 +924,7 @@ public:
specializationEntry.constantID = 0;
specializationEntry.offset = 0;
specializationEntry.size = sizeof(uint32_t);
-
+
uint32_t specializationData = sampleCount;
VkSpecializationInfo specializationInfo;
@@ -934,8 +934,8 @@ public:
specializationInfo.pData = &specializationData;
// With MSAA
- shaderStages[0] = loadShader(getAssetPath() + "shaders/deferredmultisampling/deferred.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/deferredmultisampling/deferred.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "deferredmultisampling/deferred.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "deferredmultisampling/deferred.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
shaderStages[1].pSpecializationInfo = &specializationInfo;
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCreateInfo, nullptr, &pipelines.deferred));
@@ -945,16 +945,16 @@ public:
// Debug display pipeline
specializationData = sampleCount;
- shaderStages[0] = loadShader(getAssetPath() + "shaders/deferredmultisampling/debug.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/deferredmultisampling/debug.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "deferredmultisampling/debug.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "deferredmultisampling/debug.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
shaderStages[1].pSpecializationInfo = &specializationInfo;
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCreateInfo, nullptr, &pipelines.debug));
-
+
// Offscreen scene rendering pipeline
pipelineCreateInfo.pVertexInputState = &vertices.inputState;
- shaderStages[0] = loadShader(getAssetPath() + "shaders/deferredmultisampling/mrt.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/deferredmultisampling/mrt.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "deferredmultisampling/mrt.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "deferredmultisampling/mrt.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
//rasterizationState.polygonMode = VK_POLYGON_MODE_LINE;
//rasterizationState.lineWidth = 2.0f;
@@ -1031,7 +1031,7 @@ public:
if (debugDisplay)
{
uboVS.projection = glm::ortho(0.0f, 2.0f, 0.0f, 2.0f, -1.0f, 1.0f);
- }
+ }
else
{
uboVS.projection = glm::ortho(0.0f, 1.0f, 0.0f, 1.0f, -1.0f, 1.0f);
@@ -1141,7 +1141,7 @@ public:
setupDescriptorPool();
setupDescriptorSet();
buildCommandBuffers();
- buildDeferredCommandBuffer();
+ buildDeferredCommandBuffer();
prepared = true;
}
diff --git a/examples/deferredshadows/deferredshadows.cpp b/examples/deferredshadows/deferredshadows.cpp
index ca330bac..0be15577 100644
--- a/examples/deferredshadows/deferredshadows.cpp
+++ b/examples/deferredshadows/deferredshadows.cpp
@@ -39,7 +39,7 @@
#if defined(__ANDROID__)
// Use max. screen dimension as deferred framebuffer size
-#define FB_DIM std::max(width,height)
+#define FB_DIM std::max(width,height)
#else
#define FB_DIM 2048
#endif
@@ -73,7 +73,7 @@ public:
vks::Texture2D normalMap;
} background;
} textures;
-
+
// Vertex layout for the models
vks::VertexLayout vertexLayout = vks::VertexLayout({
vks::VERTEX_COMPONENT_POSITION,
@@ -230,7 +230,7 @@ public:
vkDestroySemaphore(device, offscreenSemaphore, nullptr);
}
- // Enable physical device features required for this example
+ // Enable physical device features required for this example
virtual void getEnabledFeatures()
{
// Geometry shader support is required for writing to multiple shadow map layers in one single pass
@@ -244,7 +244,7 @@ public:
if (deviceFeatures.samplerAnisotropy) {
enabledFeatures.samplerAnisotropy = VK_TRUE;
}
- // Enable texture compression
+ // Enable texture compression
if (deviceFeatures.textureCompressionBC) {
enabledFeatures.textureCompressionBC = VK_TRUE;
}
@@ -258,7 +258,7 @@ public:
// Prepare a layered shadow map with each layer containing depth from a light's point of view
// The shadow mapping pass uses geometry shader instancing to output the scene from the different
- // light sources' point of view to the layers of the depth attachment in one single pass
+ // light sources' point of view to the layers of the depth attachment in one single pass
void shadowSetup()
{
frameBuffers.shadow = new vks::Framebuffer(vulkanDevice);
@@ -278,7 +278,7 @@ public:
attachmentInfo.usage = VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT | VK_IMAGE_USAGE_SAMPLED_BIT;
frameBuffers.shadow->addAttachment(attachmentInfo);
- // Create sampler to sample from to depth attachment
+ // Create sampler to sample from to depth attachment
// Used to sample in the fragment shader for shadowed rendering
VK_CHECK_RESULT(frameBuffers.shadow->createSampler(VK_FILTER_LINEAR, VK_FILTER_LINEAR, VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE));
@@ -370,7 +370,7 @@ public:
// First pass: Shadow map generation
// -------------------------------------------------------------------------------------------------------
-
+
clearValues[0].depthStencil = { 1.0f, 0 };
renderPassBeginInfo.renderPass = frameBuffers.shadow->renderPass;
@@ -897,8 +897,8 @@ public:
// Final fullscreen pass pipeline
std::array shaderStages;
- shaderStages[0] = loadShader(getAssetPath() + "shaders/deferredshadows/deferred.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/deferredshadows/deferred.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "deferredshadows/deferred.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "deferredshadows/deferred.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
VkGraphicsPipelineCreateInfo pipelineCreateInfo =
vks::initializers::pipelineCreateInfo(
@@ -920,13 +920,13 @@ public:
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCreateInfo, nullptr, &pipelines.deferred));
// Debug display pipeline
- shaderStages[0] = loadShader(getAssetPath() + "shaders/deferredshadows/debug.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/deferredshadows/debug.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "deferredshadows/debug.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "deferredshadows/debug.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCreateInfo, nullptr, &pipelines.debug));
// Offscreen pipeline
- shaderStages[0] = loadShader(getAssetPath() + "shaders/deferredshadows/mrt.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/deferredshadows/mrt.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "deferredshadows/mrt.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "deferredshadows/mrt.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
// Separate render pass
pipelineCreateInfo.renderPass = frameBuffers.deferred->renderPass;
@@ -950,15 +950,15 @@ public:
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCreateInfo, nullptr, &pipelines.offscreen));
// Shadow mapping pipeline
- // The shadow mapping pipeline uses geometry shader instancing (invocations layout modifier) to output
+ // The shadow mapping pipeline uses geometry shader instancing (invocations layout modifier) to output
// shadow maps for multiple lights sources into the different shadow map layers in one single render pass
std::array shadowStages;
- shadowStages[0] = loadShader(getAssetPath() + "shaders/deferredshadows/shadow.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shadowStages[1] = loadShader(getAssetPath() + "shaders/deferredshadows/shadow.geom.spv", VK_SHADER_STAGE_GEOMETRY_BIT);
+ shadowStages[0] = loadShader(getShadersPath() + "deferredshadows/shadow.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shadowStages[1] = loadShader(getShadersPath() + "deferredshadows/shadow.geom.spv", VK_SHADER_STAGE_GEOMETRY_BIT);
pipelineCreateInfo.pStages = shadowStages.data();
pipelineCreateInfo.stageCount = static_cast(shadowStages.size());
-
+
// Shadow pass doesn't use any color attachments
colorBlendState.attachmentCount = 0;
colorBlendState.pAttachments = nullptr;
@@ -1093,7 +1093,7 @@ public:
memcpy(uniformBuffers.uboShadowGS.mapped, &uboShadowGS, sizeof(uboShadowGS));
uboFragmentLights.viewPos = glm::vec4(camera.position, 0.0f) * glm::vec4(-1.0f, 1.0f, -1.0f, 1.0f);;
-
+
memcpy(uniformBuffers.fsLights.mapped, &uboFragmentLights, sizeof(uboFragmentLights));
}
diff --git a/examples/descriptorindexing/descriptorindexing.cpp b/examples/descriptorindexing/descriptorindexing.cpp
index ced9f15a..8cc5a916 100644
--- a/examples/descriptorindexing/descriptorindexing.cpp
+++ b/examples/descriptorindexing/descriptorindexing.cpp
@@ -12,7 +12,7 @@
#include
#include
#include
-#include
+#include
#include
#include
@@ -69,7 +69,7 @@ public:
camera.setPosition(glm::vec3(0.0f, 0.0f, -7.5f));
camera.setRotation(glm::vec3(-35.0f, 0.0f, 0.0f));
camera.setPerspective(45.0f, (float)width / (float)height, 0.1f, 256.0f);
-
+
/*
[POI] Enable required extensions
*/
@@ -182,7 +182,7 @@ public:
{ { scale, scale, -scale }, { 1.0f, 0.0f }, faceTextureIndex[1] },
{ { scale, -scale, -scale }, { 1.0f, 1.0f }, faceTextureIndex[1] },
{ { scale, -scale, scale }, { 0.0f, 1.0f }, faceTextureIndex[1] },
-
+
{ { -scale, -scale, -scale }, { 0.0f, 0.0f }, faceTextureIndex[2] },
{ { scale, -scale, -scale }, { 1.0f, 0.0f }, faceTextureIndex[2] },
{ { scale, scale, -scale }, { 1.0f, 1.0f }, faceTextureIndex[2] },
@@ -192,7 +192,7 @@ public:
{ { -scale, -scale, scale }, { 1.0f, 0.0f }, faceTextureIndex[3] },
{ { -scale, scale, scale }, { 1.0f, 1.0f }, faceTextureIndex[3] },
{ { -scale, scale, -scale }, { 0.0f, 1.0f }, faceTextureIndex[3] },
-
+
{ { scale, scale, scale }, { 0.0f, 0.0f }, faceTextureIndex[4] },
{ { -scale, scale, scale }, { 1.0f, 0.0f }, faceTextureIndex[4] },
{ { -scale, scale, -scale }, { 1.0f, 1.0f }, faceTextureIndex[4] },
@@ -262,8 +262,8 @@ public:
// Binding 0 : Vertex shader uniform buffer
vks::initializers::descriptorSetLayoutBinding(VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, VK_SHADER_STAGE_VERTEX_BIT, 0),
/*
- [POI]
-
+ [POI]
+
Binding 1 contains a texture array that is dynamically non-uniform sampled from
FS:
@@ -273,8 +273,8 @@ public:
};
/*
- [POI]
-
+ [POI]
+
The fragment shader will be using an unsized array, which has to be marked with a certain flag
FS:
@@ -284,7 +284,7 @@ public:
setLayoutBindingFlags.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT;
setLayoutBindingFlags.bindingCount = 2;
std::vector descriptorBindingFlags = {
- 0,
+ 0,
VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT
};
setLayoutBindingFlags.pBindingFlags = descriptorBindingFlags.data();
@@ -351,7 +351,7 @@ public:
VkPipelineInputAssemblyStateCreateInfo inputAssemblyStateCI = vks::initializers::pipelineInputAssemblyStateCreateInfo(VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST, 0, VK_FALSE);
VkPipelineRasterizationStateCreateInfo rasterizationStateCI = vks::initializers::pipelineRasterizationStateCreateInfo(VK_POLYGON_MODE_FILL, VK_CULL_MODE_NONE, VK_FRONT_FACE_COUNTER_CLOCKWISE, 0);
- VkPipelineColorBlendAttachmentState blendAttachmentState = vks::initializers::pipelineColorBlendAttachmentState(0xf, VK_FALSE);
+ VkPipelineColorBlendAttachmentState blendAttachmentState = vks::initializers::pipelineColorBlendAttachmentState(0xf, VK_FALSE);
VkPipelineColorBlendStateCreateInfo colorBlendStateCI = vks::initializers::pipelineColorBlendStateCreateInfo(1, &blendAttachmentState);
VkPipelineDepthStencilStateCreateInfo depthStencilStateCI = vks::initializers::pipelineDepthStencilStateCreateInfo(VK_TRUE, VK_TRUE, VK_COMPARE_OP_LESS_OR_EQUAL);
VkPipelineViewportStateCreateInfo viewportStateCI = vks::initializers::pipelineViewportStateCreateInfo(1, 1, 0);
@@ -375,8 +375,8 @@ public:
// Instacing pipeline
std::array shaderStages;
- shaderStages[0] = loadShader(getAssetPath() + "shaders/descriptorindexing/descriptorindexing.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/descriptorindexing/descriptorindexing.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "descriptorindexing/descriptorindexing.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "descriptorindexing/descriptorindexing.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
VkGraphicsPipelineCreateInfo pipelineCI = vks::initializers::pipelineCreateInfo(pipelineLayout, renderPass, 0);
pipelineCI.pVertexInputState = &vertexInputStateCI;
diff --git a/examples/descriptorsets/descriptorsets.cpp b/examples/descriptorsets/descriptorsets.cpp
index 12ce4985..e6f4d6a9 100644
--- a/examples/descriptorsets/descriptorsets.cpp
+++ b/examples/descriptorsets/descriptorsets.cpp
@@ -55,7 +55,7 @@ public:
struct Models {
vks::Model cube;
} models;
-
+
VkPipeline pipeline;
VkPipelineLayout pipelineLayout;
@@ -126,7 +126,7 @@ public:
vkCmdBindVertexBuffers(drawCmdBuffers[i], 0, 1, &models.cube.vertices.buffer, offsets);
vkCmdBindIndexBuffer(drawCmdBuffers[i], models.cube.indices.buffer, 0, VK_INDEX_TYPE_UINT32);
- /*
+ /*
[POI] Render cubes with separate descriptor sets
*/
for (auto cube : cubes) {
@@ -158,7 +158,7 @@ public:
/*
Descriptor set layout
-
+
The layout describes the shader bindings and types used for a certain descriptor layout and as such must match the shader bindings
Shader bindings used in this example:
@@ -185,7 +185,7 @@ public:
setLayoutBindings[0].descriptorCount = 1;
/*
- Binding 1: Combined image sampler (used to pass per object texture information)
+ Binding 1: Combined image sampler (used to pass per object texture information)
*/
setLayoutBindings[1].descriptorType = VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER;
setLayoutBindings[1].binding = 1;
@@ -198,7 +198,7 @@ public:
descriptorLayoutCI.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
descriptorLayoutCI.bindingCount = static_cast(setLayoutBindings.size());
descriptorLayoutCI.pBindings = setLayoutBindings.data();
-
+
VK_CHECK_RESULT(vkCreateDescriptorSetLayout(device, &descriptorLayoutCI, nullptr, &descriptorSetLayout));
/*
@@ -232,7 +232,7 @@ public:
descriptorPoolCI.pPoolSizes = descriptorPoolSizes.data();
// Max. number of descriptor sets that can be allocted from this pool (one per object)
descriptorPoolCI.maxSets = static_cast(cubes.size());
-
+
VK_CHECK_RESULT(vkCreateDescriptorPool(device, &descriptorPoolCI, nullptr, &descriptorPool));
/*
@@ -293,7 +293,7 @@ public:
void preparePipelines()
{
/*
- [POI] Create a pipeline layout used for our graphics pipeline
+ [POI] Create a pipeline layout used for our graphics pipeline
*/
VkPipelineLayoutCreateInfo pipelineLayoutCI{};
pipelineLayoutCI.sType = VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO;
@@ -318,7 +318,7 @@ public:
vks::initializers::vertexInputBindingDescription(0, vertexLayout.stride(), VK_VERTEX_INPUT_RATE_VERTEX),
};
const std::vector vertexInputAttributes = {
- vks::initializers::vertexInputAttributeDescription(0, 0, VK_FORMAT_R32G32B32_SFLOAT, 0), // Location 0: Position
+ vks::initializers::vertexInputAttributeDescription(0, 0, VK_FORMAT_R32G32B32_SFLOAT, 0), // Location 0: Position
vks::initializers::vertexInputAttributeDescription(0, 1, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 3), // Location 1: Normal
vks::initializers::vertexInputAttributeDescription(0, 2, VK_FORMAT_R32G32_SFLOAT, sizeof(float) * 6), // Location 2: UV
vks::initializers::vertexInputAttributeDescription(0, 3, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 8), // Location 3: Color
@@ -340,8 +340,8 @@ public:
pipelineCreateInfoCI.pDynamicState = &dynamicStateCI;
const std::array shaderStages = {
- loadShader(getAssetPath() + "shaders/descriptorsets/cube.vert.spv", VK_SHADER_STAGE_VERTEX_BIT),
- loadShader(getAssetPath() + "shaders/descriptorsets/cube.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT)
+ loadShader(getShadersPath() + "descriptorsets/cube.vert.spv", VK_SHADER_STAGE_VERTEX_BIT),
+ loadShader(getShadersPath() + "descriptorsets/cube.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT)
};
pipelineCreateInfoCI.stageCount = static_cast(shaderStages.size());
diff --git a/examples/displacement/displacement.cpp b/examples/displacement/displacement.cpp
index d042a9c5..5280baaa 100644
--- a/examples/displacement/displacement.cpp
+++ b/examples/displacement/displacement.cpp
@@ -90,7 +90,7 @@ public:
~VulkanExample()
{
- // Clean up used Vulkan resources
+ // Clean up used Vulkan resources
// Note : Inherited destructor cleans up resources stored in base class
vkDestroyPipeline(device, pipelines.solid, nullptr);
if (pipelines.wireframe != VK_NULL_HANDLE) {
@@ -106,7 +106,7 @@ public:
textures.colorHeightMap.destroy();
}
- // Enable physical device features required for this example
+ // Enable physical device features required for this example
virtual void getEnabledFeatures()
{
// Tessellation shader support is required for this example
@@ -284,13 +284,13 @@ public:
{
// Binding 0 : Tessellation control shader ubo
vks::initializers::descriptorSetLayoutBinding(
- VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER,
- VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT,
+ VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER,
+ VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT,
0),
// Binding 1 : Tessellation evaluation shader ubo
vks::initializers::descriptorSetLayoutBinding(
VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER,
- VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT,
+ VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT,
1),
// Binding 2 : Combined color (rgb) and height (alpha) map
vks::initializers::descriptorSetLayoutBinding(
@@ -386,10 +386,10 @@ public:
// Tessellation pipeline
// Load shaders
std::array shaderStages;
- shaderStages[0] = loadShader(getAssetPath() + "shaders/displacement/base.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/displacement/base.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
- shaderStages[2] = loadShader(getAssetPath() + "shaders/displacement/displacement.tesc.spv", VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT);
- shaderStages[3] = loadShader(getAssetPath() + "shaders/displacement/displacement.tese.spv", VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "displacement/base.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "displacement/base.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[2] = loadShader(getShadersPath() + "displacement/displacement.tesc.spv", VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT);
+ shaderStages[3] = loadShader(getShadersPath() + "displacement/displacement.tese.spv", VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT);
VkGraphicsPipelineCreateInfo pipelineCreateInfo =
vks::initializers::pipelineCreateInfo(
diff --git a/examples/distancefieldfonts/distancefieldfonts.cpp b/examples/distancefieldfonts/distancefieldfonts.cpp
index 0896ef8f..ffe9bdbf 100644
--- a/examples/distancefieldfonts/distancefieldfonts.cpp
+++ b/examples/distancefieldfonts/distancefieldfonts.cpp
@@ -121,7 +121,7 @@ public:
~VulkanExample()
{
- // Clean up used Vulkan resources
+ // Clean up used Vulkan resources
// Note : Inherited destructor cleans up resources stored in base class
// Clean up texture resources
@@ -342,8 +342,8 @@ public:
vertices.bindingDescriptions.resize(1);
vertices.bindingDescriptions[0] =
vks::initializers::vertexInputBindingDescription(
- VERTEX_BUFFER_BIND_ID,
- sizeof(Vertex),
+ VERTEX_BUFFER_BIND_ID,
+ sizeof(Vertex),
VK_VERTEX_INPUT_RATE_VERTEX);
// Attribute descriptions
@@ -355,7 +355,7 @@ public:
VERTEX_BUFFER_BIND_ID,
0,
VK_FORMAT_R32G32B32_SFLOAT,
- 0);
+ 0);
// Location 1 : Texture coordinates
vertices.attributeDescriptions[1] =
vks::initializers::vertexInputAttributeDescription(
@@ -379,7 +379,7 @@ public:
vks::initializers::descriptorPoolSize(VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, 2)
};
- VkDescriptorPoolCreateInfo descriptorPoolInfo =
+ VkDescriptorPoolCreateInfo descriptorPoolInfo =
vks::initializers::descriptorPoolCreateInfo(
poolSizes.size(),
poolSizes.data(),
@@ -391,17 +391,17 @@ public:
void setupDescriptorSetLayout()
{
- std::vector setLayoutBindings =
+ std::vector setLayoutBindings =
{
// Binding 0 : Vertex shader uniform buffer
vks::initializers::descriptorSetLayoutBinding(
- VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER,
- VK_SHADER_STAGE_VERTEX_BIT,
+ VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER,
+ VK_SHADER_STAGE_VERTEX_BIT,
0),
// Binding 1 : Fragment shader image sampler
vks::initializers::descriptorSetLayoutBinding(
- VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,
- VK_SHADER_STAGE_FRAGMENT_BIT,
+ VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,
+ VK_SHADER_STAGE_FRAGMENT_BIT,
1),
// Binding 2 : Fragment shader uniform buffer
vks::initializers::descriptorSetLayoutBinding(
@@ -410,7 +410,7 @@ public:
2)
};
- VkDescriptorSetLayoutCreateInfo descriptorLayout =
+ VkDescriptorSetLayoutCreateInfo descriptorLayout =
vks::initializers::descriptorSetLayoutCreateInfo(
setLayoutBindings.data(),
setLayoutBindings.size());
@@ -427,7 +427,7 @@ public:
void setupDescriptorSet()
{
- VkDescriptorSetAllocateInfo allocInfo =
+ VkDescriptorSetAllocateInfo allocInfo =
vks::initializers::descriptorSetAllocateInfo(
descriptorPool,
&descriptorSetLayout,
@@ -448,14 +448,14 @@ public:
// Binding 0 : Vertex shader uniform buffer
vks::initializers::writeDescriptorSet(
descriptorSets.sdf,
- VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER,
- 0,
+ VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER,
+ 0,
&uniformBuffers.vs.descriptor),
// Binding 1 : Fragment shader texture sampler
vks::initializers::writeDescriptorSet(
descriptorSets.sdf,
- VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,
- 1,
+ VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,
+ 1,
&texDescriptor),
// Binding 2 : Fragment shader uniform buffer
vks::initializers::writeDescriptorSet(
@@ -524,7 +524,7 @@ public:
VkPipelineColorBlendStateCreateInfo colorBlendState =
vks::initializers::pipelineColorBlendStateCreateInfo(
- 1,
+ 1,
&blendAttachmentState);
VkPipelineDepthStencilStateCreateInfo depthStencilState =
@@ -554,8 +554,8 @@ public:
// Load shaders
std::array shaderStages;
- shaderStages[0] = loadShader(getAssetPath() + "shaders/distancefieldfonts/sdf.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/distancefieldfonts/sdf.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "distancefieldfonts/sdf.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "distancefieldfonts/sdf.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
VkGraphicsPipelineCreateInfo pipelineCreateInfo =
vks::initializers::pipelineCreateInfo(
@@ -577,8 +577,8 @@ public:
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCreateInfo, nullptr, &pipelines.sdf));
// Default bitmap font rendering pipeline
- shaderStages[0] = loadShader(getAssetPath() + "shaders/distancefieldfonts/bitmap.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/distancefieldfonts/bitmap.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "distancefieldfonts/bitmap.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "distancefieldfonts/bitmap.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCreateInfo, nullptr, &pipelines.bitmap));
}
diff --git a/examples/dynamicuniformbuffer/dynamicuniformbuffer.cpp b/examples/dynamicuniformbuffer/dynamicuniformbuffer.cpp
index d0457e49..31e835d4 100644
--- a/examples/dynamicuniformbuffer/dynamicuniformbuffer.cpp
+++ b/examples/dynamicuniformbuffer/dynamicuniformbuffer.cpp
@@ -51,7 +51,7 @@ void* alignedAlloc(size_t size, size_t alignment)
void *data = nullptr;
#if defined(_MSC_VER) || defined(__MINGW32__)
data = _aligned_malloc(size, alignment);
-#else
+#else
int res = posix_memalign(&data, alignment, size);
if (res != 0)
data = nullptr;
@@ -63,7 +63,7 @@ void alignedFree(void* data)
{
#if defined(_MSC_VER) || defined(__MINGW32__)
_aligned_free(data);
-#else
+#else
free(data);
#endif
}
@@ -126,7 +126,7 @@ public:
alignedFree(uboDataDynamic.model);
}
- // Clean up used Vulkan resources
+ // Clean up used Vulkan resources
// Note : Inherited destructor cleans up resources stored in base class
vkDestroyPipeline(device, pipeline, nullptr);
@@ -224,8 +224,8 @@ public:
{ { -1.0f, 1.0f, -1.0f },{ 0.0f, 0.0f, 0.0f } },
};
- std::vector indices = {
- 0,1,2, 2,3,0, 1,5,6, 6,2,1, 7,6,5, 5,4,7, 4,0,3, 3,7,4, 4,5,1, 1,0,4, 3,2,6, 6,7,3,
+ std::vector indices = {
+ 0,1,2, 2,3,0, 1,5,6, 6,2,1, 7,6,5, 5,4,7, 4,0,3, 3,7,4, 4,5,1, 1,0,4, 3,2,6, 6,7,3,
};
indexCount = static_cast(indices.size());
@@ -322,7 +322,7 @@ public:
VK_CHECK_RESULT(vkAllocateDescriptorSets(device, &allocInfo, &descriptorSet));
std::vector writeDescriptorSets = {
- // Binding 0 : Projection/View matrix uniform buffer
+ // Binding 0 : Projection/View matrix uniform buffer
vks::initializers::writeDescriptorSet(descriptorSet, VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, 0, &uniformBuffers.view.descriptor),
// Binding 1 : Instance matrix as dynamic uniform buffer
vks::initializers::writeDescriptorSet(descriptorSet, VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC, 1, &uniformBuffers.dynamic.descriptor),
@@ -383,8 +383,8 @@ public:
// Load shaders
std::array shaderStages;
- shaderStages[0] = loadShader(getAssetPath() + "shaders/dynamicuniformbuffer/base.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/dynamicuniformbuffer/base.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "dynamicuniformbuffer/base.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "dynamicuniformbuffer/base.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
VkGraphicsPipelineCreateInfo pipelineCreateInfo =
vks::initializers::pipelineCreateInfo(
@@ -507,7 +507,7 @@ public:
animationTimer = 0.0f;
memcpy(uniformBuffers.dynamic.mapped, uboDataDynamic.model, uniformBuffers.dynamic.size);
- // Flush to make changes visible to the host
+ // Flush to make changes visible to the host
VkMappedMemoryRange memoryRange = vks::initializers::mappedMemoryRange();
memoryRange.memory = uniformBuffers.dynamic.memory;
memoryRange.size = uniformBuffers.dynamic.size;
diff --git a/examples/gears/gears.cpp b/examples/gears/gears.cpp
index 77d369d9..b9582e27 100644
--- a/examples/gears/gears.cpp
+++ b/examples/gears/gears.cpp
@@ -55,7 +55,7 @@ public:
~VulkanExample()
{
- // Clean up used Vulkan resources
+ // Clean up used Vulkan resources
// Note : Inherited destructor cleans up resources stored in base class
vkDestroyPipeline(device, pipelines.solid, nullptr);
@@ -298,8 +298,8 @@ public:
// Load shaders
std::array shaderStages;
- shaderStages[0] = loadShader(getAssetPath() + "shaders/gears/gears.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/gears/gears.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "gears/gears.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "gears/gears.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
VkGraphicsPipelineCreateInfo pipelineCreateInfo =
vks::initializers::pipelineCreateInfo(
diff --git a/examples/geometryshader/geometryshader.cpp b/examples/geometryshader/geometryshader.cpp
index 229e5792..40f39870 100644
--- a/examples/geometryshader/geometryshader.cpp
+++ b/examples/geometryshader/geometryshader.cpp
@@ -83,7 +83,7 @@ public:
~VulkanExample()
{
- // Clean up used Vulkan resources
+ // Clean up used Vulkan resources
// Note : Inherited destructor cleans up resources stored in base class
vkDestroyPipeline(device, pipelines.solid, nullptr);
vkDestroyPipeline(device, pipelines.normals, nullptr);
@@ -97,7 +97,7 @@ public:
uniformBuffers.VS.destroy();
}
- // Enable physical device features required for this example
+ // Enable physical device features required for this example
virtual void getEnabledFeatures()
{
// Geometry shader support is required for this example
@@ -352,9 +352,9 @@ public:
// Load shaders
std::array shaderStages;
- shaderStages[0] = loadShader(getAssetPath() + "shaders/geometryshader/base.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/geometryshader/base.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
- shaderStages[2] = loadShader(getAssetPath() + "shaders/geometryshader/normaldebug.geom.spv", VK_SHADER_STAGE_GEOMETRY_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "geometryshader/base.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "geometryshader/base.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[2] = loadShader(getShadersPath() + "geometryshader/normaldebug.geom.spv", VK_SHADER_STAGE_GEOMETRY_BIT);
VkGraphicsPipelineCreateInfo pipelineCreateInfo =
vks::initializers::pipelineCreateInfo(
@@ -378,8 +378,8 @@ public:
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCreateInfo, nullptr, &pipelines.normals));
// Solid rendering pipeline
- shaderStages[0] = loadShader(getAssetPath() + "shaders/geometryshader/mesh.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/geometryshader/mesh.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "geometryshader/mesh.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "geometryshader/mesh.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
pipelineCreateInfo.stageCount = 2;
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCreateInfo, nullptr, &pipelines.solid));
}
diff --git a/examples/gltfscene/gltfscene.cpp b/examples/gltfscene/gltfscene.cpp
index 74405946..9614dd89 100644
--- a/examples/gltfscene/gltfscene.cpp
+++ b/examples/gltfscene/gltfscene.cpp
@@ -13,7 +13,7 @@
* For details on how glTF 2.0 works, see the official spec at https://github.com/KhronosGroup/glTF/tree/master/specification/2.0
*
* Other samples will load models using a dedicated model loader with more features (see base/VulkanglTFModel.hpp)
- *
+ *
* If you are looking for a complete glTF implementation, check out https://github.com/SaschaWillems/Vulkan-glTF-PBR/
*/
@@ -45,12 +45,12 @@
// Contains everything required to render a glTF model in Vulkan
// This class is heavily simplified (compared to glTF's feature set) but retains the basic glTF structure
-class VulkanglTFModel
+class VulkanglTFModel
{
public:
// The class requires some Vulkan objects so it can create it's own resources
vks::VulkanDevice* vulkanDevice;
- VkQueue copyQueue;
+ VkQueue copyQueue;
// The vertex layout for the samples' model
struct Vertex {
@@ -65,7 +65,7 @@ public:
VkBuffer buffer;
VkDeviceMemory memory;
} vertices;
-
+
// Single index buffer for all primitives
struct {
int count;
@@ -73,7 +73,7 @@ public:
VkDeviceMemory memory;
} indices;
- // The following structures roughly represent the glTF scene structure
+ // The following structures roughly represent the glTF scene structure
// To keep things simple, they only contain those properties that are required for this sample
struct Node;
@@ -227,7 +227,7 @@ public:
node.matrix = glm::make_mat4x4(inputNode.matrix.data());
};
- // Load node's children
+ // Load node's children
if (inputNode.children.size() > 0) {
for (size_t i = 0; i < inputNode.children.size(); i++) {
loadNode(input.nodes[inputNode.children[i]], input , &node, indexBuffer, vertexBuffer);
@@ -340,7 +340,7 @@ public:
/*
glTF rendering functions
*/
-
+
// Draw a single node including child nodes (if present)
void drawNode(VkCommandBuffer commandBuffer, VkPipelineLayout pipelineLayout, VulkanglTFModel::Node node)
{
@@ -373,7 +373,7 @@ public:
// Draw the glTF scene starting at the top-level-nodes
void draw(VkCommandBuffer commandBuffer, VkPipelineLayout pipelineLayout)
{
- // All vertices and indices are stored in single buffers, so we only need to bind once
+ // All vertices and indices are stored in single buffers, so we only need to bind once
VkDeviceSize offsets[1] = { 0 };
vkCmdBindVertexBuffers(commandBuffer, 0, 1, &vertices.buffer, offsets);
vkCmdBindIndexBuffer(commandBuffer, indices.buffer, 0, VK_INDEX_TYPE_UINT32);
@@ -427,7 +427,7 @@ public:
~VulkanExample()
{
- // Clean up used Vulkan resources
+ // Clean up used Vulkan resources
// Note : Inherited destructor cleans up resources stored in base class
vkDestroyPipeline(device, pipelines.solid, nullptr);
if (pipelines.wireframe != VK_NULL_HANDLE) {
@@ -665,7 +665,7 @@ public:
vks::initializers::vertexInputBindingDescription(0, sizeof(VulkanglTFModel::Vertex), VK_VERTEX_INPUT_RATE_VERTEX),
};
const std::vector vertexInputAttributes = {
- vks::initializers::vertexInputAttributeDescription(0, 0, VK_FORMAT_R32G32B32_SFLOAT, offsetof(VulkanglTFModel::Vertex, pos)), // Location 0: Position
+ vks::initializers::vertexInputAttributeDescription(0, 0, VK_FORMAT_R32G32B32_SFLOAT, offsetof(VulkanglTFModel::Vertex, pos)), // Location 0: Position
vks::initializers::vertexInputAttributeDescription(0, 1, VK_FORMAT_R32G32B32_SFLOAT, offsetof(VulkanglTFModel::Vertex, normal)),// Location 1: Normal
vks::initializers::vertexInputAttributeDescription(0, 2, VK_FORMAT_R32G32B32_SFLOAT, offsetof(VulkanglTFModel::Vertex, uv)), // Location 2: Texture coordinates
vks::initializers::vertexInputAttributeDescription(0, 3, VK_FORMAT_R32G32B32_SFLOAT, offsetof(VulkanglTFModel::Vertex, color)), // Location 3: Color
@@ -677,8 +677,8 @@ public:
vertexInputStateCI.pVertexAttributeDescriptions = vertexInputAttributes.data();
const std::array shaderStages = {
- loadShader(getAssetPath() + "shaders/gltfscene/mesh.vert.spv", VK_SHADER_STAGE_VERTEX_BIT),
- loadShader(getAssetPath() + "shaders/gltfscene/mesh.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT)
+ loadShader(getShadersPath() + "gltfscene/mesh.vert.spv", VK_SHADER_STAGE_VERTEX_BIT),
+ loadShader(getShadersPath() + "gltfscene/mesh.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT)
};
VkGraphicsPipelineCreateInfo pipelineCI = vks::initializers::pipelineCreateInfo(pipelineLayout, renderPass, 0);
@@ -713,7 +713,7 @@ public:
VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT,
&shaderData.buffer,
sizeof(shaderData.values)));
-
+
// Map persistent
VK_CHECK_RESULT(shaderData.buffer.map());
diff --git a/examples/hdr/hdr.cpp b/examples/hdr/hdr.cpp
index cedec593..e37f030c 100644
--- a/examples/hdr/hdr.cpp
+++ b/examples/hdr/hdr.cpp
@@ -805,8 +805,8 @@ public:
pipelineCreateInfo.pVertexInputState = &emptyInputState;
// Final fullscreen composition pass pipeline
- shaderStages[0] = loadShader(getAssetPath() + "shaders/hdr/composition.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/hdr/composition.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "hdr/composition.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "hdr/composition.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
pipelineCreateInfo.layout = pipelineLayouts.composition;
pipelineCreateInfo.renderPass = renderPass;
rasterizationState.cullMode = VK_CULL_MODE_FRONT_BIT;
@@ -815,8 +815,8 @@ public:
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCreateInfo, nullptr, &pipelines.composition));
// Bloom pass
- shaderStages[0] = loadShader(getAssetPath() + "shaders/hdr/bloom.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/hdr/bloom.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "hdr/bloom.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "hdr/bloom.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
colorBlendState.pAttachments = &blendAttachmentState;
blendAttachmentState.colorWriteMask = 0xF;
blendAttachmentState.blendEnable = VK_TRUE;
@@ -871,8 +871,8 @@ public:
colorBlendState.attachmentCount = 2;
colorBlendState.pAttachments = blendAttachmentStates.data();
- shaderStages[0] = loadShader(getAssetPath() + "shaders/hdr/gbuffer.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/hdr/gbuffer.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "hdr/gbuffer.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "hdr/gbuffer.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
// Set constant parameters via specialization constants
specializationMapEntries[0] = vks::initializers::specializationMapEntry(0, 0, sizeof(uint32_t));
diff --git a/examples/imgui/main.cpp b/examples/imgui/main.cpp
index 2753ecde..8a2f72f3 100644
--- a/examples/imgui/main.cpp
+++ b/examples/imgui/main.cpp
@@ -70,12 +70,12 @@ public:
glm::vec2 translate;
} pushConstBlock;
- ImGUI(VulkanExampleBase *example) : example(example)
+ ImGUI(VulkanExampleBase *example) : example(example)
{
device = example->vulkanDevice;
ImGui::CreateContext();
};
-
+
~ImGUI()
{
ImGui::DestroyContext();
@@ -329,8 +329,8 @@ public:
pipelineCreateInfo.pVertexInputState = &vertexInputState;
- shaderStages[0] = example->loadShader(getAssetPath() + "shaders/imgui/ui.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = example->loadShader(getAssetPath() + "shaders/imgui/ui.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = example->loadShader(getShadersPath() + "imgui/ui.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = example->loadShader(getShadersPath() + "imgui/ui.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device->logicalDevice, pipelineCache, 1, &pipelineCreateInfo, nullptr, &pipeline));
}
@@ -539,7 +539,7 @@ public:
delete imGui;
}
-
+
void buildCommandBuffers()
{
VkCommandBufferBeginInfo cmdBufInfo = vks::initializers::commandBufferBeginInfo();
@@ -689,9 +689,9 @@ public:
vks::initializers::vertexInputBindingDescription(0, vertexLayout.stride(), VK_VERTEX_INPUT_RATE_VERTEX),
};
std::vector vertexInputAttributes = {
- vks::initializers::vertexInputAttributeDescription(0, 0, VK_FORMAT_R32G32B32_SFLOAT, 0), // Location 0: Position
- vks::initializers::vertexInputAttributeDescription(0, 1, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 3), // Location 1: Normal
- vks::initializers::vertexInputAttributeDescription(0, 2, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 6), // Location 2: Color
+ vks::initializers::vertexInputAttributeDescription(0, 0, VK_FORMAT_R32G32B32_SFLOAT, 0), // Location 0: Position
+ vks::initializers::vertexInputAttributeDescription(0, 1, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 3), // Location 1: Normal
+ vks::initializers::vertexInputAttributeDescription(0, 2, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 6), // Location 2: Color
};
VkPipelineVertexInputStateCreateInfo vertexInputState = vks::initializers::pipelineVertexInputStateCreateInfo();
vertexInputState.vertexBindingDescriptionCount = static_cast(vertexInputBindings.size());
@@ -701,8 +701,8 @@ public:
pipelineCreateInfo.pVertexInputState = &vertexInputState;
- shaderStages[0] = loadShader(getAssetPath() + "shaders/imgui/scene.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/imgui/scene.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "imgui/scene.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "imgui/scene.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCreateInfo, nullptr, &pipeline));
}
@@ -722,7 +722,7 @@ public:
void updateUniformBuffers()
{
- // Vertex shader
+ // Vertex shader
uboVS.projection = camera.matrices.perspective;
uboVS.modelview = camera.matrices.view * glm::mat4(1.0f);
@@ -802,7 +802,7 @@ public:
virtual void mouseMoved(double x, double y, bool &handled)
{
- ImGuiIO& io = ImGui::GetIO();
+ ImGuiIO& io = ImGui::GetIO();
handled = io.WantCaptureMouse;
}
diff --git a/examples/indirectdraw/indirectdraw.cpp b/examples/indirectdraw/indirectdraw.cpp
index 472d69db..f1635c50 100644
--- a/examples/indirectdraw/indirectdraw.cpp
+++ b/examples/indirectdraw/indirectdraw.cpp
@@ -1,5 +1,5 @@
/*
-* Vulkan Example - Indirect drawing
+* Vulkan Example - Indirect drawing
*
* Copyright (C) 2016 by Sascha Willems - www.saschawillems.de
*
@@ -9,7 +9,7 @@
* Use a device local buffer that stores draw commands for instanced rendering of different meshes stored
* in the same buffer.
*
-* Indirect drawing offloads draw command generation and offers the ability to update them on the GPU
+* Indirect drawing offloads draw command generation and offers the ability to update them on the GPU
* without the CPU having to touch the buffer again, also reducing the number of drawcalls.
*
* The example shows how to setup and fill such a buffer on the CPU side, stages it to the device and
@@ -23,7 +23,7 @@
#include
#include
#include
-#include
+#include
#include
#include
@@ -149,7 +149,7 @@ public:
uniformData.scene.destroy();
}
- // Enable physical device features required for this example
+ // Enable physical device features required for this example
virtual void getEnabledFeatures()
{
// Example uses multi draw indirect if available
@@ -160,7 +160,7 @@ public:
if (deviceFeatures.samplerAnisotropy) {
enabledFeatures.samplerAnisotropy = VK_TRUE;
}
- // Enable texture compression
+ // Enable texture compression
if (deviceFeatures.textureCompressionBC) {
enabledFeatures.textureCompressionBC = VK_TRUE;
}
@@ -211,7 +211,7 @@ public:
vkCmdBindVertexBuffers(drawCmdBuffers[i], VERTEX_BUFFER_BIND_ID, 1, &models.plants.vertices.buffer, offsets);
// Binding point 1 : Instance data buffer
vkCmdBindVertexBuffers(drawCmdBuffers[i], INSTANCE_BUFFER_BIND_ID, 1, &instanceBuffer.buffer, offsets);
-
+
vkCmdBindIndexBuffer(drawCmdBuffers[i], models.plants.indices.buffer, 0, VK_INDEX_TYPE_UINT32);
// If the multi draw feature is supported:
@@ -296,7 +296,7 @@ public:
vertices.bindingDescriptions[1] =
vks::initializers::vertexInputBindingDescription(
INSTANCE_BUFFER_BIND_ID,
- sizeof(InstanceData),
+ sizeof(InstanceData),
// Input rate for the data passed to shader
// Step for each instance rendered
VK_VERTEX_INPUT_RATE_INSTANCE);
@@ -370,7 +370,7 @@ public:
void setupDescriptorPool()
{
- // Example uses one ubo
+ // Example uses one ubo
std::vector poolSizes =
{
vks::initializers::descriptorPoolSize(VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, 1),
@@ -440,13 +440,13 @@ public:
VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER,
0,
&uniformData.scene.descriptor),
- // Binding 1: Plants texture array combined
+ // Binding 1: Plants texture array combined
vks::initializers::writeDescriptorSet(
descriptorSet,
VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,
1,
&textures.plants.descriptor),
- // Binding 2: Ground texture combined
+ // Binding 2: Ground texture combined
vks::initializers::writeDescriptorSet(
descriptorSet,
VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,
@@ -526,19 +526,19 @@ public:
pipelineCreateInfo.pStages = shaderStages.data();
// Indirect (and instanced) pipeline for the plants
- shaderStages[0] = loadShader(getAssetPath() + "shaders/indirectdraw/indirectdraw.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/indirectdraw/indirectdraw.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "indirectdraw/indirectdraw.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "indirectdraw/indirectdraw.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCreateInfo, nullptr, &pipelines.plants));
// Ground
- shaderStages[0] = loadShader(getAssetPath() + "shaders/indirectdraw/ground.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/indirectdraw/ground.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "indirectdraw/ground.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "indirectdraw/ground.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
//rasterizationState.cullMode = VK_CULL_MODE_BACK_BIT;
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCreateInfo, nullptr, &pipelines.ground));
// Skysphere
- shaderStages[0] = loadShader(getAssetPath() + "shaders/indirectdraw/skysphere.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/indirectdraw/skysphere.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "indirectdraw/skysphere.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "indirectdraw/skysphere.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
//rasterizationState.cullMode = VK_CULL_MODE_FRONT_BIT;
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCreateInfo, nullptr, &pipelines.skysphere));
}
@@ -557,7 +557,7 @@ public:
indirectCmd.firstInstance = m * OBJECT_INSTANCE_COUNT;
indirectCmd.firstIndex = modelPart.indexBase;
indirectCmd.indexCount = modelPart.indexCount;
-
+
indirectCommands.push_back(indirectCmd);
m++;
diff --git a/examples/inlineuniformblocks/inlineuniformblocks.cpp b/examples/inlineuniformblocks/inlineuniformblocks.cpp
index a9e2a9eb..1fd68dfa 100644
--- a/examples/inlineuniformblocks/inlineuniformblocks.cpp
+++ b/examples/inlineuniformblocks/inlineuniformblocks.cpp
@@ -98,7 +98,7 @@ public:
/*
[POI] Enable extensions required for inline uniform blocks
- */
+ */
enabledDeviceExtensions.push_back(VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME);
enabledDeviceExtensions.push_back(VK_KHR_MAINTENANCE1_EXTENSION_NAME);
enabledInstanceExtensions.push_back(VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME);
@@ -159,7 +159,7 @@ public:
for (uint32_t x = 0; x < objcount; x++) {
/*
[POI] Bind descriptor sets
- Set 0 = Scene matrices:
+ Set 0 = Scene matrices:
Set 1 = Object inline uniform block (In shader pbr.frag: layout (set = 1, binding = 0) uniform UniformInline ... )
*/
std::vector descriptorSets = {
@@ -335,8 +335,8 @@ public:
pipelineCreateInfoCI.pStages = shaderStages.data();
pipelineCreateInfoCI.pVertexInputState = &vertexInputState;
- shaderStages[0] = loadShader(getAssetPath() + "shaders/inlineuniformblocks/pbr.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/inlineuniformblocks/pbr.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "inlineuniformblocks/pbr.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "inlineuniformblocks/pbr.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCreateInfoCI, nullptr, &pipeline));
}
diff --git a/examples/inputattachments/inputattachments.cpp b/examples/inputattachments/inputattachments.cpp
index 912841a6..8393b4af 100644
--- a/examples/inputattachments/inputattachments.cpp
+++ b/examples/inputattachments/inputattachments.cpp
@@ -102,7 +102,7 @@ public:
~VulkanExample()
{
- // Clean up used Vulkan resources
+ // Clean up used Vulkan resources
// Note : Inherited destructor cleans up resources stored in base class
for (uint32_t i = 0; i < attachments.size(); i++) {
@@ -230,7 +230,7 @@ public:
attachments[0].finalLayout = VK_IMAGE_LAYOUT_PRESENT_SRC_KHR;
// Input attachments
- // These will be written in the first subpass, transitioned to input attachments
+ // These will be written in the first subpass, transitioned to input attachments
// and then read in the secod subpass
// Color
@@ -282,7 +282,7 @@ public:
VkAttachmentReference inputReferences[2];
inputReferences[0] = { 1, VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL };
inputReferences[1] = { 2, VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL };
-
+
// Use the attachments filled in the first pass as input attachments
subpassDescriptions[1].inputAttachmentCount = 2;
subpassDescriptions[1].pInputAttachments = inputReferences;
@@ -444,9 +444,9 @@ public:
*/
{
std::vector setLayoutBindings = {
- // Binding 0: Color input attachment
+ // Binding 0: Color input attachment
vks::initializers::descriptorSetLayoutBinding(VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT, VK_SHADER_STAGE_FRAGMENT_BIT, 0),
- // Binding 1: Depth input attachment
+ // Binding 1: Depth input attachment
vks::initializers::descriptorSetLayoutBinding(VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT, VK_SHADER_STAGE_FRAGMENT_BIT, 1),
// Binding 2: Display parameters uniform buffer
vks::initializers::descriptorSetLayoutBinding(VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, VK_SHADER_STAGE_FRAGMENT_BIT, 2),
@@ -522,7 +522,7 @@ public:
// Attribute descriptions
std::vector vertexInputAttributes = {
- vks::initializers::vertexInputAttributeDescription(0, 0, VK_FORMAT_R32G32B32_SFLOAT, 0), // Location 0: Position
+ vks::initializers::vertexInputAttributeDescription(0, 0, VK_FORMAT_R32G32B32_SFLOAT, 0), // Location 0: Position
vks::initializers::vertexInputAttributeDescription(0, 1, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 3), // Location 1: Color
vks::initializers::vertexInputAttributeDescription(0, 2, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 6), // Location 2: Normal
};
@@ -535,9 +535,9 @@ public:
pipelineCI.pVertexInputState = &vertexInputStateCI;
- shaderStages[0] = loadShader(getAssetPath() + "shaders/inputattachments/attachmentwrite.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/inputattachments/attachmentwrite.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
-
+ shaderStages[0] = loadShader(getShadersPath() + "inputattachments/attachmentwrite.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "inputattachments/attachmentwrite.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCI, nullptr, &pipelines.attachmentWrite));
/*
@@ -556,8 +556,8 @@ public:
rasterizationStateCI.cullMode = VK_CULL_MODE_NONE;
depthStencilStateCI.depthWriteEnable = VK_FALSE;
- shaderStages[0] = loadShader(getAssetPath() + "shaders/inputattachments/attachmentread.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/inputattachments/attachmentread.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "inputattachments/attachmentread.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "inputattachments/attachmentread.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCI, nullptr, &pipelines.attachmentRead));
}
diff --git a/examples/instancing/instancing.cpp b/examples/instancing/instancing.cpp
index fd41cae5..aa68962f 100644
--- a/examples/instancing/instancing.cpp
+++ b/examples/instancing/instancing.cpp
@@ -10,7 +10,7 @@
#include
#include
#include
-#include
+#include
#include
#include
@@ -121,14 +121,14 @@ public:
uniformBuffers.scene.destroy();
}
- // Enable physical device features required for this example
+ // Enable physical device features required for this example
virtual void getEnabledFeatures()
{
// Enable anisotropic filtering if supported
if (deviceFeatures.samplerAnisotropy) {
enabledFeatures.samplerAnisotropy = VK_TRUE;
}
- // Enable texture compression
+ // Enable texture compression
if (deviceFeatures.textureCompressionBC) {
enabledFeatures.textureCompressionBC = VK_TRUE;
}
@@ -138,7 +138,7 @@ public:
else if (deviceFeatures.textureCompressionETC2) {
enabledFeatures.textureCompressionETC2 = VK_TRUE;
}
- };
+ };
void buildCommandBuffers()
{
@@ -236,7 +236,7 @@ public:
void setupDescriptorPool()
{
- // Example uses one ubo
+ // Example uses one ubo
std::vector poolSizes =
{
vks::initializers::descriptorPoolSize(VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, 2),
@@ -286,23 +286,23 @@ public:
void setupDescriptorSet()
{
VkDescriptorSetAllocateInfo descripotrSetAllocInfo;
- std::vector writeDescriptorSets;
+ std::vector writeDescriptorSets;
descripotrSetAllocInfo = vks::initializers::descriptorSetAllocateInfo(descriptorPool, &descriptorSetLayout, 1);;
// Instanced rocks
VK_CHECK_RESULT(vkAllocateDescriptorSets(device, &descripotrSetAllocInfo, &descriptorSets.instancedRocks));
- writeDescriptorSets = {
- vks::initializers::writeDescriptorSet(descriptorSets.instancedRocks, VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, 0, &uniformBuffers.scene.descriptor), // Binding 0 : Vertex shader uniform buffer
- vks::initializers::writeDescriptorSet(descriptorSets.instancedRocks, VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, 1, &textures.rocks.descriptor) // Binding 1 : Color map
+ writeDescriptorSets = {
+ vks::initializers::writeDescriptorSet(descriptorSets.instancedRocks, VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, 0, &uniformBuffers.scene.descriptor), // Binding 0 : Vertex shader uniform buffer
+ vks::initializers::writeDescriptorSet(descriptorSets.instancedRocks, VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, 1, &textures.rocks.descriptor) // Binding 1 : Color map
};
vkUpdateDescriptorSets(device, writeDescriptorSets.size(), writeDescriptorSets.data(), 0, NULL);
// Planet
VK_CHECK_RESULT(vkAllocateDescriptorSets(device, &descripotrSetAllocInfo, &descriptorSets.planet));
writeDescriptorSets = {
- vks::initializers::writeDescriptorSet(descriptorSets.planet, VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, 0, &uniformBuffers.scene.descriptor), // Binding 0 : Vertex shader uniform buffer
- vks::initializers::writeDescriptorSet(descriptorSets.planet, VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, 1, &textures.planet.descriptor) // Binding 1 : Color map
+ vks::initializers::writeDescriptorSet(descriptorSets.planet, VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, 0, &uniformBuffers.scene.descriptor), // Binding 0 : Vertex shader uniform buffer
+ vks::initializers::writeDescriptorSet(descriptorSets.planet, VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, 1, &textures.planet.descriptor) // Binding 1 : Color map
};
vkUpdateDescriptorSets(device, writeDescriptorSets.size(), writeDescriptorSets.data(), 0, NULL);
@@ -399,9 +399,9 @@ public:
attributeDescriptions = {
// Per-vertex attributees
// These are advanced for each vertex fetched by the vertex shader
- vks::initializers::vertexInputAttributeDescription(VERTEX_BUFFER_BIND_ID, 0, VK_FORMAT_R32G32B32_SFLOAT, 0), // Location 0: Position
- vks::initializers::vertexInputAttributeDescription(VERTEX_BUFFER_BIND_ID, 1, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 3), // Location 1: Normal
- vks::initializers::vertexInputAttributeDescription(VERTEX_BUFFER_BIND_ID, 2, VK_FORMAT_R32G32_SFLOAT, sizeof(float) * 6), // Location 2: Texture coordinates
+ vks::initializers::vertexInputAttributeDescription(VERTEX_BUFFER_BIND_ID, 0, VK_FORMAT_R32G32B32_SFLOAT, 0), // Location 0: Position
+ vks::initializers::vertexInputAttributeDescription(VERTEX_BUFFER_BIND_ID, 1, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 3), // Location 1: Normal
+ vks::initializers::vertexInputAttributeDescription(VERTEX_BUFFER_BIND_ID, 2, VK_FORMAT_R32G32_SFLOAT, sizeof(float) * 6), // Location 2: Texture coordinates
vks::initializers::vertexInputAttributeDescription(VERTEX_BUFFER_BIND_ID, 3, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 8), // Location 3: Color
// Per-Instance attributes
// These are fetched for each instance rendered
@@ -416,16 +416,16 @@ public:
pipelineCreateInfo.pVertexInputState = &inputState;
// Instancing pipeline
- shaderStages[0] = loadShader(getAssetPath() + "shaders/instancing/instancing.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/instancing/instancing.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "instancing/instancing.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "instancing/instancing.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
// Use all input bindings and attribute descriptions
inputState.vertexBindingDescriptionCount = static_cast(bindingDescriptions.size());
inputState.vertexAttributeDescriptionCount = static_cast(attributeDescriptions.size());
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCreateInfo, nullptr, &pipelines.instancedRocks));
// Planet rendering pipeline
- shaderStages[0] = loadShader(getAssetPath() + "shaders/instancing/planet.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/instancing/planet.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "instancing/planet.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "instancing/planet.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
// Only use the non-instanced input bindings and attribute descriptions
inputState.vertexBindingDescriptionCount = 1;
inputState.vertexAttributeDescriptionCount = 4;
@@ -434,8 +434,8 @@ public:
// Star field pipeline
rasterizationState.cullMode = VK_CULL_MODE_NONE;
depthStencilState.depthWriteEnable = VK_FALSE;
- shaderStages[0] = loadShader(getAssetPath() + "shaders/instancing/starfield.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/instancing/starfield.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "instancing/starfield.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "instancing/starfield.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
// Vertices are generated in the vertex shader
inputState.vertexBindingDescriptionCount = 0;
inputState.vertexAttributeDescriptionCount = 0;
@@ -452,7 +452,7 @@ public:
std::uniform_int_distribution rndTextureIndex(0, textures.rocks.layerCount);
// Distribute rocks randomly on two different rings
- for (auto i = 0; i < INSTANCE_COUNT / 2; i++) {
+ for (auto i = 0; i < INSTANCE_COUNT / 2; i++) {
glm::vec2 ring0 { 7.0f, 11.0f };
glm::vec2 ring1 { 14.0f, 18.0f };
@@ -480,7 +480,7 @@ public:
instanceBuffer.size = instanceData.size() * sizeof(InstanceData);
// Staging
- // Instanced data is static, copy to device local memory
+ // Instanced data is static, copy to device local memory
// This results in better performance
struct {
diff --git a/examples/multisampling/multisampling.cpp b/examples/multisampling/multisampling.cpp
index 9c568f32..8d0d84f4 100644
--- a/examples/multisampling/multisampling.cpp
+++ b/examples/multisampling/multisampling.cpp
@@ -90,7 +90,7 @@ public:
~VulkanExample()
{
- // Clean up used Vulkan resources
+ // Clean up used Vulkan resources
// Note : Inherited destructor cleans up resources stored in base class
vkDestroyPipeline(device, pipelines.MSAA, nullptr);
vkDestroyPipeline(device, pipelines.MSAASampleShading, nullptr);
@@ -113,7 +113,7 @@ public:
uniformBuffer.destroy();
}
- // Enable physical device features required for this example
+ // Enable physical device features required for this example
virtual void getEnabledFeatures()
{
// Enable sample rate shading filtering if supported
@@ -122,7 +122,7 @@ public:
}
}
- // Creates a multi sample render target (image and view) that is used to resolve
+ // Creates a multi sample render target (image and view) that is used to resolve
// into the visible frame buffer target in the render pass
void setupMultisampleTarget()
{
@@ -204,7 +204,7 @@ public:
{
memAlloc.memoryTypeIndex = vulkanDevice->getMemoryType(memReqs.memoryTypeBits, VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT);
}
-
+
VK_CHECK_RESULT(vkAllocateMemory(device, &memAlloc, nullptr, &multisampleTarget.depth.memory));
vkBindImageMemory(device, multisampleTarget.depth.image, multisampleTarget.depth.memory, 0);
@@ -223,8 +223,8 @@ public:
VK_CHECK_RESULT(vkCreateImageView(device, &viewInfo, nullptr, &multisampleTarget.depth.view));
}
- // Setup a render pass for using a multi sampled attachment
- // and a resolve attachment that the msaa image is resolved
+ // Setup a render pass for using a multi sampled attachment
+ // and a resolve attachment that the msaa image is resolved
// to at the end of the render pass
void setupRenderPass()
{
@@ -323,8 +323,8 @@ public:
VK_CHECK_RESULT(vkCreateRenderPass(device, &renderPassInfo, nullptr, &renderPass));
}
- // Frame buffer attachments must match with render pass setup,
- // so we need to adjust frame buffer creation to cover our
+ // Frame buffer attachments must match with render pass setup,
+ // so we need to adjust frame buffer creation to cover our
// multisample target
void setupFrameBuffer()
{
@@ -470,7 +470,7 @@ public:
1);
VK_CHECK_RESULT(vkAllocateDescriptorSets(device, &allocInfo, &descriptorSet));
-
+
std::vector writeDescriptorSets =
{
// Binding 0 : Vertex shader uniform buffer
@@ -479,7 +479,7 @@ public:
VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER,
0,
&uniformBuffer.descriptor),
- // Binding 1 : Color map
+ // Binding 1 : Color map
vks::initializers::writeDescriptorSet(
descriptorSet,
VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,
@@ -555,7 +555,7 @@ public:
vks::initializers::vertexInputBindingDescription(VERTEX_BUFFER_BIND_ID, vertexLayout.stride(), VK_VERTEX_INPUT_RATE_VERTEX),
};
std::vector vertexInputAttributes = {
- vks::initializers::vertexInputAttributeDescription(VERTEX_BUFFER_BIND_ID, 0, VK_FORMAT_R32G32B32_SFLOAT, 0), // Location 0: Position
+ vks::initializers::vertexInputAttributeDescription(VERTEX_BUFFER_BIND_ID, 0, VK_FORMAT_R32G32B32_SFLOAT, 0), // Location 0: Position
vks::initializers::vertexInputAttributeDescription(VERTEX_BUFFER_BIND_ID, 1, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 3), // Location 1: Normal
vks::initializers::vertexInputAttributeDescription(VERTEX_BUFFER_BIND_ID, 2, VK_FORMAT_R32G32_SFLOAT, sizeof(float) * 6), // Location 2: Texture coordinates
vks::initializers::vertexInputAttributeDescription(VERTEX_BUFFER_BIND_ID, 3, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 8), // Location 3: Color
@@ -570,11 +570,11 @@ public:
pipelineCI.pVertexInputState = &vertexInputState;
// MSAA rendering pipeline
- shaderStages[0] = loadShader(getAssetPath() + "shaders/multisampling/mesh.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/multisampling/mesh.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "multisampling/mesh.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "multisampling/mesh.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
// Setup multi sampling
multisampleState.rasterizationSamples = sampleCount; // Number of samples to use for rasterization
-
+
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCI, nullptr, &pipelines.MSAA));
diff --git a/examples/multithreading/multithreading.cpp b/examples/multithreading/multithreading.cpp
index 06711bc3..caf817a3 100644
--- a/examples/multithreading/multithreading.cpp
+++ b/examples/multithreading/multithreading.cpp
@@ -60,7 +60,7 @@ public:
VkPipelineLayout pipelineLayout;
VkCommandBuffer primaryCommandBuffer;
-
+
// Secondary scene command buffers used to store backgdrop and user interface
struct SecondaryCommandBuffers {
VkCommandBuffer background;
@@ -81,7 +81,7 @@ public:
glm::mat4 mvp;
glm::vec3 color;
};
-
+
struct ObjectData {
glm::mat4 model;
glm::vec3 pos;
@@ -144,7 +144,7 @@ public:
~VulkanExample()
{
- // Clean up used Vulkan resources
+ // Clean up used Vulkan resources
// Note : Inherited destructor cleans up resources stored in base class
vkDestroyPipeline(device, pipelines.phong, nullptr);
vkDestroyPipeline(device, pipelines.starsphere, nullptr);
@@ -194,7 +194,7 @@ public:
for (uint32_t i = 0; i < numThreads; i++) {
ThreadData *thread = &threadData[i];
-
+
// Create one command pool for each thread
VkCommandPoolCreateInfo cmdPoolInfo = vks::initializers::commandPoolCreateInfo();
cmdPoolInfo.queueFamilyIndex = swapChain.queueNodeIndex;
@@ -228,7 +228,7 @@ public:
thread->pushConstBlock[j].color = glm::vec3(rnd(1.0f), rnd(1.0f), rnd(1.0f));
}
}
-
+
}
// Builds the secondary command buffer for each thread
@@ -238,7 +238,7 @@ public:
ObjectData *objectData = &thread->objectData[cmdBufferIndex];
// Check visibility against view frustum
- objectData->visible = frustum.checkSphere(objectData->pos, objectSphereDim * 0.5f);
+ objectData->visible = frustum.checkSphere(objectData->pos, objectSphereDim * 0.5f);
if (!objectData->visible)
{
@@ -359,8 +359,8 @@ public:
VK_CHECK_RESULT(vkEndCommandBuffer(secondaryCommandBuffers.ui));
}
- // Updates the secondary command buffers using a thread pool
- // and puts them into the primary command buffer that's
+ // Updates the secondary command buffers using a thread pool
+ // and puts them into the primary command buffer that's
// lat submitted to the queue for rendering
void updateCommandBuffers(VkFramebuffer frameBuffer)
{
@@ -412,7 +412,7 @@ public:
threadPool.threads[t]->addJob([=] { threadRenderCode(t, i, inheritanceInfo); });
}
}
-
+
threadPool.wait();
// Only submit if object is within the current view frustum
@@ -534,7 +534,7 @@ public:
};
const std::vector vertexInputAttributes = {
- vks::initializers::vertexInputAttributeDescription(0, 0, VK_FORMAT_R32G32B32_SFLOAT, 0), // Location 0: Position
+ vks::initializers::vertexInputAttributeDescription(0, 0, VK_FORMAT_R32G32B32_SFLOAT, 0), // Location 0: Position
vks::initializers::vertexInputAttributeDescription(0, 1, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 3), // Location 1: Normal
vks::initializers::vertexInputAttributeDescription(0, 2, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 6), // Location 2: Color
};
@@ -547,15 +547,15 @@ public:
pipelineCI.pVertexInputState = &vertexInputStateCI;
// Object rendering pipeline
- shaderStages[0] = loadShader(getAssetPath() + "shaders/multithreading/phong.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/multithreading/phong.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "multithreading/phong.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "multithreading/phong.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCI, nullptr, &pipelines.phong));
// Star sphere rendering pipeline
rasterizationState.cullMode = VK_CULL_MODE_FRONT_BIT;
depthStencilState.depthWriteEnable = VK_FALSE;
- shaderStages[0] = loadShader(getAssetPath() + "shaders/multithreading/starsphere.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/multithreading/starsphere.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "multithreading/starsphere.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "multithreading/starsphere.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCI, nullptr, &pipelines.starsphere));
}
diff --git a/examples/multiview/multiview.cpp b/examples/multiview/multiview.cpp
index 3600e6c8..15c825b5 100644
--- a/examples/multiview/multiview.cpp
+++ b/examples/multiview/multiview.cpp
@@ -1,7 +1,7 @@
/*
* Vulkan Example - Multiview (VK_KHR_multiview)
*
-* Uses VK_KHR_multiview for simultaneously rendering to multiple views and displays these with barrel distortion using a fragment shader
+* Uses VK_KHR_multiview for simultaneously rendering to multiple views and displays these with barrel distortion using a fragment shader
*
* Copyright (C) 2018 by Sascha Willems - www.saschawillems.de
*
@@ -86,7 +86,7 @@ public:
// Enable extension required for multiview
enabledDeviceExtensions.push_back(VK_KHR_MULTIVIEW_EXTENSION_NAME);
-
+
// Reading device properties and features for multiview requires VK_KHR_get_physical_device_properties2 to be enabled
enabledInstanceExtensions.push_back(VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME);
}
@@ -231,7 +231,7 @@ public:
samplerCI.borderColor = VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE;
VK_CHECK_RESULT(vkCreateSampler(device, &samplerCI, nullptr, &multiviewPass.sampler));
- // Fill a descriptor for later use in a descriptor set
+ // Fill a descriptor for later use in a descriptor set
multiviewPass.descriptor.imageLayout = VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL;
multiviewPass.descriptor.imageView = multiviewPass.color.view;
multiviewPass.descriptor.sampler = multiviewPass.sampler;
@@ -302,7 +302,7 @@ public:
renderPassCI.pSubpasses = &subpassDescription;
renderPassCI.dependencyCount = static_cast(dependencies.size());
renderPassCI.pDependencies = dependencies.data();
-
+
/*
Setup multiview info for the renderpass
*/
@@ -454,7 +454,7 @@ public:
void loadAssets()
{
- scene.loadFromFile(getAssetPath() + "models/sampleroom.dae", vertexLayout, 0.25f, vulkanDevice, queue);
+ scene.loadFromFile(getAssetPath() + "models/sampleroom.dae", vertexLayout, 0.25f, vulkanDevice, queue);
}
void prepareDescriptors()
@@ -468,7 +468,7 @@ public:
};
VkDescriptorPoolCreateInfo descriptorPoolInfo = vks::initializers::descriptorPoolCreateInfo(static_cast(poolSizes.size()), poolSizes.data(), 1);
VK_CHECK_RESULT(vkCreateDescriptorPool(device, &descriptorPoolInfo, nullptr, &descriptorPool));
-
+
/*
Layouts
*/
@@ -545,8 +545,8 @@ public:
vks::initializers::vertexInputBindingDescription(0, vertexLayout.stride(), VK_VERTEX_INPUT_RATE_VERTEX),
};
std::vector vertexInputAttributes = {
- vks::initializers::vertexInputAttributeDescription(0, 0, VK_FORMAT_R32G32B32_SFLOAT, 0), // Location 0: Position
- vks::initializers::vertexInputAttributeDescription(0, 1, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 3), // Location 1: Normals
+ vks::initializers::vertexInputAttributeDescription(0, 0, VK_FORMAT_R32G32B32_SFLOAT, 0), // Location 0: Position
+ vks::initializers::vertexInputAttributeDescription(0, 1, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 3), // Location 1: Normals
vks::initializers::vertexInputAttributeDescription(0, 2, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 6), // Location 2: Color
};
@@ -571,8 +571,8 @@ public:
Contrary to the viewport array example we don't need a geometry shader for broadcasting
*/
std::array shaderStages;
- shaderStages[0] = loadShader(getAssetPath() + "shaders/multiview/multiview.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/multiview/multiview.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "multiview/multiview.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "multiview/multiview.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
pipelineCI.stageCount = 2;
pipelineCI.pStages = shaderStages.data();
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCI, nullptr, &pipeline));
@@ -595,8 +595,8 @@ public:
Separate pipelines per eye (view) using specialization constants to set view array layer to sample from
*/
for (uint32_t i = 0; i < 2; i++) {
- shaderStages[0] = loadShader(getAssetPath() + "shaders/multiview/viewdisplay.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/multiview/viewdisplay.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "multiview/viewdisplay.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "multiview/viewdisplay.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
shaderStages[1].pSpecializationInfo = &specializationInfo;
multiviewArrayLayer = (float)i;
VkPipelineVertexInputStateCreateInfo emptyInputState = vks::initializers::pipelineVertexInputStateCreateInfo();
@@ -646,7 +646,7 @@ public:
rotM = glm::rotate(rotM, glm::radians(camera.rotation.x), glm::vec3(1.0f, 0.0f, 0.0f));
rotM = glm::rotate(rotM, glm::radians(camera.rotation.y), glm::vec3(0.0f, 1.0f, 0.0f));
rotM = glm::rotate(rotM, glm::radians(camera.rotation.z), glm::vec3(0.0f, 0.0f, 1.0f));
-
+
// Left eye
left = -aspectRatio * wd2 + 0.5f * eyeSeparation * ndfl;
right = aspectRatio * wd2 + 0.5f * eyeSeparation * ndfl;
diff --git a/examples/negativeviewportheight/negativeviewportheight.cpp b/examples/negativeviewportheight/negativeviewportheight.cpp
index 1ebc2a3b..4d277818 100644
--- a/examples/negativeviewportheight/negativeviewportheight.cpp
+++ b/examples/negativeviewportheight/negativeviewportheight.cpp
@@ -54,7 +54,7 @@ public:
vks::Buffer verticesYDown;
vks::Buffer indicesCCW;
vks::Buffer indicesCW;
- void destroy()
+ void destroy()
{
verticesYUp.destroy();
verticesYDown.destroy();
@@ -157,7 +157,7 @@ public:
textures.CW.loadFromFile(getAssetPath() + "textures/texture_orientation_cw_rgba.ktx", VK_FORMAT_R8G8B8A8_UNORM, vulkanDevice, queue);
textures.CCW.loadFromFile(getAssetPath() + "textures/texture_orientation_ccw_rgba.ktx", VK_FORMAT_R8G8B8A8_UNORM, vulkanDevice, queue);
- // [POI] Create two quads with different Y orientations
+ // [POI] Create two quads with different Y orientations
struct Vertex {
float pos[3];
@@ -166,7 +166,7 @@ public:
const float ar = (float)height / (float)width;
- // OpenGL style (y points upwards)
+ // OpenGL style (y points upwards)
std::vector verticesYPos = {
{ -1.0f * ar, 1.0f, 1.0f, 0.0f, 1.0f },
{ -1.0f * ar, -1.0f, 1.0f, 0.0f, 0.0f },
@@ -209,10 +209,10 @@ public:
VK_CHECK_RESULT(vkCreateDescriptorPool(device, &descriptorPoolCI, nullptr, &descriptorPool));
VkDescriptorSetAllocateInfo descriptorSetAI = vks::initializers::descriptorSetAllocateInfo(descriptorPool, &descriptorSetLayout, 1);
-
+
VK_CHECK_RESULT(vkAllocateDescriptorSets(device, &descriptorSetAI, &descriptorSets.CW));
VK_CHECK_RESULT(vkAllocateDescriptorSets(device, &descriptorSetAI, &descriptorSets.CCW));
-
+
std::vector writeDescriptorSets = {
vks::initializers::writeDescriptorSet(descriptorSets.CW, VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, 0, &textures.CW.descriptor),
vks::initializers::writeDescriptorSet(descriptorSets.CCW, VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, 0, &textures.CCW.descriptor)
@@ -248,7 +248,7 @@ public:
vks::initializers::vertexInputBindingDescription(0, sizeof(float) * 5, VK_VERTEX_INPUT_RATE_VERTEX),
};
std::vector vertexInputAttributes = {
- vks::initializers::vertexInputAttributeDescription(0, 0, VK_FORMAT_R32G32B32_SFLOAT, 0), // Position
+ vks::initializers::vertexInputAttributeDescription(0, 0, VK_FORMAT_R32G32B32_SFLOAT, 0), // Position
vks::initializers::vertexInputAttributeDescription(0, 1, VK_FORMAT_R32G32_SFLOAT, sizeof(float) * 3), // uv
};
VkPipelineVertexInputStateCreateInfo vertexInputState = vks::initializers::pipelineVertexInputStateCreateInfo();
@@ -269,8 +269,8 @@ public:
pipelineCreateInfoCI.pDynamicState = &dynamicStateCI;
const std::array shaderStages = {
- loadShader(getAssetPath() + "shaders/negativeviewportheight/quad.vert.spv", VK_SHADER_STAGE_VERTEX_BIT),
- loadShader(getAssetPath() + "shaders/negativeviewportheight/quad.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT)
+ loadShader(getShadersPath() + "negativeviewportheight/quad.vert.spv", VK_SHADER_STAGE_VERTEX_BIT),
+ loadShader(getShadersPath() + "negativeviewportheight/quad.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT)
};
pipelineCreateInfoCI.stageCount = static_cast(shaderStages.size());
diff --git a/examples/nv_ray_tracing_basic/nv_ray_tracing_basic.cpp b/examples/nv_ray_tracing_basic/nv_ray_tracing_basic.cpp
index e2e67af9..74549e1f 100644
--- a/examples/nv_ray_tracing_basic/nv_ray_tracing_basic.cpp
+++ b/examples/nv_ray_tracing_basic/nv_ray_tracing_basic.cpp
@@ -535,9 +535,9 @@ public:
const uint32_t shaderIndexClosestHit = 2;
std::array shaderStages;
- shaderStages[shaderIndexRaygen] = loadShader(getAssetPath() + "shaders/nv_ray_tracing_basic/raygen.rgen.spv", VK_SHADER_STAGE_RAYGEN_BIT_NV);
- shaderStages[shaderIndexMiss] = loadShader(getAssetPath() + "shaders/nv_ray_tracing_basic/miss.rmiss.spv", VK_SHADER_STAGE_MISS_BIT_NV);
- shaderStages[shaderIndexClosestHit] = loadShader(getAssetPath() + "shaders/nv_ray_tracing_basic/closesthit.rchit.spv", VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV);
+ shaderStages[shaderIndexRaygen] = loadShader(getShadersPath() + "nv_ray_tracing_basic/raygen.rgen.spv", VK_SHADER_STAGE_RAYGEN_BIT_NV);
+ shaderStages[shaderIndexMiss] = loadShader(getShadersPath() + "nv_ray_tracing_basic/miss.rmiss.spv", VK_SHADER_STAGE_MISS_BIT_NV);
+ shaderStages[shaderIndexClosestHit] = loadShader(getShadersPath() + "nv_ray_tracing_basic/closesthit.rchit.spv", VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV);
/*
Setup ray tracing shader groups
@@ -607,7 +607,7 @@ public:
vkCmdBindPipeline(drawCmdBuffers[i], VK_PIPELINE_BIND_POINT_RAY_TRACING_NV, pipeline);
vkCmdBindDescriptorSets(drawCmdBuffers[i], VK_PIPELINE_BIND_POINT_RAY_TRACING_NV, pipelineLayout, 0, 1, &descriptorSet, 0, 0);
- // Calculate shader binding offsets, which is pretty straight forward in our example
+ // Calculate shader binding offsets, which is pretty straight forward in our example
VkDeviceSize bindingOffsetRayGenShader = rayTracingProperties.shaderGroupHandleSize * INDEX_RAYGEN;
VkDeviceSize bindingOffsetMissShader = rayTracingProperties.shaderGroupHandleSize * INDEX_MISS;
VkDeviceSize bindingOffsetHitShader = rayTracingProperties.shaderGroupHandleSize * INDEX_CLOSEST_HIT;
diff --git a/examples/nv_ray_tracing_reflections/nv_ray_tracing_reflections.cpp b/examples/nv_ray_tracing_reflections/nv_ray_tracing_reflections.cpp
index 35407d9a..b79ce13c 100644
--- a/examples/nv_ray_tracing_reflections/nv_ray_tracing_reflections.cpp
+++ b/examples/nv_ray_tracing_reflections/nv_ray_tracing_reflections.cpp
@@ -549,9 +549,9 @@ public:
const uint32_t shaderIndexClosestHit = 2;
std::array shaderStages;
- shaderStages[shaderIndexRaygen] = loadShader(getAssetPath() + "shaders/nv_ray_tracing_reflections/raygen.rgen.spv", VK_SHADER_STAGE_RAYGEN_BIT_NV);
- shaderStages[shaderIndexMiss] = loadShader(getAssetPath() + "shaders/nv_ray_tracing_reflections/miss.rmiss.spv", VK_SHADER_STAGE_MISS_BIT_NV);
- shaderStages[shaderIndexClosestHit] = loadShader(getAssetPath() + "shaders/nv_ray_tracing_reflections/closesthit.rchit.spv", VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV);
+ shaderStages[shaderIndexRaygen] = loadShader(getShadersPath() + "nv_ray_tracing_reflections/raygen.rgen.spv", VK_SHADER_STAGE_RAYGEN_BIT_NV);
+ shaderStages[shaderIndexMiss] = loadShader(getShadersPath() + "nv_ray_tracing_reflections/miss.rmiss.spv", VK_SHADER_STAGE_MISS_BIT_NV);
+ shaderStages[shaderIndexClosestHit] = loadShader(getShadersPath() + "nv_ray_tracing_reflections/closesthit.rchit.spv", VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV);
// Pass recursion depth for reflections to ray generation shader via specialization constant
VkSpecializationMapEntry specializationMapEntry = vks::initializers::specializationMapEntry(0, 0, sizeof(uint32_t));
@@ -630,7 +630,7 @@ public:
vkCmdBindPipeline(drawCmdBuffers[i], VK_PIPELINE_BIND_POINT_RAY_TRACING_NV, pipeline);
vkCmdBindDescriptorSets(drawCmdBuffers[i], VK_PIPELINE_BIND_POINT_RAY_TRACING_NV, pipelineLayout, 0, 1, &descriptorSet, 0, 0);
- // Calculate shader binding offsets, which is pretty straight forward in our example
+ // Calculate shader binding offsets, which is pretty straight forward in our example
VkDeviceSize bindingOffsetRayGenShader = rayTracingProperties.shaderGroupHandleSize * INDEX_RAYGEN;
VkDeviceSize bindingOffsetMissShader = rayTracingProperties.shaderGroupHandleSize * INDEX_MISS;
VkDeviceSize bindingOffsetHitShader = rayTracingProperties.shaderGroupHandleSize * INDEX_CLOSEST_HIT;
diff --git a/examples/nv_ray_tracing_shadows/nv_ray_tracing_shadows.cpp b/examples/nv_ray_tracing_shadows/nv_ray_tracing_shadows.cpp
index c3f4731d..d5d739a7 100644
--- a/examples/nv_ray_tracing_shadows/nv_ray_tracing_shadows.cpp
+++ b/examples/nv_ray_tracing_shadows/nv_ray_tracing_shadows.cpp
@@ -561,10 +561,10 @@ public:
const uint32_t shaderIndexClosestHit = 3;
std::array shaderStages;
- shaderStages[shaderIndexRaygen] = loadShader(getAssetPath() + "shaders/nv_ray_tracing_shadows/raygen.rgen.spv", VK_SHADER_STAGE_RAYGEN_BIT_NV);
- shaderStages[shaderIndexMiss] = loadShader(getAssetPath() + "shaders/nv_ray_tracing_shadows/miss.rmiss.spv", VK_SHADER_STAGE_MISS_BIT_NV);
- shaderStages[shaderIndexShadowMiss] = loadShader(getAssetPath() + "shaders/nv_ray_tracing_shadows/shadow.rmiss.spv", VK_SHADER_STAGE_MISS_BIT_NV);
- shaderStages[shaderIndexClosestHit] = loadShader(getAssetPath() + "shaders/nv_ray_tracing_shadows/closesthit.rchit.spv", VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV);
+ shaderStages[shaderIndexRaygen] = loadShader(getShadersPath() + "nv_ray_tracing_shadows/raygen.rgen.spv", VK_SHADER_STAGE_RAYGEN_BIT_NV);
+ shaderStages[shaderIndexMiss] = loadShader(getShadersPath() + "nv_ray_tracing_shadows/miss.rmiss.spv", VK_SHADER_STAGE_MISS_BIT_NV);
+ shaderStages[shaderIndexShadowMiss] = loadShader(getShadersPath() + "nv_ray_tracing_shadows/shadow.rmiss.spv", VK_SHADER_STAGE_MISS_BIT_NV);
+ shaderStages[shaderIndexClosestHit] = loadShader(getShadersPath() + "nv_ray_tracing_shadows/closesthit.rchit.spv", VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV);
/*
Setup ray tracing shader groups
@@ -586,7 +586,7 @@ public:
// Scene miss shader group
groups[INDEX_MISS].type = VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV;
groups[INDEX_MISS].generalShader = shaderIndexMiss;
- // Shadow miss shader group
+ // Shadow miss shader group
groups[INDEX_SHADOW_MISS].type = VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV;
groups[INDEX_SHADOW_MISS].generalShader = shaderIndexShadowMiss;
// Scene closest hit shader group
@@ -645,7 +645,7 @@ public:
vkCmdBindPipeline(drawCmdBuffers[i], VK_PIPELINE_BIND_POINT_RAY_TRACING_NV, pipeline);
vkCmdBindDescriptorSets(drawCmdBuffers[i], VK_PIPELINE_BIND_POINT_RAY_TRACING_NV, pipelineLayout, 0, 1, &descriptorSet, 0, 0);
- // Calculate shader binding offsets, which is pretty straight forward in our example
+ // Calculate shader binding offsets, which is pretty straight forward in our example
VkDeviceSize bindingOffsetRayGenShader = rayTracingProperties.shaderGroupHandleSize * INDEX_RAYGEN;
VkDeviceSize bindingOffsetMissShader = rayTracingProperties.shaderGroupHandleSize * INDEX_MISS;
VkDeviceSize bindingOffsetHitShader = rayTracingProperties.shaderGroupHandleSize * INDEX_CLOSEST_HIT;
diff --git a/examples/occlusionquery/occlusionquery.cpp b/examples/occlusionquery/occlusionquery.cpp
index 089ad0ac..766d9fe4 100644
--- a/examples/occlusionquery/occlusionquery.cpp
+++ b/examples/occlusionquery/occlusionquery.cpp
@@ -95,7 +95,7 @@ public:
~VulkanExample()
{
- // Clean up used Vulkan resources
+ // Clean up used Vulkan resources
// Note : Inherited destructor cleans up resources stored in base class
vkDestroyPipeline(device, pipelines.solid, nullptr);
vkDestroyPipeline(device, pipelines.occluder, nullptr);
@@ -130,7 +130,7 @@ public:
{
// We use vkGetQueryResults to copy the results into a host visible buffer
vkGetQueryPoolResults(
- device,
+ device,
queryPool,
0,
2,
@@ -468,8 +468,8 @@ public:
// Load shaders
std::array shaderStages;
- shaderStages[0] = loadShader(getAssetPath() + "shaders/occlusionquery/mesh.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/occlusionquery/mesh.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "occlusionquery/mesh.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "occlusionquery/mesh.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
VkGraphicsPipelineCreateInfo pipelineCreateInfo =
vks::initializers::pipelineCreateInfo(
@@ -491,15 +491,15 @@ public:
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCreateInfo, nullptr, &pipelines.solid));
// Basic pipeline for coloring occluded objects
- shaderStages[0] = loadShader(getAssetPath() + "shaders/occlusionquery/simple.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/occlusionquery/simple.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "occlusionquery/simple.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "occlusionquery/simple.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
rasterizationState.cullMode = VK_CULL_MODE_NONE;
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCreateInfo, nullptr, &pipelines.simple));
// Visual pipeline for the occluder
- shaderStages[0] = loadShader(getAssetPath() + "shaders/occlusionquery/occluder.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/occlusionquery/occluder.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "occlusionquery/occluder.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "occlusionquery/occluder.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
// Enable blending
blendAttachmentState.blendEnable = VK_TRUE;
diff --git a/examples/offscreen/offscreen.cpp b/examples/offscreen/offscreen.cpp
index 73903237..da1451c5 100644
--- a/examples/offscreen/offscreen.cpp
+++ b/examples/offscreen/offscreen.cpp
@@ -93,7 +93,7 @@ public:
};
struct OffscreenPass {
int32_t width, height;
- VkFramebuffer frameBuffer;
+ VkFramebuffer frameBuffer;
FrameBufferAttachment color, depth;
VkRenderPass renderPass;
VkSampler sampler;
@@ -119,7 +119,7 @@ public:
~VulkanExample()
{
- // Clean up used Vulkan resources
+ // Clean up used Vulkan resources
// Note : Inherited destructor cleans up resources stored in base class
// Frame buffer
@@ -324,7 +324,7 @@ public:
VK_CHECK_RESULT(vkCreateFramebuffer(device, &fbufCreateInfo, nullptr, &offscreenPass.frameBuffer));
- // Fill a descriptor for later use in a descriptor set
+ // Fill a descriptor for later use in a descriptor set
offscreenPass.descriptor.imageLayout = VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL;
offscreenPass.descriptor.imageView = offscreenPass.color.view;
offscreenPass.descriptor.sampler = offscreenPass.sampler;
@@ -681,15 +681,15 @@ public:
// Load shaders
std::array shaderStages;
- shaderStages[0] = loadShader(getAssetPath() + "shaders/offscreen/quad.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/offscreen/quad.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "offscreen/quad.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "offscreen/quad.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
// Vertex bindings and attributes
const std::vector vertexInputBindings = {
vks::initializers::vertexInputBindingDescription(0, vertexLayout.stride(), VK_VERTEX_INPUT_RATE_VERTEX),
};
const std::vector vertexInputAttributes = {
- vks::initializers::vertexInputAttributeDescription(0, 0, VK_FORMAT_R32G32B32_SFLOAT, 0), // Location 0: Position
+ vks::initializers::vertexInputAttributeDescription(0, 0, VK_FORMAT_R32G32B32_SFLOAT, 0), // Location 0: Position
vks::initializers::vertexInputAttributeDescription(0, 1, VK_FORMAT_R32G32_SFLOAT, sizeof(float) * 3), // Location 1: UV
vks::initializers::vertexInputAttributeDescription(0, 2, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 5), // Location 2: Color
vks::initializers::vertexInputAttributeDescription(0, 3, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 8), // Location 3: Normal
@@ -715,8 +715,8 @@ public:
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCI, nullptr, &pipelines.debug));
// Mirror
- shaderStages[0] = loadShader(getAssetPath() + "shaders/offscreen/mirror.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/offscreen/mirror.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "offscreen/mirror.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "offscreen/mirror.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
rasterizationState.cullMode = VK_CULL_MODE_NONE;
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCI, nullptr, &pipelines.mirror));
@@ -726,8 +726,8 @@ public:
// Phong shading pipelines
pipelineCI.layout = pipelineLayouts.shaded;
// Scene
- shaderStages[0] = loadShader(getAssetPath() + "shaders/offscreen/phong.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/offscreen/phong.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "offscreen/phong.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "offscreen/phong.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCI, nullptr, &pipelines.shaded));
// Offscreen
// Flip culling
@@ -754,14 +754,14 @@ public:
&uniformBuffers.vsMirror,
sizeof(uboShared)));
- // Offscreen vertex shader uniform buffer block
+ // Offscreen vertex shader uniform buffer block
VK_CHECK_RESULT(vulkanDevice->createBuffer(
VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT,
VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT,
&uniformBuffers.vsOffScreen,
sizeof(uboShared)));
- // Debug quad vertex shader uniform buffer block
+ // Debug quad vertex shader uniform buffer block
VK_CHECK_RESULT(vulkanDevice->createBuffer(
VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT,
VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT,
diff --git a/examples/parallaxmapping/parallaxmapping.cpp b/examples/parallaxmapping/parallaxmapping.cpp
index 7aaaac0c..7d8ca5da 100644
--- a/examples/parallaxmapping/parallaxmapping.cpp
+++ b/examples/parallaxmapping/parallaxmapping.cpp
@@ -82,10 +82,10 @@ public:
VkDescriptorSet descriptorSet;
const std::vector mappingModes = {
- "Color only",
- "Normal mapping",
- "Parallax mapping",
- "Steep parallax mapping",
+ "Color only",
+ "Normal mapping",
+ "Parallax mapping",
+ "Steep parallax mapping",
"Parallax occlusion mapping",
};
@@ -103,12 +103,12 @@ public:
~VulkanExample()
{
vkDestroyPipeline(device, pipeline, nullptr);
-
+
vkDestroyPipelineLayout(device, pipelineLayout, nullptr);
vkDestroyDescriptorSetLayout(device, descriptorSetLayout, nullptr);
models.quad.destroy();
-
+
uniformBuffers.vertexShader.destroy();
uniformBuffers.fragmentShader.destroy();
@@ -203,11 +203,11 @@ public:
void setupDescriptorSetLayout()
{
- std::vector setLayoutBindings = {
- vks::initializers::descriptorSetLayoutBinding(VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, VK_SHADER_STAGE_VERTEX_BIT, 0), // Binding 0: Vertex shader uniform buffer
+ std::vector setLayoutBindings = {
+ vks::initializers::descriptorSetLayoutBinding(VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, VK_SHADER_STAGE_VERTEX_BIT, 0), // Binding 0: Vertex shader uniform buffer
vks::initializers::descriptorSetLayoutBinding(VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, VK_SHADER_STAGE_FRAGMENT_BIT, 1), // Binding 1: Fragment shader color map image sampler
- vks::initializers::descriptorSetLayoutBinding(VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, VK_SHADER_STAGE_FRAGMENT_BIT, 2), // Binding 2: Fragment combined normal and heightmap
- vks::initializers::descriptorSetLayoutBinding(VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, VK_SHADER_STAGE_FRAGMENT_BIT, 3), // Binding 3: Fragment shader uniform buffer
+ vks::initializers::descriptorSetLayoutBinding(VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, VK_SHADER_STAGE_FRAGMENT_BIT, 2), // Binding 2: Fragment combined normal and heightmap
+ vks::initializers::descriptorSetLayoutBinding(VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, VK_SHADER_STAGE_FRAGMENT_BIT, 3), // Binding 3: Fragment shader uniform buffer
};
VkDescriptorSetLayoutCreateInfo descriptorLayout =
@@ -233,7 +233,7 @@ public:
VK_CHECK_RESULT(vkAllocateDescriptorSets(device, &allocInfo, &descriptorSet));
- std::vector writeDescriptorSets = {
+ std::vector writeDescriptorSets = {
vks::initializers::writeDescriptorSet(descriptorSet, VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, 0, &uniformBuffers.vertexShader.descriptor), // Binding 0: Vertex shader uniform buffer
vks::initializers::writeDescriptorSet(descriptorSet, VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, 1, &textures.colorMap.descriptor), // Binding 1: Fragment shader image sampler
vks::initializers::writeDescriptorSet(descriptorSet, VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, 2, &textures.normalHeightMap.descriptor), // Binding 2: Combined normal and heightmap
@@ -293,11 +293,11 @@ public:
std::vector vertexInputBindings = {
vks::initializers::vertexInputBindingDescription(0, vertexLayout.stride(), VK_VERTEX_INPUT_RATE_VERTEX),
};
- std::vector vertexInputAttributes = {
- vks::initializers::vertexInputAttributeDescription(VERTEX_BUFFER_BIND_ID, 0, VK_FORMAT_R32G32B32_SFLOAT, 0), // Location 0: Position
- vks::initializers::vertexInputAttributeDescription(VERTEX_BUFFER_BIND_ID, 1, VK_FORMAT_R32G32_SFLOAT, sizeof(float) * 3), // Location 1: Texture coordinates
- vks::initializers::vertexInputAttributeDescription(VERTEX_BUFFER_BIND_ID, 2, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 5), // Location 2: Normal
- vks::initializers::vertexInputAttributeDescription(VERTEX_BUFFER_BIND_ID, 3, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 8), // Location 3: Tangent
+ std::vector vertexInputAttributes = {
+ vks::initializers::vertexInputAttributeDescription(VERTEX_BUFFER_BIND_ID, 0, VK_FORMAT_R32G32B32_SFLOAT, 0), // Location 0: Position
+ vks::initializers::vertexInputAttributeDescription(VERTEX_BUFFER_BIND_ID, 1, VK_FORMAT_R32G32_SFLOAT, sizeof(float) * 3), // Location 1: Texture coordinates
+ vks::initializers::vertexInputAttributeDescription(VERTEX_BUFFER_BIND_ID, 2, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 5), // Location 2: Normal
+ vks::initializers::vertexInputAttributeDescription(VERTEX_BUFFER_BIND_ID, 3, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 8), // Location 3: Tangent
vks::initializers::vertexInputAttributeDescription(VERTEX_BUFFER_BIND_ID, 4, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 11), // Location 4: Bitangent
};
VkPipelineVertexInputStateCreateInfo vertexInputState = vks::initializers::pipelineVertexInputStateCreateInfo();
@@ -309,8 +309,8 @@ public:
pipelineCreateInfo.pVertexInputState = &vertexInputState;
// Parallax mapping modes pipeline
- shaderStages[0] = loadShader(getAssetPath() + "shaders/parallaxmapping/parallax.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/parallaxmapping/parallax.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "parallaxmapping/parallax.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "parallaxmapping/parallax.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCreateInfo, nullptr, &pipeline));
}
diff --git a/examples/particlefire/particlefire.cpp b/examples/particlefire/particlefire.cpp
index 9eecdccd..4c4a3451 100644
--- a/examples/particlefire/particlefire.cpp
+++ b/examples/particlefire/particlefire.cpp
@@ -1,5 +1,5 @@
/*
-* Vulkan Example - CPU based fire particle system
+* Vulkan Example - CPU based fire particle system
*
* Copyright (C) 2016 by Sascha Willems - www.saschawillems.de
*
@@ -139,7 +139,7 @@ public:
~VulkanExample()
{
- // Clean up used Vulkan resources
+ // Clean up used Vulkan resources
// Note : Inherited destructor cleans up resources stored in base class
textures.particles.smoke.destroy();
@@ -597,8 +597,8 @@ public:
// Particle rendering pipeline
{
// Shaders
- shaderStages[0] = loadShader(getAssetPath() + "shaders/particlefire/particle.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/particlefire/particle.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "particlefire/particle.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "particlefire/particle.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
// Vertex input state
VkVertexInputBindingDescription vertexInputBinding =
@@ -607,7 +607,7 @@ public:
std::vector vertexInputAttributes = {
vks::initializers::vertexInputAttributeDescription(VERTEX_BUFFER_BIND_ID, 0, VK_FORMAT_R32G32B32A32_SFLOAT, offsetof(Particle, pos)), // Location 0: Position
vks::initializers::vertexInputAttributeDescription(VERTEX_BUFFER_BIND_ID, 1, VK_FORMAT_R32G32B32A32_SFLOAT, offsetof(Particle, color)), // Location 1: Color
- vks::initializers::vertexInputAttributeDescription(VERTEX_BUFFER_BIND_ID, 2, VK_FORMAT_R32_SFLOAT, offsetof(Particle, alpha)), // Location 2: Alpha
+ vks::initializers::vertexInputAttributeDescription(VERTEX_BUFFER_BIND_ID, 2, VK_FORMAT_R32_SFLOAT, offsetof(Particle, alpha)), // Location 2: Alpha
vks::initializers::vertexInputAttributeDescription(VERTEX_BUFFER_BIND_ID, 3, VK_FORMAT_R32_SFLOAT, offsetof(Particle, size)), // Location 3: Size
vks::initializers::vertexInputAttributeDescription(VERTEX_BUFFER_BIND_ID, 4, VK_FORMAT_R32_SFLOAT, offsetof(Particle, rotation)), // Location 4: Rotation
vks::initializers::vertexInputAttributeDescription(VERTEX_BUFFER_BIND_ID, 5, VK_FORMAT_R32_SINT, offsetof(Particle, type)), // Location 5: Particle type
@@ -640,8 +640,8 @@ public:
// Environment rendering pipeline (normal mapped)
{
// Shaders
- shaderStages[0] = loadShader(getAssetPath() + "shaders/particlefire/normalmap.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/particlefire/normalmap.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "particlefire/normalmap.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "particlefire/normalmap.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
// Vertex input state
VkVertexInputBindingDescription vertexInputBinding =
@@ -650,7 +650,7 @@ public:
std::vector vertexInputAttributes = {
vks::initializers::vertexInputAttributeDescription(VERTEX_BUFFER_BIND_ID, 0, VK_FORMAT_R32G32B32_SFLOAT, 0), // Location 0: Position
vks::initializers::vertexInputAttributeDescription(VERTEX_BUFFER_BIND_ID, 1, VK_FORMAT_R32G32_SFLOAT, sizeof(float) * 3), // Location 1: UV
- vks::initializers::vertexInputAttributeDescription(VERTEX_BUFFER_BIND_ID, 2, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 5), // Location 2: Normal
+ vks::initializers::vertexInputAttributeDescription(VERTEX_BUFFER_BIND_ID, 2, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 5), // Location 2: Normal
vks::initializers::vertexInputAttributeDescription(VERTEX_BUFFER_BIND_ID, 3, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 8), // Location 3: Tangent
vks::initializers::vertexInputAttributeDescription(VERTEX_BUFFER_BIND_ID, 4, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 11), // Location 4: Bitangen
};
diff --git a/examples/pbrbasic/pbrbasic.cpp b/examples/pbrbasic/pbrbasic.cpp
index a2f28184..01bb7a04 100644
--- a/examples/pbrbasic/pbrbasic.cpp
+++ b/examples/pbrbasic/pbrbasic.cpp
@@ -126,7 +126,7 @@ public:
}
~VulkanExample()
- {
+ {
vkDestroyPipeline(device, pipeline, nullptr);
vkDestroyPipelineLayout(device, pipelineLayout, nullptr);
@@ -182,7 +182,7 @@ public:
Material mat = materials[materialIndex];
-//#define SINGLE_ROW 1
+//#define SINGLE_ROW 1
#ifdef SINGLE_ROW
mat.params.metallic = 1.0;
@@ -343,8 +343,8 @@ public:
pipelineCreateInfo.pVertexInputState = &vertexInputState;
// PBR pipeline
- shaderStages[0] = loadShader(getAssetPath() + "shaders/pbrbasic/pbr.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/pbrbasic/pbr.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "pbrbasic/pbr.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "pbrbasic/pbr.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
// Enable depth test and write
depthStencilState.depthWriteEnable = VK_TRUE;
depthStencilState.depthTestEnable = VK_TRUE;
diff --git a/examples/pbribl/pbribl.cpp b/examples/pbribl/pbribl.cpp
index ac0cad83..11fb0147 100644
--- a/examples/pbribl/pbribl.cpp
+++ b/examples/pbribl/pbribl.cpp
@@ -166,7 +166,7 @@ public:
uniformBuffers.object.destroy();
uniformBuffers.skybox.destroy();
uniformBuffers.params.destroy();
-
+
textures.environmentCube.destroy();
textures.irradianceCube.destroy();
textures.prefilteredCube.destroy();
@@ -232,7 +232,7 @@ public:
Material mat = materials[materialIndex];
-#define SINGLE_ROW 1
+#define SINGLE_ROW 1
#ifdef SINGLE_ROW
uint32_t objcount = 10;
for (uint32_t x = 0; x < objcount; x++) {
@@ -400,13 +400,13 @@ public:
pipelineCreateInfo.pVertexInputState = &vertexInputState;
// Skybox pipeline (background cube)
- shaderStages[0] = loadShader(getAssetPath() + "shaders/pbribl/skybox.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/pbribl/skybox.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "pbribl/skybox.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "pbribl/skybox.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCreateInfo, nullptr, &pipelines.skybox));
// PBR pipeline
- shaderStages[0] = loadShader(getAssetPath() + "shaders/pbribl/pbribl.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/pbribl/pbribl.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "pbribl/pbribl.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "pbribl/pbribl.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
// Enable depth test and write
depthStencilState.depthWriteEnable = VK_TRUE;
depthStencilState.depthTestEnable = VK_TRUE;
@@ -523,7 +523,7 @@ public:
framebufferCI.width = dim;
framebufferCI.height = dim;
framebufferCI.layers = 1;
-
+
VkFramebuffer framebuffer;
VK_CHECK_RESULT(vkCreateFramebuffer(device, &framebufferCI, nullptr, &framebuffer));
@@ -575,8 +575,8 @@ public:
pipelineCI.pVertexInputState = &emptyInputState;
// Look-up-table (from BRDF) pipeline
- shaderStages[0] = loadShader(getAssetPath() + "shaders/pbribl/genbrdflut.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/pbribl/genbrdflut.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "pbribl/genbrdflut.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "pbribl/genbrdflut.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
VkPipeline pipeline;
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCI, nullptr, &pipeline));
@@ -604,7 +604,7 @@ public:
vulkanDevice->flushCommandBuffer(cmdBuf, queue);
vkQueueWaitIdle(queue);
-
+
// todo: cleanup
vkDestroyPipeline(device, pipeline, nullptr);
vkDestroyPipelineLayout(device, pipelinelayout, nullptr);
@@ -861,8 +861,8 @@ public:
pipelineCI.pVertexInputState = &vertexInputState;
pipelineCI.renderPass = renderpass;
- shaderStages[0] = loadShader(getAssetPath() + "shaders/pbribl/filtercube.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/pbribl/irradiancecube.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "pbribl/filtercube.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "pbribl/irradiancecube.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
VkPipeline pipeline;
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCI, nullptr, &pipeline));
@@ -977,7 +977,7 @@ public:
1,
©Region);
- // Transform framebuffer color attachment back
+ // Transform framebuffer color attachment back
vks::tools::setImageLayout(
cmdBuf,
offscreen.image,
@@ -1255,8 +1255,8 @@ public:
pipelineCI.pVertexInputState = &vertexInputState;
pipelineCI.renderPass = renderpass;
- shaderStages[0] = loadShader(getAssetPath() + "shaders/pbribl/filtercube.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/pbribl/prefilterenvmap.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "pbribl/filtercube.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "pbribl/prefilterenvmap.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
VkPipeline pipeline;
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCI, nullptr, &pipeline));
@@ -1293,7 +1293,7 @@ public:
VkViewport viewport = vks::initializers::viewport((float)dim, (float)dim, 0.0f, 1.0f);
VkRect2D scissor = vks::initializers::rect2D(dim, dim, 0, 0);
-
+
vkCmdSetViewport(cmdBuf, 0, 1, &viewport);
vkCmdSetScissor(cmdBuf, 0, 1, &scissor);
@@ -1338,10 +1338,10 @@ public:
vkCmdEndRenderPass(cmdBuf);
vks::tools::setImageLayout(
- cmdBuf,
- offscreen.image,
- VK_IMAGE_ASPECT_COLOR_BIT,
- VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL,
+ cmdBuf,
+ offscreen.image,
+ VK_IMAGE_ASPECT_COLOR_BIT,
+ VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL,
VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL);
// Copy region for transfer from framebuffer to cube face
@@ -1372,7 +1372,7 @@ public:
1,
©Region);
- // Transform framebuffer color attachment back
+ // Transform framebuffer color attachment back
vks::tools::setImageLayout(
cmdBuf,
offscreen.image,
diff --git a/examples/pbrtexture/main.cpp b/examples/pbrtexture/main.cpp
index bb6b238c..cb7a7485 100644
--- a/examples/pbrtexture/main.cpp
+++ b/examples/pbrtexture/main.cpp
@@ -122,7 +122,7 @@ public:
uniformBuffers.object.destroy();
uniformBuffers.skybox.destroy();
uniformBuffers.params.destroy();
-
+
textures.environmentCube.destroy();
textures.irradianceCube.destroy();
textures.prefilteredCube.destroy();
@@ -340,14 +340,14 @@ public:
pipelineCreateInfo.pVertexInputState = &vertexInputState;
// Skybox pipeline (background cube)
- shaderStages[0] = loadShader(getAssetPath() + "shaders/pbrtexture/skybox.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/pbrtexture/skybox.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "pbrtexture/skybox.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "pbrtexture/skybox.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCreateInfo, nullptr, &pipelines.skybox));
// PBR pipeline
rasterizationState.cullMode = VK_CULL_MODE_FRONT_BIT;
- shaderStages[0] = loadShader(getAssetPath() + "shaders/pbrtexture/pbrtexture.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/pbrtexture/pbrtexture.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "pbrtexture/pbrtexture.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "pbrtexture/pbrtexture.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
// Enable depth test and write
depthStencilState.depthWriteEnable = VK_TRUE;
depthStencilState.depthTestEnable = VK_TRUE;
@@ -464,7 +464,7 @@ public:
framebufferCI.width = dim;
framebufferCI.height = dim;
framebufferCI.layers = 1;
-
+
VkFramebuffer framebuffer;
VK_CHECK_RESULT(vkCreateFramebuffer(device, &framebufferCI, nullptr, &framebuffer));
@@ -516,8 +516,8 @@ public:
pipelineCI.pVertexInputState = &emptyInputState;
// Look-up-table (from BRDF) pipeline
- shaderStages[0] = loadShader(getAssetPath() + "shaders/pbrtexture/genbrdflut.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/pbrtexture/genbrdflut.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "pbrtexture/genbrdflut.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "pbrtexture/genbrdflut.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
VkPipeline pipeline;
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCI, nullptr, &pipeline));
@@ -545,7 +545,7 @@ public:
vulkanDevice->flushCommandBuffer(cmdBuf, queue);
vkQueueWaitIdle(queue);
-
+
// todo: cleanup
vkDestroyPipeline(device, pipeline, nullptr);
vkDestroyPipelineLayout(device, pipelinelayout, nullptr);
@@ -802,8 +802,8 @@ public:
pipelineCI.pVertexInputState = &vertexInputState;
pipelineCI.renderPass = renderpass;
- shaderStages[0] = loadShader(getAssetPath() + "shaders/pbrtexture/filtercube.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/pbrtexture/irradiancecube.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "pbrtexture/filtercube.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "pbrtexture/irradiancecube.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
VkPipeline pipeline;
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCI, nullptr, &pipeline));
@@ -918,7 +918,7 @@ public:
1,
©Region);
- // Transform framebuffer color attachment back
+ // Transform framebuffer color attachment back
vks::tools::setImageLayout(
cmdBuf,
offscreen.image,
@@ -1196,8 +1196,8 @@ public:
pipelineCI.pVertexInputState = &vertexInputState;
pipelineCI.renderPass = renderpass;
- shaderStages[0] = loadShader(getAssetPath() + "shaders/pbrtexture/filtercube.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/pbrtexture/prefilterenvmap.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "pbrtexture/filtercube.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "pbrtexture/prefilterenvmap.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
VkPipeline pipeline;
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCI, nullptr, &pipeline));
@@ -1234,7 +1234,7 @@ public:
VkViewport viewport = vks::initializers::viewport((float)dim, (float)dim, 0.0f, 1.0f);
VkRect2D scissor = vks::initializers::rect2D(dim, dim, 0, 0);
-
+
vkCmdSetViewport(cmdBuf, 0, 1, &viewport);
vkCmdSetScissor(cmdBuf, 0, 1, &scissor);
@@ -1279,10 +1279,10 @@ public:
vkCmdEndRenderPass(cmdBuf);
vks::tools::setImageLayout(
- cmdBuf,
- offscreen.image,
- VK_IMAGE_ASPECT_COLOR_BIT,
- VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL,
+ cmdBuf,
+ offscreen.image,
+ VK_IMAGE_ASPECT_COLOR_BIT,
+ VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL,
VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL);
// Copy region for transfer from framebuffer to cube face
@@ -1313,7 +1313,7 @@ public:
1,
©Region);
- // Transform framebuffer color attachment back
+ // Transform framebuffer color attachment back
vks::tools::setImageLayout(
cmdBuf,
offscreen.image,
diff --git a/examples/pipelines/pipelines.cpp b/examples/pipelines/pipelines.cpp
index 8e3c2d43..73e8076f 100644
--- a/examples/pipelines/pipelines.cpp
+++ b/examples/pipelines/pipelines.cpp
@@ -25,7 +25,7 @@
#define VERTEX_BUFFER_BIND_ID 0
#define ENABLE_VALIDATION false
-class VulkanExample: public VulkanExampleBase
+class VulkanExample: public VulkanExampleBase
{
public:
// Vertex layout for the models
@@ -72,7 +72,7 @@ public:
~VulkanExample()
{
- // Clean up used Vulkan resources
+ // Clean up used Vulkan resources
// Note : Inherited destructor cleans up resources stored in base class
vkDestroyPipeline(device, pipelines.phong, nullptr);
if (deviceFeatures.fillModeNonSolid)
@@ -80,7 +80,7 @@ public:
vkDestroyPipeline(device, pipelines.wireframe, nullptr);
}
vkDestroyPipeline(device, pipelines.toon, nullptr);
-
+
vkDestroyPipelineLayout(device, pipelineLayout, nullptr);
vkDestroyDescriptorSetLayout(device, descriptorSetLayout, nullptr);
@@ -88,7 +88,7 @@ public:
uniformBuffer.destroy();
}
- // Enable physical device features required for this example
+ // Enable physical device features required for this example
virtual void getEnabledFeatures()
{
// Fill mode non solid is required for wireframe display
@@ -102,7 +102,7 @@ public:
}
void buildCommandBuffers()
- {
+ {
VkCommandBufferBeginInfo cmdBufInfo = vks::initializers::commandBufferBeginInfo();
VkClearValue clearValues[2];
@@ -139,11 +139,11 @@ public:
vkCmdBindVertexBuffers(drawCmdBuffers[i], VERTEX_BUFFER_BIND_ID, 1, &models.cube.vertices.buffer, offsets);
vkCmdBindIndexBuffer(drawCmdBuffers[i], models.cube.indices.buffer, 0, VK_INDEX_TYPE_UINT32);
- // Left : Solid colored
+ // Left : Solid colored
viewport.width = (float)width / 3.0;
vkCmdSetViewport(drawCmdBuffers[i], 0, 1, &viewport);
vkCmdBindPipeline(drawCmdBuffers[i], VK_PIPELINE_BIND_POINT_GRAPHICS, pipelines.phong);
-
+
vkCmdDrawIndexed(drawCmdBuffers[i], models.cube.indexCount, 1, 0, 0, 0);
// Center : Toon
@@ -158,7 +158,7 @@ public:
if (deviceFeatures.fillModeNonSolid)
{
- // Right : Wireframe
+ // Right : Wireframe
viewport.x = (float)width / 3.0 + (float)width / 3.0;
vkCmdSetViewport(drawCmdBuffers[i], 0, 1, &viewport);
vkCmdBindPipeline(drawCmdBuffers[i], VK_PIPELINE_BIND_POINT_GRAPHICS, pipelines.wireframe);
@@ -312,9 +312,9 @@ public:
// Attribute descriptions
std::vector vertexInputAttributes = {
- vks::initializers::vertexInputAttributeDescription(VERTEX_BUFFER_BIND_ID, 0, VK_FORMAT_R32G32B32_SFLOAT, 0), // Location 0: Position
- vks::initializers::vertexInputAttributeDescription(VERTEX_BUFFER_BIND_ID, 1, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 3), // Location 1: Color
- vks::initializers::vertexInputAttributeDescription(VERTEX_BUFFER_BIND_ID, 2, VK_FORMAT_R32G32_SFLOAT, sizeof(float) * 6), // Location 2 : Texture coordinates
+ vks::initializers::vertexInputAttributeDescription(VERTEX_BUFFER_BIND_ID, 0, VK_FORMAT_R32G32B32_SFLOAT, 0), // Location 0: Position
+ vks::initializers::vertexInputAttributeDescription(VERTEX_BUFFER_BIND_ID, 1, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 3), // Location 1: Color
+ vks::initializers::vertexInputAttributeDescription(VERTEX_BUFFER_BIND_ID, 2, VK_FORMAT_R32G32_SFLOAT, sizeof(float) * 6), // Location 2 : Texture coordinates
vks::initializers::vertexInputAttributeDescription(VERTEX_BUFFER_BIND_ID, 3, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 8), // Location 3 : Normal
};
@@ -330,14 +330,14 @@ public:
// We are using this pipeline as the base for the other pipelines (derivatives)
// Pipeline derivatives can be used for pipelines that share most of their state
- // Depending on the implementation this may result in better performance for pipeline
+ // Depending on the implementation this may result in better performance for pipeline
// switchting and faster creation time
pipelineCreateInfo.flags = VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT;
// Textured pipeline
// Phong shading pipeline
- shaderStages[0] = loadShader(getAssetPath() + "shaders/pipelines/phong.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/pipelines/phong.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "pipelines/phong.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "pipelines/phong.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCreateInfo, nullptr, &pipelines.phong));
// All pipelines created after the base pipeline will be derivatives
@@ -349,8 +349,8 @@ public:
pipelineCreateInfo.basePipelineIndex = -1;
// Toon shading pipeline
- shaderStages[0] = loadShader(getAssetPath() + "shaders/pipelines/toon.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/pipelines/toon.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "pipelines/toon.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "pipelines/toon.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCreateInfo, nullptr, &pipelines.toon));
// Pipeline for wire frame rendering
@@ -358,8 +358,8 @@ public:
if (deviceFeatures.fillModeNonSolid)
{
rasterizationState.polygonMode = VK_POLYGON_MODE_LINE;
- shaderStages[0] = loadShader(getAssetPath() + "shaders/pipelines/wireframe.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/pipelines/wireframe.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "pipelines/wireframe.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "pipelines/wireframe.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCreateInfo, nullptr, &pipelines.wireframe));
}
}
diff --git a/examples/pipelinestatistics/pipelinestatistics.cpp b/examples/pipelinestatistics/pipelinestatistics.cpp
index a46c7688..9a9c183e 100644
--- a/examples/pipelinestatistics/pipelinestatistics.cpp
+++ b/examples/pipelinestatistics/pipelinestatistics.cpp
@@ -112,7 +112,7 @@ public:
}
}
- // Setup a query pool for storing pipeline statistics
+ // Setup a query pool for storing pipeline statistics
void setupQueryPool()
{
pipelineStatNames = {
@@ -305,7 +305,7 @@ public:
VkPipelineColorBlendAttachmentState blendAttachmentState =
vks::initializers::pipelineColorBlendAttachmentState(0xf, VK_FALSE);
-
+
VkPipelineColorBlendStateCreateInfo colorBlendState =
vks::initializers::pipelineColorBlendStateCreateInfo(1, &blendAttachmentState);
@@ -346,7 +346,7 @@ public:
std::vector vertexInputAttributes = {
vks::initializers::vertexInputAttributeDescription(0, 0, VK_FORMAT_R32G32B32_SFLOAT, 0), // Location 0 : Position
- vks::initializers::vertexInputAttributeDescription(0, 1, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 3), // Location 1 : Normal
+ vks::initializers::vertexInputAttributeDescription(0, 1, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 3), // Location 1 : Normal
vks::initializers::vertexInputAttributeDescription(0, 2, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 6) // Location 3 : Color
};
@@ -380,14 +380,14 @@ public:
std::vector shaderStages;
shaderStages.resize(tessellation ? 4 : 2);
- shaderStages[0] = loadShader(getAssetPath() + "shaders/pipelinestatistics/scene.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/pipelinestatistics/scene.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "pipelinestatistics/scene.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "pipelinestatistics/scene.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
if (tessellation) {
inputAssemblyState.topology = VK_PRIMITIVE_TOPOLOGY_PATCH_LIST;
pipelineCreateInfo.pTessellationState = &tessellationState;
- shaderStages[2] = loadShader(getAssetPath() + "shaders/pipelinestatistics/scene.tesc.spv", VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT);
- shaderStages[3] = loadShader(getAssetPath() + "shaders/pipelinestatistics/scene.tese.spv", VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT);
+ shaderStages[2] = loadShader(getShadersPath() + "pipelinestatistics/scene.tesc.spv", VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT);
+ shaderStages[3] = loadShader(getShadersPath() + "pipelinestatistics/scene.tese.spv", VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT);
}
pipelineCreateInfo.stageCount = static_cast(shaderStages.size());
diff --git a/examples/pushconstants/pushconstants.cpp b/examples/pushconstants/pushconstants.cpp
index 6b59bbeb..941fed01 100644
--- a/examples/pushconstants/pushconstants.cpp
+++ b/examples/pushconstants/pushconstants.cpp
@@ -47,7 +47,7 @@ public:
} models;
vks::Buffer uniformBuffer;
-
+
struct UBOVS {
glm::mat4 projection;
glm::mat4 modelView;
@@ -80,7 +80,7 @@ public:
~VulkanExample()
{
- // Clean up used Vulkan resources
+ // Clean up used Vulkan resources
// Note : Inherited destructor cleans up resources stored in base class
vkDestroyPipeline(device, pipelines.solid, nullptr);
@@ -223,7 +223,7 @@ public:
void setupDescriptorPool()
{
- // Example uses one ubo
+ // Example uses one ubo
std::vector poolSizes =
{
vks::initializers::descriptorPoolSize(VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, 1),
@@ -266,7 +266,7 @@ public:
// 6 * 4 * 4 = 96 bytes
// Spec requires a minimum of 128 bytes, bigger values
// need to be checked against maxPushConstantsSize
- // But even at only 128 bytes, lots of stuff can fit
+ // But even at only 128 bytes, lots of stuff can fit
// inside push constants
VkPushConstantRange pushConstantRange =
vks::initializers::pushConstantRange(
@@ -355,8 +355,8 @@ public:
// Load shaders
std::array shaderStages;
- shaderStages[0] = loadShader(getAssetPath() + "shaders/pushconstants/lights.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/pushconstants/lights.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "pushconstants/lights.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "pushconstants/lights.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
VkGraphicsPipelineCreateInfo pipelineCreateInfo =
vks::initializers::pipelineCreateInfo(
@@ -419,7 +419,7 @@ public:
VulkanExampleBase::prepare();
// Check requested push constant size against hardware limit
- // Specs require 128 bytes, so if the device complies our push constant buffer should always fit into memory
+ // Specs require 128 bytes, so if the device complies our push constant buffer should always fit into memory
assert(sizeof(pushConstants) <= vulkanDevice->properties.limits.maxPushConstantsSize);
loadAssets();
diff --git a/examples/pushdescriptors/pushdescriptors.cpp b/examples/pushdescriptors/pushdescriptors.cpp
index 6c55a7c0..79ae7696 100644
--- a/examples/pushdescriptors/pushdescriptors.cpp
+++ b/examples/pushdescriptors/pushdescriptors.cpp
@@ -3,9 +3,9 @@
*
* Note: Requires a device that supports the VK_KHR_push_descriptor extension
*
-* Push descriptors apply the push constants concept to descriptor sets. So instead of creating
-* per-model descriptor sets (along with a pool for each descriptor type) for rendering multiple objects,
-* this example uses push descriptors to pass descriptor sets for per-model textures and matrices
+* Push descriptors apply the push constants concept to descriptor sets. So instead of creating
+* per-model descriptor sets (along with a pool for each descriptor type) for rendering multiple objects,
+* this example uses push descriptors to pass descriptor sets for per-model textures and matrices
* at command buffer creation time.
*
* Copyright (C) 2018 by Sascha Willems - www.saschawillems.de
@@ -202,7 +202,7 @@ public:
vks::initializers::descriptorSetLayoutBinding(VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, VK_SHADER_STAGE_FRAGMENT_BIT, 2),
};
- VkDescriptorSetLayoutCreateInfo descriptorLayoutCI{};
+ VkDescriptorSetLayoutCreateInfo descriptorLayoutCI{};
descriptorLayoutCI.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
// Setting this flag tells the descriptor set layouts that no actual descriptor sets are allocated but instead pushed at command buffer creation time
descriptorLayoutCI.flags = VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR;
@@ -232,7 +232,7 @@ public:
vks::initializers::vertexInputBindingDescription(0, vertexLayout.stride(), VK_VERTEX_INPUT_RATE_VERTEX),
};
const std::vector vertexInputAttributes = {
- vks::initializers::vertexInputAttributeDescription(0, 0, VK_FORMAT_R32G32B32_SFLOAT, 0), // Location 0: Position
+ vks::initializers::vertexInputAttributeDescription(0, 0, VK_FORMAT_R32G32B32_SFLOAT, 0), // Location 0: Position
vks::initializers::vertexInputAttributeDescription(0, 1, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 3), // Location 1: Normal
vks::initializers::vertexInputAttributeDescription(0, 2, VK_FORMAT_R32G32_SFLOAT, sizeof(float) * 6), // Location 2: UV
vks::initializers::vertexInputAttributeDescription(0, 3, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 8), // Location 3: Color
@@ -254,8 +254,8 @@ public:
pipelineCreateInfoCI.pDynamicState = &dynamicStateCI;
const std::array shaderStages = {
- loadShader(getAssetPath() + "shaders/pushdescriptors/cube.vert.spv", VK_SHADER_STAGE_VERTEX_BIT),
- loadShader(getAssetPath() + "shaders/pushdescriptors/cube.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT)
+ loadShader(getShadersPath() + "pushdescriptors/cube.vert.spv", VK_SHADER_STAGE_VERTEX_BIT),
+ loadShader(getShadersPath() + "pushdescriptors/cube.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT)
};
pipelineCreateInfoCI.stageCount = static_cast(shaderStages.size());
@@ -334,7 +334,7 @@ public:
Extension specific functions
*/
- // The push descriptor update function is part of an extension so it has to be manually loaded
+ // The push descriptor update function is part of an extension so it has to be manually loaded
vkCmdPushDescriptorSetKHR = (PFN_vkCmdPushDescriptorSetKHR)vkGetDeviceProcAddr(device, "vkCmdPushDescriptorSetKHR");
if (!vkCmdPushDescriptorSetKHR) {
vks::tools::exitFatal("Could not get a valid function pointer for vkCmdPushDescriptorSetKHR", -1);
diff --git a/examples/radialblur/radialblur.cpp b/examples/radialblur/radialblur.cpp
index a15462ec..e901080b 100644
--- a/examples/radialblur/radialblur.cpp
+++ b/examples/radialblur/radialblur.cpp
@@ -118,7 +118,7 @@ public:
~VulkanExample()
{
- // Clean up used Vulkan resources
+ // Clean up used Vulkan resources
// Note : Inherited destructor cleans up resources stored in base class
// Frame buffer
@@ -319,7 +319,7 @@ public:
VK_CHECK_RESULT(vkCreateFramebuffer(device, &fbufCreateInfo, nullptr, &offscreenPass.frameBuffer));
- // Fill a descriptor for later use in a descriptor set
+ // Fill a descriptor for later use in a descriptor set
offscreenPass.descriptor.imageLayout = VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL;
offscreenPass.descriptor.imageView = offscreenPass.color.view;
offscreenPass.descriptor.sampler = offscreenPass.sampler;
@@ -397,7 +397,7 @@ public:
scissor = vks::initializers::rect2D(width, height, 0, 0);
vkCmdSetScissor(drawCmdBuffers[i], 0, 1, &scissor);
-
+
// 3D scene
vkCmdBindDescriptorSets(drawCmdBuffers[i], VK_PIPELINE_BIND_POINT_GRAPHICS, pipelineLayouts.scene, 0, 1, &descriptorSets.scene, 0, NULL);
vkCmdBindPipeline(drawCmdBuffers[i], VK_PIPELINE_BIND_POINT_GRAPHICS, pipelines.phongPass);
@@ -536,8 +536,8 @@ public:
pipelineCI.pStages = shaderStages.data();
// Radial blur pipeline
- shaderStages[0] = loadShader(getAssetPath() + "shaders/radialblur/radialblur.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/radialblur/radialblur.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "radialblur/radialblur.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "radialblur/radialblur.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
// Empty vertex input state
VkPipelineVertexInputStateCreateInfo emptyInputState = vks::initializers::pipelineVertexInputStateCreateInfo();
pipelineCI.pVertexInputState = &emptyInputState;
@@ -559,8 +559,8 @@ public:
// Phong pass
pipelineCI.layout = pipelineLayouts.scene;
- shaderStages[0] = loadShader(getAssetPath() + "shaders/radialblur/phongpass.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/radialblur/phongpass.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "radialblur/phongpass.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "radialblur/phongpass.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
blendAttachmentState.blendEnable = VK_FALSE;
depthStencilStateCI.depthWriteEnable = VK_TRUE;
// Vertex bindings and attributes
@@ -568,7 +568,7 @@ public:
vks::initializers::vertexInputBindingDescription(0, vertexLayout.stride(), VK_VERTEX_INPUT_RATE_VERTEX),
};
std::vector vertexInputAttributes = {
- vks::initializers::vertexInputAttributeDescription(0, 0, VK_FORMAT_R32G32B32_SFLOAT, 0), // Position
+ vks::initializers::vertexInputAttributeDescription(0, 0, VK_FORMAT_R32G32B32_SFLOAT, 0), // Position
vks::initializers::vertexInputAttributeDescription(0, 1, VK_FORMAT_R32G32_SFLOAT, sizeof(float) * 3), // Texture coordinates
vks::initializers::vertexInputAttributeDescription(0, 2, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 5), // Color
vks::initializers::vertexInputAttributeDescription(0, 3, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 8), // Normal
@@ -582,8 +582,8 @@ public:
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCI, nullptr, &pipelines.phongPass));
// Color only pass (offscreen blur base)
- shaderStages[0] = loadShader(getAssetPath() + "shaders/radialblur/colorpass.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/radialblur/colorpass.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "radialblur/colorpass.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "radialblur/colorpass.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
pipelineCI.renderPass = offscreenPass.renderPass;
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCI, nullptr, &pipelines.colorPass));
}
diff --git a/examples/renderheadless/renderheadless.cpp b/examples/renderheadless/renderheadless.cpp
index ee279e29..24003fa7 100644
--- a/examples/renderheadless/renderheadless.cpp
+++ b/examples/renderheadless/renderheadless.cpp
@@ -55,7 +55,7 @@ static VKAPI_ATTR VkBool32 VKAPI_CALL debugMessageCallback(
int32_t messageCode,
const char* pLayerPrefix,
const char* pMessage,
- void* pUserData)
+ void* pUserData)
{
LOG("[VALIDATION]: %s - %s\n", pLayerPrefix, pMessage);
return VK_FALSE;
@@ -66,7 +66,7 @@ class VulkanExample
public:
VkInstance instance;
VkPhysicalDevice physicalDevice;
- VkDevice device;
+ VkDevice device;
uint32_t queueFamilyIndex;
VkPipelineCache pipelineCache;
VkQueue queue;
@@ -135,7 +135,7 @@ public:
/*
Submit command buffer to a queue and wait for fence until queue operations have been finished
*/
- void submitWork(VkCommandBuffer cmdBuffer, VkQueue queue)
+ void submitWork(VkCommandBuffer cmdBuffer, VkQueue queue)
{
VkSubmitInfo submitInfo = vks::initializers::submitInfo();
submitInfo.commandBufferCount = 1;
@@ -504,7 +504,7 @@ public:
VK_CHECK_RESULT(vkCreateFramebuffer(device, &framebufferCreateInfo, nullptr, &framebuffer));
}
- /*
+ /*
Prepare graphics pipeline
*/
{
@@ -527,7 +527,7 @@ public:
pipelineCacheCreateInfo.sType = VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO;
VK_CHECK_RESULT(vkCreatePipelineCache(device, &pipelineCacheCreateInfo, nullptr, &pipelineCache));
- // Create pipeline
+ // Create pipeline
VkPipelineInputAssemblyStateCreateInfo inputAssemblyState =
vks::initializers::pipelineInputAssemblyStateCreateInfo(VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST, 0, VK_FALSE);
@@ -598,17 +598,17 @@ public:
shaderStages[1].stage = VK_SHADER_STAGE_FRAGMENT_BIT;
shaderStages[1].pName = "main";
#if defined(VK_USE_PLATFORM_ANDROID_KHR)
- shaderStages[0].module = vks::tools::loadShader(androidapp->activity->assetManager, (getAssetPath() + "shaders/renderheadless/triangle.vert.spv").c_str(), device);
- shaderStages[1].module = vks::tools::loadShader(androidapp->activity->assetManager, (getAssetPath() + "shaders/renderheadless/triangle.frag.spv").c_str(), device);
+ shaderStages[0].module = vks::tools::loadShader(androidapp->activity->assetManager, (getShadersPath() + "renderheadless/triangle.vert.spv").c_str(), device);
+ shaderStages[1].module = vks::tools::loadShader(androidapp->activity->assetManager, (getShadersPath() + "renderheadless/triangle.frag.spv").c_str(), device);
#else
- shaderStages[0].module = vks::tools::loadShader((getAssetPath() + "shaders/renderheadless/triangle.vert.spv").c_str(), device);
- shaderStages[1].module = vks::tools::loadShader((getAssetPath() + "shaders/renderheadless/triangle.frag.spv").c_str(), device);
+ shaderStages[0].module = vks::tools::loadShader((getShadersPath() + "renderheadless/triangle.vert.spv").c_str(), device);
+ shaderStages[1].module = vks::tools::loadShader((getShadersPath() + "renderheadless/triangle.frag.spv").c_str(), device);
#endif
shaderModules = { shaderStages[0].module, shaderStages[1].module };
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCreateInfo, nullptr, &pipeline));
}
- /*
+ /*
Command buffer creation
*/
{
@@ -617,7 +617,7 @@ public:
vks::initializers::commandBufferAllocateInfo(commandPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY, 1);
VK_CHECK_RESULT(vkAllocateCommandBuffers(device, &cmdBufAllocateInfo, &commandBuffer));
- VkCommandBufferBeginInfo cmdBufInfo =
+ VkCommandBufferBeginInfo cmdBufInfo =
vks::initializers::commandBufferBeginInfo();
VK_CHECK_RESULT(vkBeginCommandBuffer(commandBuffer, &cmdBufInfo));
diff --git a/examples/scenerendering/scenerendering.cpp b/examples/scenerendering/scenerendering.cpp
index 53648655..ebc1c2ce 100644
--- a/examples/scenerendering/scenerendering.cpp
+++ b/examples/scenerendering/scenerendering.cpp
@@ -33,8 +33,8 @@
#include
#include
-#include
-#include
+#include
+#include
#include
#include
@@ -235,8 +235,8 @@ private:
// We will be using a push constant block to pass material properties to the fragment shaders
VkPushConstantRange pushConstantRange = vks::initializers::pushConstantRange(
- VK_SHADER_STAGE_FRAGMENT_BIT,
- sizeof(SceneMaterialProperties),
+ VK_SHADER_STAGE_FRAGMENT_BIT,
+ sizeof(SceneMaterialProperties),
0);
pipelineLayoutCreateInfo.pushConstantRangeCount = 1;
pipelineLayoutCreateInfo.pPushConstantRanges = &pushConstantRange;
@@ -343,7 +343,7 @@ private:
// For better performance we only create one index and vertex buffer to keep number of memory allocations down
size_t vertexDataSize = vertices.size() * sizeof(Vertex);
size_t indexDataSize = indices.size() * sizeof(uint32_t);
-
+
vks::Buffer vertexStaging, indexStaging;
// Vertex buffer
@@ -600,7 +600,7 @@ public:
delete(scene);
}
- // Enable physical device features required for this example
+ // Enable physical device features required for this example
virtual void getEnabledFeatures()
{
// Fill mode non solid is required for wireframe display
@@ -751,8 +751,8 @@ public:
std::array shaderStages;
// Solid rendering pipeline
- shaderStages[0] = loadShader(getAssetPath() + "shaders/scenerendering/scene.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/scenerendering/scene.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "scenerendering/scene.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "scenerendering/scene.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
VkGraphicsPipelineCreateInfo pipelineCreateInfo =
vks::initializers::pipelineCreateInfo(
diff --git a/examples/screenshot/screenshot.cpp b/examples/screenshot/screenshot.cpp
index 7f33cd3a..4c9d2171 100644
--- a/examples/screenshot/screenshot.cpp
+++ b/examples/screenshot/screenshot.cpp
@@ -135,7 +135,7 @@ public:
void setupDescriptorSetLayout()
{
- std::vector setLayoutBindings = {
+ std::vector setLayoutBindings = {
vks::initializers::descriptorSetLayoutBinding(VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, VK_SHADER_STAGE_VERTEX_BIT, 0), // Binding 0: Vertex shader uniform buffer
};
VkDescriptorSetLayoutCreateInfo descriptorLayout = vks::initializers::descriptorSetLayoutCreateInfo(setLayoutBindings);
@@ -149,7 +149,7 @@ public:
{
VkDescriptorSetAllocateInfo allocInfo = vks::initializers::descriptorSetAllocateInfo(descriptorPool, &descriptorSetLayout, 1);
VK_CHECK_RESULT(vkAllocateDescriptorSets(device, &allocInfo, &descriptorSet));
- std::vector writeDescriptorSets = {
+ std::vector writeDescriptorSets = {
vks::initializers::writeDescriptorSet(descriptorSet, VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, 0, &uniformBuffer.descriptor), // Binding 0: Vertex shader uniform buffer
};
vkUpdateDescriptorSets(device, writeDescriptorSets.size(), writeDescriptorSets.data(), 0, nullptr);
@@ -165,7 +165,7 @@ public:
VkPipelineViewportStateCreateInfo viewportState = vks::initializers::pipelineViewportStateCreateInfo(1, 1, 0);
VkPipelineMultisampleStateCreateInfo multisampleState = vks::initializers::pipelineMultisampleStateCreateInfo(VK_SAMPLE_COUNT_1_BIT, 0);
std::vector dynamicStateEnables = { VK_DYNAMIC_STATE_VIEWPORT, VK_DYNAMIC_STATE_SCISSOR };
- VkPipelineDynamicStateCreateInfo dynamicState = vks::initializers::pipelineDynamicStateCreateInfo(dynamicStateEnables);
+ VkPipelineDynamicStateCreateInfo dynamicState = vks::initializers::pipelineDynamicStateCreateInfo(dynamicStateEnables);
// Vertex bindings and attributes
// Binding description
@@ -185,8 +185,8 @@ public:
vertexInputState.pVertexAttributeDescriptions = vertexInputAttributes.data();
std::array shaderStages = {
- loadShader(getAssetPath() + "shaders/screenshot/mesh.vert.spv", VK_SHADER_STAGE_VERTEX_BIT),
- loadShader(getAssetPath() + "shaders/screenshot/mesh.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT),
+ loadShader(getShadersPath() + "screenshot/mesh.vert.spv", VK_SHADER_STAGE_VERTEX_BIT),
+ loadShader(getShadersPath() + "screenshot/mesh.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT),
};
VkGraphicsPipelineCreateInfo pipelineCreateInfo = vks::initializers::pipelineCreateInfo(pipelineLayout, renderPass, 0);
@@ -242,7 +242,7 @@ public:
supportsBlit = false;
}
- // Check if the device supports blitting to linear images
+ // Check if the device supports blitting to linear images
vkGetPhysicalDeviceFormatProperties(physicalDevice, VK_FORMAT_R8G8B8A8_UNORM, &formatProps);
if (!(formatProps.linearTilingFeatures & VK_FORMAT_FEATURE_BLIT_DST_BIT)) {
std::cerr << "Device does not support blitting to linear tiled images, using copy instead of blit!" << std::endl;
@@ -251,7 +251,7 @@ public:
// Source for the copy is the last rendered swapchain image
VkImage srcImage = swapChain.images[currentBuffer];
-
+
// Create the linear tiled destination image to copy to and to read the memory from
VkImageCreateInfo imageCreateCI(vks::initializers::imageCreateInfo());
imageCreateCI.imageType = VK_IMAGE_TYPE_2D;
@@ -396,7 +396,7 @@ public:
// If source is BGR (destination is always RGB) and we can't use blit (which does automatic conversion), we'll have to manually swizzle color components
bool colorSwizzle = false;
- // Check if source is BGR
+ // Check if source is BGR
// Note: Not complete, only contains most common and basic BGR surface formats for demonstation purposes
if (!supportsBlit)
{
@@ -405,13 +405,13 @@ public:
}
// ppm binary pixel data
- for (uint32_t y = 0; y < height; y++)
+ for (uint32_t y = 0; y < height; y++)
{
unsigned int *row = (unsigned int*)data;
- for (uint32_t x = 0; x < width; x++)
+ for (uint32_t x = 0; x < width; x++)
{
- if (colorSwizzle)
- {
+ if (colorSwizzle)
+ {
file.write((char*)row+2, 1);
file.write((char*)row+1, 1);
file.write((char*)row, 1);
diff --git a/examples/shadowmapping/shadowmapping.cpp b/examples/shadowmapping/shadowmapping.cpp
index bc35e202..ce15be5d 100644
--- a/examples/shadowmapping/shadowmapping.cpp
+++ b/examples/shadowmapping/shadowmapping.cpp
@@ -142,7 +142,7 @@ public:
~VulkanExample()
{
- // Clean up used Vulkan resources
+ // Clean up used Vulkan resources
// Note : Inherited destructor cleans up resources stored in base class
// Frame buffer
@@ -273,7 +273,7 @@ public:
depthStencilView.image = offscreenPass.depth.image;
VK_CHECK_RESULT(vkCreateImageView(device, &depthStencilView, nullptr, &offscreenPass.depth.view));
- // Create sampler to sample from to depth attachment
+ // Create sampler to sample from to depth attachment
// Used to sample in the fragment shader for shadowed rendering
VkSamplerCreateInfo sampler = vks::initializers::samplerCreateInfo();
sampler.magFilter = SHADOWMAP_FILTER;
@@ -293,7 +293,7 @@ public:
// Create frame buffer
VkFramebufferCreateInfo fbufCreateInfo = vks::initializers::framebufferCreateInfo();
- fbufCreateInfo.renderPass = offscreenPass.renderPass;
+ fbufCreateInfo.renderPass = offscreenPass.renderPass;
fbufCreateInfo.attachmentCount = 1;
fbufCreateInfo.pAttachments = &offscreenPass.depth.view;
fbufCreateInfo.width = offscreenPass.width;
@@ -321,7 +321,7 @@ public:
*/
{
clearValues[0].depthStencil = { 1.0f, 0 };
-
+
VkRenderPassBeginInfo renderPassBeginInfo = vks::initializers::renderPassBeginInfo();
renderPassBeginInfo.renderPass = offscreenPass.renderPass;
renderPassBeginInfo.framebuffer = offscreenPass.frameBuffer;
@@ -331,7 +331,7 @@ public:
renderPassBeginInfo.pClearValues = clearValues;
vkCmdBeginRenderPass(drawCmdBuffers[i], &renderPassBeginInfo, VK_SUBPASS_CONTENTS_INLINE);
-
+
viewport = vks::initializers::viewport((float)offscreenPass.width, (float)offscreenPass.height, 0.0f, 1.0f);
vkCmdSetViewport(drawCmdBuffers[i], 0, 1, &viewport);
@@ -584,8 +584,8 @@ public:
// Shadow mapping debug quad display
rasterizationStateCI.cullMode = VK_CULL_MODE_NONE;
- shaderStages[0] = loadShader(getAssetPath() + "shaders/shadowmapping/quad.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/shadowmapping/quad.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "shadowmapping/quad.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "shadowmapping/quad.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
// Empty vertex input state
VkPipelineVertexInputStateCreateInfo emptyInputState = vks::initializers::pipelineVertexInputStateCreateInfo();
pipelineCI.pVertexInputState = &emptyInputState;
@@ -596,7 +596,7 @@ public:
vks::initializers::vertexInputBindingDescription(0, vertexLayout.stride(), VK_VERTEX_INPUT_RATE_VERTEX),
};
std::vector vertexInputAttributes = {
- vks::initializers::vertexInputAttributeDescription(0, 0, VK_FORMAT_R32G32B32_SFLOAT, 0), // Position
+ vks::initializers::vertexInputAttributeDescription(0, 0, VK_FORMAT_R32G32B32_SFLOAT, 0), // Position
vks::initializers::vertexInputAttributeDescription(0, 1, VK_FORMAT_R32G32_SFLOAT, sizeof(float) * 3), // Texture coordinates
vks::initializers::vertexInputAttributeDescription(0, 2, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 5), // Color
vks::initializers::vertexInputAttributeDescription(0, 3, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 8), // Normal
@@ -610,8 +610,8 @@ public:
// Scene rendering with shadows applied
rasterizationStateCI.cullMode = VK_CULL_MODE_BACK_BIT;
- shaderStages[0] = loadShader(getAssetPath() + "shaders/shadowmapping/scene.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/shadowmapping/scene.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "shadowmapping/scene.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "shadowmapping/scene.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
// Use specialization constants to select between horizontal and vertical blur
uint32_t enablePCF = 0;
VkSpecializationMapEntry specializationMapEntry = vks::initializers::specializationMapEntry(0, 0, sizeof(uint32_t));
@@ -624,7 +624,7 @@ public:
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCI, nullptr, &pipelines.sceneShadowPCF));
// Offscreen pipeline (vertex shader only)
- shaderStages[0] = loadShader(getAssetPath() + "shaders/shadowmapping/offscreen.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "shadowmapping/offscreen.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
pipelineCI.stageCount = 1;
// No blend attachment states (no color attachments used)
colorBlendStateCI.attachmentCount = 0;
@@ -662,7 +662,7 @@ public:
&uniformBuffers.offscreen,
sizeof(uboOffscreenVS)));
- // Scene vertex shader uniform buffer block
+ // Scene vertex shader uniform buffer block
VK_CHECK_RESULT(vulkanDevice->createBuffer(
VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT,
VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT,
diff --git a/examples/shadowmappingcascade/shadowmappingcascade.cpp b/examples/shadowmappingcascade/shadowmappingcascade.cpp
index 61970def..3255be78 100644
--- a/examples/shadowmappingcascade/shadowmappingcascade.cpp
+++ b/examples/shadowmappingcascade/shadowmappingcascade.cpp
@@ -207,7 +207,7 @@ public:
{
enabledFeatures.samplerAnisotropy = deviceFeatures.samplerAnisotropy;
// Depth clamp to avoid near plane clipping
- enabledFeatures.depthClamp = deviceFeatures.depthClamp;
+ enabledFeatures.depthClamp = deviceFeatures.depthClamp;
}
/*
@@ -400,7 +400,7 @@ public:
VkDeviceSize offsets[1] = { 0 };
for (int32_t i = 0; i < drawCmdBuffers.size(); i++) {
-
+
VK_CHECK_RESULT(vkBeginCommandBuffer(drawCmdBuffers[i], &cmdBufInfo));
/*
@@ -506,7 +506,7 @@ public:
models[2].loadFromFile(getAssetPath() + "models/oak_leafs.dae", vertexLayout, 2.0f, vulkanDevice, queue);
}
- void setupLayoutsAndDescriptors()
+ void setupLayoutsAndDescriptors()
{
/*
Descriptor pool
@@ -618,7 +618,7 @@ public:
std::vector dynamicStateEnables = { VK_DYNAMIC_STATE_VIEWPORT, VK_DYNAMIC_STATE_SCISSOR };
VkPipelineDynamicStateCreateInfo dynamicState = vks::initializers::pipelineDynamicStateCreateInfo(dynamicStateEnables);
std::array shaderStages;
-
+
VkGraphicsPipelineCreateInfo pipelineCreateInfo = vks::initializers::pipelineCreateInfo(pipelineLayout, renderPass, 0);
pipelineCreateInfo.pInputAssemblyState = &inputAssemblyState;
pipelineCreateInfo.pRasterizationState = &rasterizationState;
@@ -632,8 +632,8 @@ public:
// Shadow map cascade debug quad display
rasterizationState.cullMode = VK_CULL_MODE_BACK_BIT;
- shaderStages[0] = loadShader(getAssetPath() + "shaders/shadowmappingcascade/debugshadowmap.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/shadowmappingcascade/debugshadowmap.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "shadowmappingcascade/debugshadowmap.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "shadowmappingcascade/debugshadowmap.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
// Empty vertex input state
VkPipelineVertexInputStateCreateInfo emptyInputState = vks::initializers::pipelineVertexInputStateCreateInfo();
pipelineCreateInfo.pVertexInputState = &emptyInputState;
@@ -663,8 +663,8 @@ public:
Shadow mapped scene rendering
*/
rasterizationState.cullMode = VK_CULL_MODE_NONE;
- shaderStages[0] = loadShader(getAssetPath() + "shaders/shadowmappingcascade/scene.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/shadowmappingcascade/scene.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "shadowmappingcascade/scene.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "shadowmappingcascade/scene.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
// Use specialization constants to select between horizontal and vertical blur
uint32_t enablePCF = 0;
VkSpecializationMapEntry specializationMapEntry = vks::initializers::specializationMapEntry(0, 0, sizeof(uint32_t));
@@ -677,8 +677,8 @@ public:
/*
Depth map generation
*/
- shaderStages[0] = loadShader(getAssetPath() + "shaders/shadowmappingcascade/depthpass.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/shadowmappingcascade/depthpass.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "shadowmappingcascade/depthpass.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "shadowmappingcascade/depthpass.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
// No blend attachment states (no color attachments used)
colorBlendState.attachmentCount = 0;
depthStencilState.depthCompareOp = VK_COMPARE_OP_LESS_OR_EQUAL;
@@ -726,7 +726,7 @@ public:
void updateCascades()
{
float cascadeSplits[SHADOW_MAP_CASCADE_COUNT];
-
+
float nearClip = camera.getNearClip();
float farClip = camera.getFarClip();
float clipRange = farClip - nearClip;
diff --git a/examples/shadowmappingomni/shadowmappingomni.cpp b/examples/shadowmappingomni/shadowmappingomni.cpp
index bd5cf1f9..35c5c0b2 100644
--- a/examples/shadowmappingomni/shadowmappingomni.cpp
+++ b/examples/shadowmappingomni/shadowmappingomni.cpp
@@ -31,7 +31,7 @@
// Offscreen frame buffer properties
#define FB_DIM TEX_DIM
-#define FB_COLOR_FORMAT VK_FORMAT_R32_SFLOAT
+#define FB_COLOR_FORMAT VK_FORMAT_R32_SFLOAT
class VulkanExample : public VulkanExampleBase
{
@@ -64,7 +64,7 @@ public:
glm::mat4 model;
} uboVSquad;
- glm::vec4 lightPos = glm::vec4(0.0f, -25.0f, 0.0f, 1.0);
+ glm::vec4 lightPos = glm::vec4(0.0f, -25.0f, 0.0f, 1.0);
struct UBO {
glm::mat4 projection;
@@ -82,7 +82,7 @@ public:
} pipelines;
struct {
- VkPipelineLayout scene;
+ VkPipelineLayout scene;
VkPipelineLayout offscreen;
} pipelineLayouts;
@@ -125,7 +125,7 @@ public:
~VulkanExample()
{
- // Clean up used Vulkan resources
+ // Clean up used Vulkan resources
// Note : Inherited destructor cleans up resources stored in base class
// Cube map
@@ -173,7 +173,7 @@ public:
{
shadowCubeMap.width = TEX_DIM;
shadowCubeMap.height = TEX_DIM;
-
+
// 32 bit float format for higher precision
VkFormat format = VK_FORMAT_R32_SFLOAT;
@@ -301,9 +301,9 @@ public:
vks::tools::setImageLayout(
layoutCmd,
- offscreenPass.color.image,
- VK_IMAGE_ASPECT_COLOR_BIT,
- VK_IMAGE_LAYOUT_UNDEFINED,
+ offscreenPass.color.image,
+ VK_IMAGE_ASPECT_COLOR_BIT,
+ VK_IMAGE_LAYOUT_UNDEFINED,
VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL);
colorImageView.image = offscreenPass.color.image;
@@ -333,7 +333,7 @@ public:
vks::tools::setImageLayout(
layoutCmd,
- offscreenPass.depth.image,
+ offscreenPass.depth.image,
VK_IMAGE_ASPECT_DEPTH_BIT | VK_IMAGE_ASPECT_STENCIL_BIT,
VK_IMAGE_LAYOUT_UNDEFINED,
VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL);
@@ -477,7 +477,7 @@ public:
1,
©Region);
- // Transform framebuffer color attachment back
+ // Transform framebuffer color attachment back
vks::tools::setImageLayout(
commandBuffer,
offscreenPass.color.image,
@@ -573,7 +573,7 @@ public:
VK_CHECK_RESULT(vkEndCommandBuffer(drawCmdBuffers[i]));
}
- }
+ }
void loadAssets()
{
@@ -624,7 +624,7 @@ public:
// 3D scene
VK_CHECK_RESULT(vkAllocateDescriptorSets(device, &allocInfo, &descriptorSets.scene));
- // Image descriptor for the cube map
+ // Image descriptor for the cube map
VkDescriptorImageInfo texDescriptor =
vks::initializers::descriptorImageInfo(
shadowCubeMap.sampler,
@@ -718,8 +718,8 @@ public:
// Load shaders
std::array shaderStages;
- shaderStages[0] = loadShader(getAssetPath() + "shaders/shadowmapomni/scene.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/shadowmapomni/scene.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "shadowmapomni/scene.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "shadowmapomni/scene.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
VkGraphicsPipelineCreateInfo pipelineCreateInfo = vks::initializers::pipelineCreateInfo(pipelineLayouts.scene, renderPass, 0);
pipelineCreateInfo.pInputAssemblyState = &inputAssemblyState;
@@ -737,7 +737,7 @@ public:
vks::initializers::vertexInputBindingDescription(0, vertexLayout.stride(), VK_VERTEX_INPUT_RATE_VERTEX),
};
std::vector vertexInputAttributes = {
- vks::initializers::vertexInputAttributeDescription(0, 0, VK_FORMAT_R32G32B32_SFLOAT, 0), // Position
+ vks::initializers::vertexInputAttributeDescription(0, 0, VK_FORMAT_R32G32B32_SFLOAT, 0), // Position
vks::initializers::vertexInputAttributeDescription(0, 1, VK_FORMAT_R32G32_SFLOAT, sizeof(float) * 3), // Texture coordinates
vks::initializers::vertexInputAttributeDescription(0, 2, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 5), // Color
vks::initializers::vertexInputAttributeDescription(0, 3, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 8), // Normal
@@ -751,15 +751,15 @@ public:
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCreateInfo, nullptr, &pipelines.scene));
// Cube map display pipeline
- shaderStages[0] = loadShader(getAssetPath() + "shaders/shadowmapomni/cubemapdisplay.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/shadowmapomni/cubemapdisplay.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "shadowmapomni/cubemapdisplay.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "shadowmapomni/cubemapdisplay.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
VkPipelineVertexInputStateCreateInfo emptyInputState = vks::initializers::pipelineVertexInputStateCreateInfo();
pipelineCreateInfo.pVertexInputState = &emptyInputState;
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCreateInfo, nullptr, &pipelines.cubemapDisplay));
// Offscreen pipeline
- shaderStages[0] = loadShader(getAssetPath() + "shaders/shadowmapomni/offscreen.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/shadowmapomni/offscreen.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "shadowmapomni/offscreen.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "shadowmapomni/offscreen.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
pipelineCreateInfo.layout = pipelineLayouts.offscreen;
pipelineCreateInfo.renderPass = offscreenPass.renderPass;
pipelineCreateInfo.pVertexInputState = &vertexInputState;
@@ -769,7 +769,7 @@ public:
// Prepare and initialize uniform buffer containing shader uniforms
void prepareUniformBuffers()
{
- // Offscreen vertex shader uniform buffer
+ // Offscreen vertex shader uniform buffer
VK_CHECK_RESULT(vulkanDevice->createBuffer(
VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT,
VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT,
diff --git a/examples/skeletalanimation/skeletalanimation.cpp b/examples/skeletalanimation/skeletalanimation.cpp
index 58afe7fb..708cc14d 100644
--- a/examples/skeletalanimation/skeletalanimation.cpp
+++ b/examples/skeletalanimation/skeletalanimation.cpp
@@ -19,8 +19,8 @@
#include
#include
-#include
-#include
+#include
+#include
#include
#include
@@ -96,7 +96,7 @@ struct BoneInfo
};
};
-class SkinnedMesh
+class SkinnedMesh
{
public:
// Bone related stuff
@@ -113,7 +113,7 @@ public:
// Bone transformations
std::vector boneTransforms;
- // Modifier for the animation
+ // Modifier for the animation
float animationSpeed = 0.75f;
// Currently active animation
aiAnimation* pAnimation;
@@ -416,7 +416,7 @@ public:
~VulkanExample()
{
- // Clean up used Vulkan resources
+ // Clean up used Vulkan resources
// Note : Inherited destructor cleans up resources stored in base class
vkDestroyPipeline(device, pipelines.skinning, nullptr);
vkDestroyPipeline(device, pipelines.texture, nullptr);
@@ -434,14 +434,14 @@ public:
delete(skinnedMesh);
}
- // Enable physical device features required for this example
+ // Enable physical device features required for this example
virtual void getEnabledFeatures()
{
// Enable anisotropic filtering if supported
if (deviceFeatures.samplerAnisotropy) {
enabledFeatures.samplerAnisotropy = VK_TRUE;
}
- // Enable texture compression
+ // Enable texture compression
if (deviceFeatures.textureCompressionBC) {
enabledFeatures.textureCompressionBC = VK_TRUE;
}
@@ -510,7 +510,7 @@ public:
}
}
- // Load a mesh based on data read via assimp
+ // Load a mesh based on data read via assimp
void loadMesh()
{
skinnedMesh = new SkinnedMesh();
@@ -541,12 +541,12 @@ public:
// Setup bones
// One vertex bone info structure per vertex
- uint32_t vertexCount(0);
+ uint32_t vertexCount(0);
for (uint32_t m = 0; m < skinnedMesh->scene->mNumMeshes; m++) {
vertexCount += skinnedMesh->scene->mMeshes[m]->mNumVertices;
};
skinnedMesh->bones.resize(vertexCount);
- // Store global inverse transform matrix of root node
+ // Store global inverse transform matrix of root node
skinnedMesh->globalInverseTransform = skinnedMesh->scene->mRootNode->mTransformation;
skinnedMesh->globalInverseTransform.Inverse();
// Load bones (weights and IDs)
@@ -750,7 +750,7 @@ public:
1);
VK_CHECK_RESULT(vkAllocateDescriptorSets(device, &allocInfo, &descriptorSet));
-
+
VkDescriptorImageInfo texDescriptor =
vks::initializers::descriptorImageInfo(
textures.colorMap.sampler,
@@ -765,7 +765,7 @@ public:
VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER,
0,
&uniformBuffers.mesh.descriptor),
- // Binding 1 : Color map
+ // Binding 1 : Color map
vks::initializers::writeDescriptorSet(
descriptorSet,
VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,
@@ -790,7 +790,7 @@ public:
VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER,
0,
&uniformBuffers.floor.descriptor));
- // Binding 1 : Color map
+ // Binding 1 : Color map
writeDescriptorSets.push_back(
vks::initializers::writeDescriptorSet(
descriptorSets.floor,
@@ -878,11 +878,11 @@ public:
// Attribute descriptions
// Describes memory layout and shader positions
std::vector vertexInputAttributes = {
- vks::initializers::vertexInputAttributeDescription(VERTEX_BUFFER_BIND_ID, 0, VK_FORMAT_R32G32B32_SFLOAT, 0), // Location 0: Position
- vks::initializers::vertexInputAttributeDescription(VERTEX_BUFFER_BIND_ID, 1, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 3), // Location 1: Normal
- vks::initializers::vertexInputAttributeDescription(VERTEX_BUFFER_BIND_ID, 2, VK_FORMAT_R32G32_SFLOAT, sizeof(float) * 6), // Location 2: Texture coordinates
- vks::initializers::vertexInputAttributeDescription(VERTEX_BUFFER_BIND_ID, 3, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 8), // Location 3: Color
- vks::initializers::vertexInputAttributeDescription(VERTEX_BUFFER_BIND_ID, 4, VK_FORMAT_R32G32B32A32_SFLOAT, sizeof(float) * 11), // Location 4: Bone weights
+ vks::initializers::vertexInputAttributeDescription(VERTEX_BUFFER_BIND_ID, 0, VK_FORMAT_R32G32B32_SFLOAT, 0), // Location 0: Position
+ vks::initializers::vertexInputAttributeDescription(VERTEX_BUFFER_BIND_ID, 1, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 3), // Location 1: Normal
+ vks::initializers::vertexInputAttributeDescription(VERTEX_BUFFER_BIND_ID, 2, VK_FORMAT_R32G32_SFLOAT, sizeof(float) * 6), // Location 2: Texture coordinates
+ vks::initializers::vertexInputAttributeDescription(VERTEX_BUFFER_BIND_ID, 3, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 8), // Location 3: Color
+ vks::initializers::vertexInputAttributeDescription(VERTEX_BUFFER_BIND_ID, 4, VK_FORMAT_R32G32B32A32_SFLOAT, sizeof(float) * 11), // Location 4: Bone weights
vks::initializers::vertexInputAttributeDescription(VERTEX_BUFFER_BIND_ID, 5, VK_FORMAT_R32G32B32A32_SINT, sizeof(float) * 15), // Location 5: Bone IDs
};
@@ -895,13 +895,13 @@ public:
pipelineCreateInfo.pVertexInputState = &vertexInputState;
// Skinned mesh rendering pipeline
- shaderStages[0] = loadShader(getAssetPath() + "shaders/skeletalanimation/mesh.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/skeletalanimation/mesh.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "skeletalanimation/mesh.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "skeletalanimation/mesh.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCreateInfo, nullptr, &pipelines.skinning));
// Environment rendering pipeline
- shaderStages[0] = loadShader(getAssetPath() + "shaders/skeletalanimation/texture.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/skeletalanimation/texture.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "skeletalanimation/texture.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "skeletalanimation/texture.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCreateInfo, nullptr, &pipelines.texture));
}
diff --git a/examples/specializationconstants/specializationconstants.cpp b/examples/specializationconstants/specializationconstants.cpp
index 23924f12..6fd93b4e 100644
--- a/examples/specializationconstants/specializationconstants.cpp
+++ b/examples/specializationconstants/specializationconstants.cpp
@@ -28,7 +28,7 @@
#define VERTEX_BUFFER_BIND_ID 0
#define ENABLE_VALIDATION false
-class VulkanExample: public VulkanExampleBase
+class VulkanExample: public VulkanExampleBase
{
public:
struct {
@@ -87,7 +87,7 @@ public:
vkDestroyPipeline(device, pipelines.phong, nullptr);
vkDestroyPipeline(device, pipelines.textured, nullptr);
vkDestroyPipeline(device, pipelines.toon, nullptr);
-
+
vkDestroyPipelineLayout(device, pipelineLayout, nullptr);
vkDestroyDescriptorSetLayout(device, descriptorSetLayout, nullptr);
@@ -97,7 +97,7 @@ public:
}
void buildCommandBuffers()
- {
+ {
VkCommandBufferBeginInfo cmdBufInfo = vks::initializers::commandBufferBeginInfo();
VkClearValue clearValues[2];
@@ -138,7 +138,7 @@ public:
viewport.width = (float)width / 3.0f;
vkCmdSetViewport(drawCmdBuffers[i], 0, 1, &viewport);
vkCmdBindPipeline(drawCmdBuffers[i], VK_PIPELINE_BIND_POINT_GRAPHICS, pipelines.phong);
-
+
vkCmdDrawIndexed(drawCmdBuffers[i], models.cube.indexCount, 1, 0, 0, 0);
// Center
@@ -229,7 +229,7 @@ public:
void setupDescriptorSetLayout()
{
- std::vector setLayoutBindings ={
+ std::vector setLayoutBindings ={
vks::initializers::descriptorSetLayoutBinding(VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, VK_SHADER_STAGE_VERTEX_BIT, 0),
vks::initializers::descriptorSetLayoutBinding(VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, VK_SHADER_STAGE_FRAGMENT_BIT, 1),
};
@@ -259,7 +259,7 @@ public:
VK_CHECK_RESULT(vkAllocateDescriptorSets(device, &allocInfo, &descriptorSet));
- std::vector writeDescriptorSets = {
+ std::vector writeDescriptorSets = {
vks::initializers::writeDescriptorSet(descriptorSet, VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, 0, &uniformBuffer.descriptor),
vks::initializers::writeDescriptorSet(descriptorSet, VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, 1, &textures.colormap.descriptor),
};
@@ -371,8 +371,8 @@ public:
// Create pipelines
// All pipelines will use the same "uber" shader and specialization constants to change branching and parameters of that shader
- shaderStages[0] = loadShader(getAssetPath() + "shaders/specializationconstants/uber.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/specializationconstants/uber.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "specializationconstants/uber.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "specializationconstants/uber.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
// Specialization info is assigned is part of the shader stage (modul) and must be set after creating the module and before creating the pipeline
shaderStages[1].pSpecializationInfo = &specializationInfo;
@@ -451,7 +451,7 @@ public:
}
}
- virtual void windowResized()
+ virtual void windowResized()
{
updateUniformBuffers();
}
diff --git a/examples/sphericalenvmapping/sphericalenvmapping.cpp b/examples/sphericalenvmapping/sphericalenvmapping.cpp
index 8b239ff3..d0a6a154 100644
--- a/examples/sphericalenvmapping/sphericalenvmapping.cpp
+++ b/examples/sphericalenvmapping/sphericalenvmapping.cpp
@@ -84,7 +84,7 @@ public:
~VulkanExample()
{
- // Clean up used Vulkan resources
+ // Clean up used Vulkan resources
// Note : Inherited destructor cleans up resources stored in base class
vkDestroyPipeline(device, pipeline, nullptr);
@@ -332,8 +332,8 @@ public:
// Spherical environment rendering pipeline
// Load shaders
std::array shaderStages;
- shaderStages[0] = loadShader(getAssetPath() + "shaders/sphericalenvmapping/sem.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/sphericalenvmapping/sem.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "sphericalenvmapping/sem.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "sphericalenvmapping/sem.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
VkGraphicsPipelineCreateInfo pipelineCreateInfo =
vks::initializers::pipelineCreateInfo(
diff --git a/examples/ssao/ssao.cpp b/examples/ssao/ssao.cpp
index dc7c468a..48c18b93 100644
--- a/examples/ssao/ssao.cpp
+++ b/examples/ssao/ssao.cpp
@@ -117,7 +117,7 @@ public:
};
struct FrameBuffer {
int32_t width, height;
- VkFramebuffer frameBuffer;
+ VkFramebuffer frameBuffer;
VkRenderPass renderPass;
void setSize(int32_t w, int32_t h)
{
@@ -202,7 +202,7 @@ public:
// Create a frame buffer attachment
void createAttachment(
- VkFormat format,
+ VkFormat format,
VkImageUsageFlagBits usage,
FrameBufferAttachment *attachment,
uint32_t width,
@@ -247,7 +247,7 @@ public:
memAlloc.memoryTypeIndex = vulkanDevice->getMemoryType(memReqs.memoryTypeBits, VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT);
VK_CHECK_RESULT(vkAllocateMemory(device, &memAlloc, nullptr, &attachment->mem));
VK_CHECK_RESULT(vkBindImageMemory(device, attachment->image, attachment->mem, 0));
-
+
VkImageViewCreateInfo imageView = vks::initializers::imageViewCreateInfo();
imageView.viewType = VK_IMAGE_VIEW_TYPE_2D;
imageView.format = format;
@@ -281,7 +281,7 @@ public:
VkBool32 validDepthFormat = vks::tools::getSupportedDepthFormat(physicalDevice, &attDepthFormat);
assert(validDepthFormat);
- // G-Buffer
+ // G-Buffer
createAttachment(VK_FORMAT_R32G32B32A32_SFLOAT, VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT, &frameBuffers.offscreen.position, width, height); // Position + Depth
createAttachment(VK_FORMAT_R8G8B8A8_UNORM, VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT, &frameBuffers.offscreen.normal, width, height); // Normals
createAttachment(VK_FORMAT_R8G8B8A8_UNORM, VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT, &frameBuffers.offscreen.albedo, width, height); // Albedo (color)
@@ -376,7 +376,7 @@ public:
VK_CHECK_RESULT(vkCreateFramebuffer(device, &fbufCreateInfo, nullptr, &frameBuffers.offscreen.frameBuffer));
}
- // SSAO
+ // SSAO
{
VkAttachmentDescription attachmentDescription{};
attachmentDescription.format = frameBuffers.ssao.color.format;
@@ -433,7 +433,7 @@ public:
VK_CHECK_RESULT(vkCreateFramebuffer(device, &fbufCreateInfo, nullptr, &frameBuffers.ssao.frameBuffer));
}
- // SSAO Blur
+ // SSAO Blur
{
VkAttachmentDescription attachmentDescription{};
attachmentDescription.format = frameBuffers.ssaoBlur.color.format;
@@ -699,7 +699,7 @@ public:
vks::initializers::descriptorSetLayoutBinding(VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, VK_SHADER_STAGE_FRAGMENT_BIT, 1), // FS Normals
vks::initializers::descriptorSetLayoutBinding(VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, VK_SHADER_STAGE_FRAGMENT_BIT, 2), // FS SSAO Noise
vks::initializers::descriptorSetLayoutBinding(VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, VK_SHADER_STAGE_FRAGMENT_BIT, 3), // FS SSAO Kernel UBO
- vks::initializers::descriptorSetLayoutBinding(VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, VK_SHADER_STAGE_FRAGMENT_BIT, 4), // FS Params UBO
+ vks::initializers::descriptorSetLayoutBinding(VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, VK_SHADER_STAGE_FRAGMENT_BIT, 4), // FS Params UBO
};
setLayoutCreateInfo = vks::initializers::descriptorSetLayoutCreateInfo(setLayoutBindings.data(), static_cast(setLayoutBindings.size()));
VK_CHECK_RESULT(vkCreateDescriptorSetLayout(device, &setLayoutCreateInfo, nullptr, &descriptorSetLayouts.ssao));
@@ -745,7 +745,7 @@ public:
vks::initializers::descriptorSetLayoutBinding(VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, VK_SHADER_STAGE_FRAGMENT_BIT, 2), // FS Albedo
vks::initializers::descriptorSetLayoutBinding(VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, VK_SHADER_STAGE_FRAGMENT_BIT, 3), // FS SSAO
vks::initializers::descriptorSetLayoutBinding(VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, VK_SHADER_STAGE_FRAGMENT_BIT, 4), // FS SSAO blurred
- vks::initializers::descriptorSetLayoutBinding(VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, VK_SHADER_STAGE_FRAGMENT_BIT, 5), // FS Lights UBO
+ vks::initializers::descriptorSetLayoutBinding(VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, VK_SHADER_STAGE_FRAGMENT_BIT, 5), // FS Lights UBO
};
setLayoutCreateInfo = vks::initializers::descriptorSetLayoutCreateInfo(setLayoutBindings.data(), static_cast(setLayoutBindings.size()));
VK_CHECK_RESULT(vkCreateDescriptorSetLayout(device, &setLayoutCreateInfo, nullptr, &descriptorSetLayouts.composition));
@@ -757,14 +757,14 @@ public:
vks::initializers::descriptorImageInfo(colorSampler, frameBuffers.offscreen.position.view, VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL),
vks::initializers::descriptorImageInfo(colorSampler, frameBuffers.offscreen.normal.view, VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL),
vks::initializers::descriptorImageInfo(colorSampler, frameBuffers.offscreen.albedo.view, VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL),
- vks::initializers::descriptorImageInfo(colorSampler, frameBuffers.ssao.color.view, VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL),
- vks::initializers::descriptorImageInfo(colorSampler, frameBuffers.ssaoBlur.color.view, VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL),
+ vks::initializers::descriptorImageInfo(colorSampler, frameBuffers.ssao.color.view, VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL),
+ vks::initializers::descriptorImageInfo(colorSampler, frameBuffers.ssaoBlur.color.view, VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL),
};
writeDescriptorSets = {
vks::initializers::writeDescriptorSet(descriptorSets.composition, VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, 0, &imageDescriptors[0]), // FS Sampler Position+Depth
vks::initializers::writeDescriptorSet(descriptorSets.composition, VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, 1, &imageDescriptors[1]), // FS Sampler Normals
vks::initializers::writeDescriptorSet(descriptorSets.composition, VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, 2, &imageDescriptors[2]), // FS Sampler Albedo
- vks::initializers::writeDescriptorSet(descriptorSets.composition, VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, 3, &imageDescriptors[3]), // FS Sampler SSAO
+ vks::initializers::writeDescriptorSet(descriptorSets.composition, VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, 3, &imageDescriptors[3]), // FS Sampler SSAO
vks::initializers::writeDescriptorSet(descriptorSets.composition, VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, 4, &imageDescriptors[4]), // FS Sampler SSAO blurred
vks::initializers::writeDescriptorSet(descriptorSets.composition, VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, 5, &uniformBuffers.ssaoParams.descriptor), // FS SSAO Params UBO
};
@@ -789,7 +789,7 @@ public:
vks::initializers::vertexInputBindingDescription(0, vertexLayout.stride(), VK_VERTEX_INPUT_RATE_VERTEX),
};
const std::vector vertexInputAttributes = {
- vks::initializers::vertexInputAttributeDescription(0, 0, VK_FORMAT_R32G32B32_SFLOAT, 0), // Location 0: Position
+ vks::initializers::vertexInputAttributeDescription(0, 0, VK_FORMAT_R32G32B32_SFLOAT, 0), // Location 0: Position
vks::initializers::vertexInputAttributeDescription(0, 1, VK_FORMAT_R32G32_SFLOAT, sizeof(float) * 3), // Location 1: UV
vks::initializers::vertexInputAttributeDescription(0, 2, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 5), // Location 2: Color
vks::initializers::vertexInputAttributeDescription(0, 3, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 8), // Location 3: Normal
@@ -815,13 +815,13 @@ public:
pipelineCreateInfo.stageCount = static_cast(shaderStages.size());
pipelineCreateInfo.pStages = shaderStages.data();
- shaderStages[0] = loadShader(getAssetPath() + "shaders/ssao/fullscreen.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/ssao/composition.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "ssao/fullscreen.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "ssao/composition.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCreateInfo, nullptr, &pipelines.composition));
// SSAO Pass
{
- shaderStages[1] = loadShader(getAssetPath() + "shaders/ssao/ssao.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "ssao/ssao.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
// Set constant parameters via specialization constants
std::array specializationMapEntries;
specializationMapEntries[0] = vks::initializers::specializationMapEntry(0, 0, sizeof(uint32_t)); // SSAO Kernel size
@@ -839,7 +839,7 @@ public:
// SSAO blur pass
{
- shaderStages[1] = loadShader(getAssetPath() + "shaders/ssao/blur.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "ssao/blur.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
pipelineCreateInfo.renderPass = frameBuffers.ssaoBlur.renderPass;
pipelineCreateInfo.layout = pipelineLayouts.ssaoBlur;
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCreateInfo, nullptr, &pipelines.ssaoBlur));
@@ -847,8 +847,8 @@ public:
// Fill G-Buffer
{
- shaderStages[0] = loadShader(getAssetPath() + "shaders/ssao/gbuffer.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/ssao/gbuffer.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "ssao/gbuffer.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "ssao/gbuffer.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
pipelineCreateInfo.pVertexInputState = &vertexInputState;
pipelineCreateInfo.renderPass = frameBuffers.offscreen.renderPass;
pipelineCreateInfo.layout = pipelineLayouts.gBuffer;
@@ -881,7 +881,7 @@ public:
&uniformBuffers.sceneMatrices,
sizeof(uboSceneMatrices));
- // SSAO parameters
+ // SSAO parameters
vulkanDevice->createBuffer(
VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT,
VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT,
diff --git a/examples/stencilbuffer/stencilbuffer.cpp b/examples/stencilbuffer/stencilbuffer.cpp
index e46f9579..1a7990c5 100644
--- a/examples/stencilbuffer/stencilbuffer.cpp
+++ b/examples/stencilbuffer/stencilbuffer.cpp
@@ -149,16 +149,16 @@ public:
}
void setupDescriptorSetLayout()
- {
+ {
std::vector setLayoutBindings = {
vks::initializers::descriptorSetLayoutBinding(VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, VK_SHADER_STAGE_VERTEX_BIT, 0)
};
- VkDescriptorSetLayoutCreateInfo descriptorLayoutInfo =
+ VkDescriptorSetLayoutCreateInfo descriptorLayoutInfo =
vks::initializers::descriptorSetLayoutCreateInfo(setLayoutBindings.data(), 1);
VK_CHECK_RESULT(vkCreateDescriptorSetLayout(device, &descriptorLayoutInfo, nullptr, &descriptorSetLayout));
- VkPipelineLayoutCreateInfo pipelineLayoutInfo =
+ VkPipelineLayoutCreateInfo pipelineLayoutInfo =
vks::initializers::pipelineLayoutCreateInfo(&descriptorSetLayout, 1);
VK_CHECK_RESULT(vkCreatePipelineLayout(device, &pipelineLayoutInfo, nullptr, &pipelineLayout));
}
@@ -215,7 +215,7 @@ public:
};
std::vector vertexInputAttributes = {
vks::initializers::vertexInputAttributeDescription(0, 0, VK_FORMAT_R32G32B32_SFLOAT, 0), // Location 0: Position
- vks::initializers::vertexInputAttributeDescription(0, 1, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 3), // Location 1: Color
+ vks::initializers::vertexInputAttributeDescription(0, 1, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 3), // Location 1: Color
vks::initializers::vertexInputAttributeDescription(0, 2, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 6) // Location 2: Normal
};
@@ -237,8 +237,8 @@ public:
pipelineCreateInfo.pStages = shaderStages.data();
// Toon render and stencil fill pass
- shaderStages[0] = loadShader(getAssetPath() + "shaders/stencilbuffer/toon.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/stencilbuffer/toon.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "stencilbuffer/toon.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "stencilbuffer/toon.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
rasterizationState.cullMode = VK_CULL_MODE_NONE;
@@ -263,8 +263,8 @@ public:
depthStencilState.front = depthStencilState.back;
depthStencilState.depthTestEnable = VK_FALSE;
- shaderStages[0] = loadShader(getAssetPath() + "shaders/stencilbuffer/outline.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/stencilbuffer/outline.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "stencilbuffer/outline.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "stencilbuffer/outline.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCreateInfo, nullptr, &pipelines.outline));
}
diff --git a/examples/subpasses/subpasses.cpp b/examples/subpasses/subpasses.cpp
index da1efd76..0b2908af 100644
--- a/examples/subpasses/subpasses.cpp
+++ b/examples/subpasses/subpasses.cpp
@@ -8,10 +8,10 @@
* Summary:
* Implements a deferred rendering setup with a forward transparency pass using sub passes
*
-* Sub passes allow reading from the previous framebuffer (in the same render pass) at
+* Sub passes allow reading from the previous framebuffer (in the same render pass) at
* the same pixel position.
-*
-* This is a feature that was especially designed for tile-based-renderers
+*
+* This is a feature that was especially designed for tile-based-renderers
* (mostly mobile GPUs) and is a new optomization feature in Vulkan for those GPU types.
*
*/
@@ -129,7 +129,7 @@ public:
camera.movementSpeed = 5.0f;
#ifndef __ANDROID__
camera.rotationSpeed = 0.25f;
-#endif
+#endif
camera.setPosition(glm::vec3(-3.2f, 1.0f, 5.9f));
camera.setRotation(glm::vec3(0.5f, 210.05f, 0.0f));
camera.setPerspective(60.0f, (float)width / (float)height, 0.1f, 256.0f);
@@ -139,7 +139,7 @@ public:
~VulkanExample()
{
- // Clean up used Vulkan resources
+ // Clean up used Vulkan resources
// Note : Inherited destructor cleans up resources stored in base class
vkDestroyPipeline(device, pipelines.offscreen, nullptr);
vkDestroyPipeline(device, pipelines.composition, nullptr);
@@ -164,14 +164,14 @@ public:
uniformBuffers.lights.destroy();
}
- // Enable physical device features required for this example
+ // Enable physical device features required for this example
virtual void getEnabledFeatures()
{
// Enable anisotropic filtering if supported
if (deviceFeatures.samplerAnisotropy) {
enabledFeatures.samplerAnisotropy = VK_TRUE;
}
- // Enable texture compression
+ // Enable texture compression
if (deviceFeatures.textureCompressionBC) {
enabledFeatures.textureCompressionBC = VK_TRUE;
}
@@ -226,7 +226,7 @@ public:
image.samples = VK_SAMPLE_COUNT_1_BIT;
image.tiling = VK_IMAGE_TILING_OPTIMAL;
// VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT flag is required for input attachments
- image.usage = usage | VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT;
+ image.usage = usage | VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT;
image.initialLayout = VK_IMAGE_LAYOUT_UNDEFINED;
VkMemoryAllocateInfo memAlloc = vks::initializers::memoryAllocateInfo();
@@ -255,8 +255,8 @@ public:
// Create color attachments for the G-Buffer components
void createGBufferAttachments()
{
- createAttachment(VK_FORMAT_R16G16B16A16_SFLOAT, VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT, &attachments.position); // (World space) Positions
- createAttachment(VK_FORMAT_R16G16B16A16_SFLOAT, VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT, &attachments.normal); // (World space) Normals
+ createAttachment(VK_FORMAT_R16G16B16A16_SFLOAT, VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT, &attachments.position); // (World space) Positions
+ createAttachment(VK_FORMAT_R16G16B16A16_SFLOAT, VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT, &attachments.normal); // (World space) Normals
createAttachment(VK_FORMAT_R8G8B8A8_UNORM, VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT, &attachments.albedo); // Albedo (color)
}
@@ -317,7 +317,7 @@ public:
attachments.width = width;
attachments.height = height;
- createGBufferAttachments();
+ createGBufferAttachments();
std::array attachments{};
// Color attachment
@@ -701,7 +701,7 @@ public:
VkPipelineDepthStencilStateCreateInfo depthStencilState =
vks::initializers::pipelineDepthStencilStateCreateInfo(
- VK_TRUE,
+ VK_TRUE,
VK_TRUE,
VK_COMPARE_OP_LESS_OR_EQUAL);
@@ -755,9 +755,9 @@ public:
colorBlendState.pAttachments = blendAttachmentStates.data();
// Offscreen scene rendering pipeline
- shaderStages[0] = loadShader(getAssetPath() + "shaders/subpasses/gbuffer.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/subpasses/gbuffer.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
-
+ shaderStages[0] = loadShader(getShadersPath() + "subpasses/gbuffer.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "subpasses/gbuffer.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCreateInfo, nullptr, &pipelines.offscreen));
}
@@ -767,17 +767,17 @@ public:
// Descriptor set layout
std::vector setLayoutBindings =
{
- // Binding 0: Position input attachment
+ // Binding 0: Position input attachment
vks::initializers::descriptorSetLayoutBinding(
VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT,
VK_SHADER_STAGE_FRAGMENT_BIT,
0),
- // Binding 1: Normal input attachment
+ // Binding 1: Normal input attachment
vks::initializers::descriptorSetLayoutBinding(
VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT,
VK_SHADER_STAGE_FRAGMENT_BIT,
1),
- // Binding 2: Albedo input attachment
+ // Binding 2: Albedo input attachment
vks::initializers::descriptorSetLayoutBinding(
VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT,
VK_SHADER_STAGE_FRAGMENT_BIT,
@@ -797,7 +797,7 @@ public:
VK_CHECK_RESULT(vkCreateDescriptorSetLayout(device, &descriptorLayout, nullptr, &descriptorSetLayouts.composition));
// Pipeline layout
- VkPipelineLayoutCreateInfo pPipelineLayoutCreateInfo =
+ VkPipelineLayoutCreateInfo pPipelineLayoutCreateInfo =
vks::initializers::pipelineLayoutCreateInfo(&descriptorSetLayouts.composition, 1);
VK_CHECK_RESULT(vkCreatePipelineLayout(device, &pPipelineLayoutCreateInfo, nullptr, &pipelineLayouts.composition));
@@ -853,9 +853,9 @@ public:
vks::initializers::pipelineDynamicStateCreateInfo(dynamicStateEnables.data(), static_cast(dynamicStateEnables.size()), 0);
std::array shaderStages;
-
- shaderStages[0] = loadShader(getAssetPath() + "shaders/subpasses/composition.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/subpasses/composition.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+
+ shaderStages[0] = loadShader(getShadersPath() + "subpasses/composition.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "subpasses/composition.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
// Use specialization constants to pass number of lights to the shader
VkSpecializationMapEntry specializationEntry{};
@@ -937,8 +937,8 @@ public:
pipelineCreateInfo.layout = pipelineLayouts.transparent;
pipelineCreateInfo.subpass = 2;
- shaderStages[0] = loadShader(getAssetPath() + "shaders/subpasses/transparent.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/subpasses/transparent.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "subpasses/transparent.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "subpasses/transparent.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCreateInfo, nullptr, &pipelines.transparent));
}
@@ -995,7 +995,7 @@ public:
{
light.position = glm::vec4(rndDist(rndGen) * 6.0f, 0.25f + std::abs(rndDist(rndGen)) * 4.0f, rndDist(rndGen) * 6.0f, 1.0f);
light.color = colors[rndCol(rndGen)];
- light.radius = 1.0f + std::abs(rndDist(rndGen));
+ light.radius = 1.0f + std::abs(rndDist(rndGen));
}
}
diff --git a/examples/terraintessellation/terraintessellation.cpp b/examples/terraintessellation/terraintessellation.cpp
index cc72b704..03e266dd 100644
--- a/examples/terraintessellation/terraintessellation.cpp
+++ b/examples/terraintessellation/terraintessellation.cpp
@@ -122,7 +122,7 @@ public:
~VulkanExample()
{
- // Clean up used Vulkan resources
+ // Clean up used Vulkan resources
// Note : Inherited destructor cleans up resources stored in base class
vkDestroyPipeline(device, pipelines.terrain, nullptr);
if (pipelines.wireframe != VK_NULL_HANDLE) {
@@ -153,7 +153,7 @@ public:
}
}
- // Enable physical device features required for this example
+ // Enable physical device features required for this example
virtual void getEnabledFeatures()
{
// Tessellation shader support is required for this example
@@ -175,7 +175,7 @@ public:
if (deviceFeatures.samplerAnisotropy) {
enabledFeatures.samplerAnisotropy = VK_TRUE;
}
- // Enable texture compression
+ // Enable texture compression
if (deviceFeatures.textureCompressionBC) {
enabledFeatures.textureCompressionBC = VK_TRUE;
}
@@ -353,7 +353,7 @@ public:
// Terrain
if (deviceFeatures.pipelineStatisticsQuery) {
- // Begin pipeline statistics query
+ // Begin pipeline statistics query
vkCmdBeginQuery(drawCmdBuffers[i], queryPool, 0, 0);
}
// Render
@@ -387,7 +387,7 @@ public:
HeightMap(std::string filename, uint32_t patchsize, AAssetManager* assetManager)
#else
HeightMap(std::string filename, uint32_t patchsize)
-#endif
+#endif
{
ktxResult result;
ktxTexture* ktxTexture;
@@ -416,7 +416,7 @@ public:
};
~HeightMap()
- {
+ {
delete[] heightdata;
}
@@ -431,7 +431,7 @@ public:
};
// Generate a terrain quad patch for feeding to the tessellation control shader
- void generateTerrain()
+ void generateTerrain()
{
struct Vertex {
glm::vec3 pos;
@@ -444,7 +444,7 @@ public:
const uint32_t vertexCount = PATCH_SIZE * PATCH_SIZE;
Vertex *vertices = new Vertex[vertexCount];
-
+
const float wx = 2.0f;
const float wy = 2.0f;
@@ -469,7 +469,7 @@ public:
for (auto x = 0; x < PATCH_SIZE; x++)
{
for (auto y = 0; y < PATCH_SIZE; y++)
- {
+ {
// Get height samples centered around current position
float heights[3][3];
for (auto hx = -1; hx <= 1; hx++)
@@ -613,7 +613,7 @@ public:
{
// Binding 0 : Shared Tessellation shader ubo
vks::initializers::descriptorSetLayoutBinding(
- VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER,
+ VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER,
VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT | VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT,
0),
// Binding 1 : Height map
@@ -667,9 +667,9 @@ public:
{
// Binding 0 : Shared tessellation shader ubo
vks::initializers::writeDescriptorSet(
- descriptorSets.terrain,
- VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER,
- 0,
+ descriptorSets.terrain,
+ VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER,
+ 0,
&uniformBuffers.terrainTessellation.descriptor),
// Binding 1 : Displacement map
vks::initializers::writeDescriptorSet(
@@ -785,10 +785,10 @@ public:
std::array shaderStages;
// Terrain tessellation pipeline
- shaderStages[0] = loadShader(getAssetPath() + "shaders/terraintessellation/terrain.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/terraintessellation/terrain.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
- shaderStages[2] = loadShader(getAssetPath() + "shaders/terraintessellation/terrain.tesc.spv", VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT);
- shaderStages[3] = loadShader(getAssetPath() + "shaders/terraintessellation/terrain.tese.spv", VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "terraintessellation/terrain.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "terraintessellation/terrain.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[2] = loadShader(getShadersPath() + "terraintessellation/terrain.tesc.spv", VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT);
+ shaderStages[3] = loadShader(getShadersPath() + "terraintessellation/terrain.tese.spv", VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT);
VkGraphicsPipelineCreateInfo pipelineCreateInfo =
vks::initializers::pipelineCreateInfo(pipelineLayouts.terrain, renderPass, 0);
@@ -824,8 +824,8 @@ public:
depthStencilState.depthWriteEnable = VK_FALSE;
pipelineCreateInfo.stageCount = 2;
pipelineCreateInfo.layout = pipelineLayouts.skysphere;
- shaderStages[0] = loadShader(getAssetPath() + "shaders/terraintessellation/skysphere.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/terraintessellation/skysphere.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "terraintessellation/skysphere.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "terraintessellation/skysphere.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCreateInfo, nullptr, &pipelines.skysphere));
}
diff --git a/examples/tessellation/tessellation.cpp b/examples/tessellation/tessellation.cpp
index 6da021c8..45346d6c 100644
--- a/examples/tessellation/tessellation.cpp
+++ b/examples/tessellation/tessellation.cpp
@@ -59,7 +59,7 @@ public:
struct {
vks::Buffer tessControl, tessEval;
} uniformBuffers;
-
+
struct UBOTessControl {
float tessLevel = 3.0f;
} uboTessControl;
@@ -76,7 +76,7 @@ public:
VkPipeline solidPassThrough;
VkPipeline wirePassThrough = VK_NULL_HANDLE;
} pipelines;
-
+
VkPipelineLayout pipelineLayout;
VkDescriptorSet descriptorSet;
VkDescriptorSetLayout descriptorSetLayout;
@@ -93,7 +93,7 @@ public:
~VulkanExample()
{
- // Clean up used Vulkan resources
+ // Clean up used Vulkan resources
// Note : Inherited destructor cleans up resources stored in base class
vkDestroyPipeline(device, pipelines.solid, nullptr);
if (pipelines.wire != VK_NULL_HANDLE) {
@@ -113,7 +113,7 @@ public:
textures.colorMap.destroy();
}
- // Enable physical device features required for this example
+ // Enable physical device features required for this example
virtual void getEnabledFeatures()
{
// Example uses tessellation shaders
@@ -317,7 +317,7 @@ public:
vks::initializers::writeDescriptorSet(descriptorSet, VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, 0, &uniformBuffers.tessControl.descriptor),
// Binding 1 : Tessellation evaluation shader ubo
vks::initializers::writeDescriptorSet(descriptorSet, VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, 1, &uniformBuffers.tessEval.descriptor),
- // Binding 2 : Color map
+ // Binding 2 : Color map
vks::initializers::writeDescriptorSet(descriptorSet, VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, 2, &textures.colorMap.descriptor)
};
vkUpdateDescriptorSets(device, writeDescriptorSets.size(), writeDescriptorSets.data(), 0, NULL);
@@ -380,10 +380,10 @@ public:
// Load shaders
std::array shaderStages;
- shaderStages[0] = loadShader(getAssetPath() + "shaders/tessellation/base.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/tessellation/base.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
- shaderStages[2] = loadShader(getAssetPath() + "shaders/tessellation/pntriangles.tesc.spv", VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT);
- shaderStages[3] = loadShader(getAssetPath() + "shaders/tessellation/pntriangles.tese.spv", VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "tessellation/base.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "tessellation/base.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[2] = loadShader(getShadersPath() + "tessellation/pntriangles.tesc.spv", VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT);
+ shaderStages[3] = loadShader(getShadersPath() + "tessellation/pntriangles.tese.spv", VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT);
VkGraphicsPipelineCreateInfo pipelineCreateInfo =
vks::initializers::pipelineCreateInfo(
@@ -415,8 +415,8 @@ public:
// Pass through pipelines
// Load pass through tessellation shaders (Vert and frag are reused)
- shaderStages[2] = loadShader(getAssetPath() + "shaders/tessellation/passthrough.tesc.spv", VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT);
- shaderStages[3] = loadShader(getAssetPath() + "shaders/tessellation/passthrough.tese.spv", VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT);
+ shaderStages[2] = loadShader(getShadersPath() + "tessellation/passthrough.tesc.spv", VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT);
+ shaderStages[3] = loadShader(getShadersPath() + "tessellation/passthrough.tese.spv", VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT);
// Solid
rasterizationState.polygonMode = VK_POLYGON_MODE_FILL;
@@ -483,7 +483,7 @@ public:
preparePipelines();
setupDescriptorPool();
setupDescriptorSet();
- buildCommandBuffers();
+ buildCommandBuffers();
prepared = true;
}
diff --git a/examples/textoverlay/textoverlay.cpp b/examples/textoverlay/textoverlay.cpp
index b716daec..e8a386fc 100644
--- a/examples/textoverlay/textoverlay.cpp
+++ b/examples/textoverlay/textoverlay.cpp
@@ -232,7 +232,7 @@ public:
VkCommandBuffer copyCmd;
cmdBufAllocateInfo.commandBufferCount = 1;
VK_CHECK_RESULT(vkAllocateCommandBuffers(vulkanDevice->logicalDevice, &cmdBufAllocateInfo, ©Cmd));
-
+
VkCommandBufferBeginInfo cmdBufInfo = vks::initializers::commandBufferBeginInfo();
VK_CHECK_RESULT(vkBeginCommandBuffer(copyCmd, &cmdBufInfo));
@@ -391,7 +391,7 @@ public:
vks::initializers::vertexInputAttributeDescription(0, 0, VK_FORMAT_R32G32_SFLOAT, 0), // Location 0: Position
vks::initializers::vertexInputAttributeDescription(1, 1, VK_FORMAT_R32G32_SFLOAT, sizeof(glm::vec2)), // Location 1: UV
};
-
+
VkPipelineVertexInputStateCreateInfo vertexInputState = vks::initializers::pipelineVertexInputStateCreateInfo();
vertexInputState.vertexBindingDescriptionCount = static_cast(vertexInputBindings.size());
vertexInputState.pVertexBindingDescriptions = vertexInputBindings.data();
@@ -493,7 +493,7 @@ public:
VK_CHECK_RESULT(vkCreateRenderPass(vulkanDevice->logicalDevice, &renderPassInfo, nullptr, &renderPass));
}
- // Map buffer
+ // Map buffer
void beginTextUpdate()
{
VK_CHECK_RESULT(vkMapMemory(vulkanDevice->logicalDevice, memory, 0, VK_WHOLE_SIZE, 0, (void **)&mapped));
@@ -655,7 +655,7 @@ public:
VkPipelineLayout pipelineLayout;
VkPipeline pipeline;
-
+
VkDescriptorSetLayout descriptorSetLayout;
VkDescriptorSet descriptorSet;
@@ -739,7 +739,7 @@ public:
textOverlay->addText(ss.str(), 5.0f, 25.0f, TextOverlay::alignLeft);
textOverlay->addText(deviceProperties.deviceName, 5.0f, 45.0f, TextOverlay::alignLeft);
-
+
// Display projected cube vertices
for (int32_t x = -1; x <= 1; x += 2)
{
@@ -838,7 +838,7 @@ public:
vks::initializers::vertexInputBindingDescription(0, vertexLayout.stride(), VK_VERTEX_INPUT_RATE_VERTEX),
};
std::vector vertexInputAttributes = {
- vks::initializers::vertexInputAttributeDescription(0, 0, VK_FORMAT_R32G32B32_SFLOAT, 0), // Location 0: Position
+ vks::initializers::vertexInputAttributeDescription(0, 0, VK_FORMAT_R32G32B32_SFLOAT, 0), // Location 0: Position
vks::initializers::vertexInputAttributeDescription(0, 1, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 3), // Location 1: Normal
vks::initializers::vertexInputAttributeDescription(0, 2, VK_FORMAT_R32G32_SFLOAT, sizeof(float) * 6), // Location 2: Texture coordinates
vks::initializers::vertexInputAttributeDescription(0, 3, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 8), // Location 3: Color
@@ -851,8 +851,8 @@ public:
// Shaders
std::array shaderStages;
- shaderStages[0] = loadShader(getAssetPath() + "shaders/textoverlay/mesh.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/textoverlay/mesh.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "textoverlay/mesh.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "textoverlay/mesh.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
VkGraphicsPipelineCreateInfo pipelineCreateInfo = vks::initializers::pipelineCreateInfo(pipelineLayout, renderPass, 0);
pipelineCreateInfo.pVertexInputState = &vertexInputState;
@@ -896,8 +896,8 @@ public:
{
// Load the text rendering shaders
std::vector shaderStages;
- shaderStages.push_back(loadShader(getAssetPath() + "shaders/textoverlay/text.vert.spv", VK_SHADER_STAGE_VERTEX_BIT));
- shaderStages.push_back(loadShader(getAssetPath() + "shaders/textoverlay/text.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT));
+ shaderStages.push_back(loadShader(getShadersPath() + "textoverlay/text.vert.spv", VK_SHADER_STAGE_VERTEX_BIT));
+ shaderStages.push_back(loadShader(getShadersPath() + "textoverlay/text.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT));
textOverlay = new TextOverlay(
vulkanDevice,
diff --git a/examples/texture/texture.cpp b/examples/texture/texture.cpp
index d99f4f69..75c76a03 100644
--- a/examples/texture/texture.cpp
+++ b/examples/texture/texture.cpp
@@ -741,8 +741,8 @@ public:
// Load shaders
std::array shaderStages;
- shaderStages[0] = loadShader(getAssetPath() + "shaders/texture/texture.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/texture/texture.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "texture/texture.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "texture/texture.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
VkGraphicsPipelineCreateInfo pipelineCreateInfo =
vks::initializers::pipelineCreateInfo(
diff --git a/examples/texture3d/texture3d.cpp b/examples/texture3d/texture3d.cpp
index 374bbf23..ceff37e3 100644
--- a/examples/texture3d/texture3d.cpp
+++ b/examples/texture3d/texture3d.cpp
@@ -42,18 +42,18 @@ class PerlinNoise
{
private:
uint32_t permutations[512];
- T fade(T t)
- {
- return t * t * t * (t * (t * (T)6 - (T)15) + (T)10);
+ T fade(T t)
+ {
+ return t * t * t * (t * (t * (T)6 - (T)15) + (T)10);
}
- T lerp(T t, T a, T b)
- {
- return a + t * (b - a);
+ T lerp(T t, T a, T b)
+ {
+ return a + t * (b - a);
}
- T grad(int hash, T x, T y, T z)
+ T grad(int hash, T x, T y, T z)
{
// Convert LO 4 bits of hash code into 12 gradient directions
- int h = hash & 15;
+ int h = hash & 15;
T u = h < 8 ? x : y;
T v = h < 4 ? y : h == 12 || h == 14 ? x : z;
return ((h & 1) == 0 ? u : -u) + ((h & 2) == 0 ? v : -v);
@@ -71,7 +71,7 @@ public:
for (uint32_t i = 0; i < 256; i++)
{
permutations[i] = permutations[256 + i] = plookup[i];
- }
+ }
}
T noise(T x, T y, T z)
{
@@ -98,7 +98,7 @@ public:
uint32_t BB = permutations[B + 1] + Z;
// And add blended results for 8 corners of the cube;
- T res = lerp(w, lerp(v,
+ T res = lerp(w, lerp(v,
lerp(u, grad(permutations[AA], x, y, z), grad(permutations[BA], x - 1, y, z)), lerp(u, grad(permutations[AB], x, y - 1, z), grad(permutations[BB], x - 1, y - 1, z))),
lerp(v, lerp(u, grad(permutations[AA + 1], x, y, z - 1), grad(permutations[BA + 1], x - 1, y, z - 1)), lerp(u, grad(permutations[AB + 1], x, y - 1, z - 1), grad(permutations[BB + 1], x - 1, y - 1, z - 1))));
return res;
@@ -111,13 +111,13 @@ class FractalNoise
{
private:
PerlinNoise perlinNoise;
- uint32_t octaves;
+ uint32_t octaves;
T frequency;
T amplitude;
T persistence;
public:
- FractalNoise(const PerlinNoise &perlinNoise)
+ FractalNoise(const PerlinNoise &perlinNoise)
{
this->perlinNoise = perlinNoise;
octaves = 6;
@@ -129,7 +129,7 @@ public:
T sum = 0;
T frequency = (T)1;
T amplitude = (T)1;
- T max = (T)0;
+ T max = (T)0;
for (uint32_t i = 0; i < octaves; i++)
{
sum += perlinNoise.noise(x * frequency, y * frequency, z * frequency) * amplitude;
@@ -203,7 +203,7 @@ public:
~VulkanExample()
{
- // Clean up used Vulkan resources
+ // Clean up used Vulkan resources
// Note : Inherited destructor cleans up resources stored in base class
destroyTextureImage(texture);
@@ -365,7 +365,7 @@ public:
VkBufferCreateInfo bufferCreateInfo = vks::initializers::bufferCreateInfo();
bufferCreateInfo.size = texMemSize;
bufferCreateInfo.usage = VK_BUFFER_USAGE_TRANSFER_SRC_BIT;
- bufferCreateInfo.sharingMode = VK_SHARING_MODE_EXCLUSIVE;
+ bufferCreateInfo.sharingMode = VK_SHARING_MODE_EXCLUSIVE;
VK_CHECK_RESULT(vkCreateBuffer(device, &bufferCreateInfo, nullptr, &stagingBuffer));
// Allocate host visible memory for data upload
@@ -418,7 +418,7 @@ public:
stagingBuffer,
texture.image,
VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL,
- 1,
+ 1,
&bufferCopyRegion);
// Change texture image layout to shader read after all mip levels have been copied
@@ -552,8 +552,8 @@ public:
vertices.inputBinding.resize(1);
vertices.inputBinding[0] =
vks::initializers::vertexInputBindingDescription(
- VERTEX_BUFFER_BIND_ID,
- sizeof(Vertex),
+ VERTEX_BUFFER_BIND_ID,
+ sizeof(Vertex),
VK_VERTEX_INPUT_RATE_VERTEX);
// Attribute descriptions
@@ -565,7 +565,7 @@ public:
VERTEX_BUFFER_BIND_ID,
0,
VK_FORMAT_R32G32B32_SFLOAT,
- offsetof(Vertex, pos));
+ offsetof(Vertex, pos));
// Location 1 : Texture coordinates
vertices.inputAttributes[1] =
vks::initializers::vertexInputAttributeDescription(
@@ -597,7 +597,7 @@ public:
vks::initializers::descriptorPoolSize(VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, 1)
};
- VkDescriptorPoolCreateInfo descriptorPoolInfo =
+ VkDescriptorPoolCreateInfo descriptorPoolInfo =
vks::initializers::descriptorPoolCreateInfo(
static_cast(poolSizes.size()),
poolSizes.data(),
@@ -608,21 +608,21 @@ public:
void setupDescriptorSetLayout()
{
- std::vector setLayoutBindings =
+ std::vector setLayoutBindings =
{
// Binding 0 : Vertex shader uniform buffer
vks::initializers::descriptorSetLayoutBinding(
- VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER,
- VK_SHADER_STAGE_VERTEX_BIT,
+ VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER,
+ VK_SHADER_STAGE_VERTEX_BIT,
0),
// Binding 1 : Fragment shader image sampler
vks::initializers::descriptorSetLayoutBinding(
- VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,
- VK_SHADER_STAGE_FRAGMENT_BIT,
+ VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,
+ VK_SHADER_STAGE_FRAGMENT_BIT,
1)
};
- VkDescriptorSetLayoutCreateInfo descriptorLayout =
+ VkDescriptorSetLayoutCreateInfo descriptorLayout =
vks::initializers::descriptorSetLayoutCreateInfo(
setLayoutBindings.data(),
static_cast(setLayoutBindings.size()));
@@ -639,7 +639,7 @@ public:
void setupDescriptorSet()
{
- VkDescriptorSetAllocateInfo allocInfo =
+ VkDescriptorSetAllocateInfo allocInfo =
vks::initializers::descriptorSetAllocateInfo(
descriptorPool,
&descriptorSetLayout,
@@ -651,15 +651,15 @@ public:
{
// Binding 0 : Vertex shader uniform buffer
vks::initializers::writeDescriptorSet(
- descriptorSet,
- VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER,
- 0,
+ descriptorSet,
+ VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER,
+ 0,
&uniformBufferVS.descriptor),
// Binding 1 : Fragment shader texture sampler
vks::initializers::writeDescriptorSet(
- descriptorSet,
- VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,
- 1,
+ descriptorSet,
+ VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,
+ 1,
&texture.descriptor)
};
@@ -688,7 +688,7 @@ public:
VkPipelineColorBlendStateCreateInfo colorBlendState =
vks::initializers::pipelineColorBlendStateCreateInfo(
- 1,
+ 1,
&blendAttachmentState);
VkPipelineDepthStencilStateCreateInfo depthStencilState =
@@ -718,8 +718,8 @@ public:
// Load shaders
std::array shaderStages;
- shaderStages[0] = loadShader(getAssetPath() + "shaders/texture3d/texture3d.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/texture3d/texture3d.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "texture3d/texture3d.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "texture3d/texture3d.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
VkGraphicsPipelineCreateInfo pipelineCreateInfo =
vks::initializers::pipelineCreateInfo(
diff --git a/examples/texturearray/texturearray.cpp b/examples/texturearray/texturearray.cpp
index c672d2d8..c77f56f4 100644
--- a/examples/texturearray/texturearray.cpp
+++ b/examples/texturearray/texturearray.cpp
@@ -488,8 +488,8 @@ public:
// Instacing pipeline
std::array shaderStages;
- shaderStages[0] = loadShader(getAssetPath() + "shaders/texturearray/instancing.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/texturearray/instancing.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "texturearray/instancing.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "texturearray/instancing.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
VkGraphicsPipelineCreateInfo pipelineCI = vks::initializers::pipelineCreateInfo(pipelineLayout, renderPass, 0);
pipelineCI.pVertexInputState = &vertexInputStateCI;
diff --git a/examples/texturecubemap/texturecubemap.cpp b/examples/texturecubemap/texturecubemap.cpp
index 6ae3eb24..e32cc283 100644
--- a/examples/texturecubemap/texturecubemap.cpp
+++ b/examples/texturecubemap/texturecubemap.cpp
@@ -603,13 +603,13 @@ public:
pipelineCreateInfo.pVertexInputState = &vertexInputState;
// Skybox pipeline (background cube)
- shaderStages[0] = loadShader(getAssetPath() + "shaders/texturecubemap/skybox.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/texturecubemap/skybox.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "texturecubemap/skybox.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "texturecubemap/skybox.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCreateInfo, nullptr, &pipelines.skybox));
// Cube map reflect pipeline
- shaderStages[0] = loadShader(getAssetPath() + "shaders/texturecubemap/reflect.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/texturecubemap/reflect.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "texturecubemap/reflect.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "texturecubemap/reflect.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
// Enable depth test and write
depthStencilState.depthWriteEnable = VK_TRUE;
depthStencilState.depthTestEnable = VK_TRUE;
diff --git a/examples/texturemipmapgen/texturemipmapgen.cpp b/examples/texturemipmapgen/texturemipmapgen.cpp
index e0e12140..bac70fc2 100644
--- a/examples/texturemipmapgen/texturemipmapgen.cpp
+++ b/examples/texturemipmapgen/texturemipmapgen.cpp
@@ -140,7 +140,7 @@ public:
vks::tools::exitFatal("Could not load texture from " + filename + "\n\nThe file may be part of the additional asset pack.\n\nRun \"download_assets.py\" in the repository root to download the latest version.", -1);
}
result = ktxTexture_CreateFromNamedFile(filename.c_str(), KTX_TEXTURE_CREATE_LOAD_IMAGE_DATA_BIT, &ktxTexture);
-#endif
+#endif
assert(result == KTX_SUCCESS);
texture.width = ktxTexture->baseWidth;
@@ -171,7 +171,7 @@ public:
bufferCreateInfo.size = ktxTextureSize;
// This buffer is used as a transfer source for the buffer copy
bufferCreateInfo.usage = VK_BUFFER_USAGE_TRANSFER_SRC_BIT;
- bufferCreateInfo.sharingMode = VK_SHARING_MODE_EXCLUSIVE;
+ bufferCreateInfo.sharingMode = VK_SHARING_MODE_EXCLUSIVE;
VK_CHECK_RESULT(vkCreateBuffer(device, &bufferCreateInfo, nullptr, &stagingBuffer));
vkGetBufferMemoryRequirements(device, stagingBuffer, &memReqs);
memAllocInfo.allocationSize = memReqs.size;
@@ -263,7 +263,7 @@ public:
// Copy down mips from n-1 to n
for (int32_t i = 1; i < texture.mipLevels; i++)
{
- VkImageBlit imageBlit{};
+ VkImageBlit imageBlit{};
// Source
imageBlit.srcSubresource.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT;
@@ -468,7 +468,7 @@ public:
vertices.bindingDescriptions.resize(1);
vertices.bindingDescriptions[0] =
vks::initializers::vertexInputBindingDescription(
- VERTEX_BUFFER_BIND_ID,
+ VERTEX_BUFFER_BIND_ID,
vertexLayout.stride(),
VK_VERTEX_INPUT_RATE_VERTEX);
@@ -481,7 +481,7 @@ public:
VERTEX_BUFFER_BIND_ID,
0,
VK_FORMAT_R32G32B32_SFLOAT,
- 0);
+ 0);
// Location 1 : Texture coordinates
vertices.attributeDescriptions[1] =
vks::initializers::vertexInputAttributeDescription(
@@ -513,7 +513,7 @@ public:
vks::initializers::descriptorPoolSize(VK_DESCRIPTOR_TYPE_SAMPLER, 3), // 3 samplers (array)
};
- VkDescriptorPoolCreateInfo descriptorPoolInfo =
+ VkDescriptorPoolCreateInfo descriptorPoolInfo =
vks::initializers::descriptorPoolCreateInfo(
static_cast(poolSizes.size()),
poolSizes.data(),
@@ -545,7 +545,7 @@ public:
2,
3));
- VkDescriptorSetLayoutCreateInfo descriptorLayout =
+ VkDescriptorSetLayoutCreateInfo descriptorLayout =
vks::initializers::descriptorSetLayoutCreateInfo(
setLayoutBindings.data(),
static_cast(setLayoutBindings.size()));
@@ -614,7 +614,7 @@ public:
VkPipelineColorBlendStateCreateInfo colorBlendState =
vks::initializers::pipelineColorBlendStateCreateInfo(
- 1,
+ 1,
&blendAttachmentState);
VkPipelineDepthStencilStateCreateInfo depthStencilState =
@@ -644,8 +644,8 @@ public:
// Load shaders
std::array shaderStages;
- shaderStages[0] = loadShader(getAssetPath() + "shaders/texturemipmapgen/texture.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/texturemipmapgen/texture.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "texturemipmapgen/texture.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "texturemipmapgen/texture.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
VkGraphicsPipelineCreateInfo pipelineCreateInfo =
vks::initializers::pipelineCreateInfo(
diff --git a/examples/texturesparseresidency/texturesparseresidency.cpp b/examples/texturesparseresidency/texturesparseresidency.cpp
index a1bcb26c..7958176a 100644
--- a/examples/texturesparseresidency/texturesparseresidency.cpp
+++ b/examples/texturesparseresidency/texturesparseresidency.cpp
@@ -7,7 +7,7 @@
*/
/*
-todos:
+todos:
- check sparse binding support on queue
- residencyNonResidentStrict
- meta data
@@ -48,14 +48,14 @@ struct Vertex {
// Virtual texture page as a part of the partially resident texture
// Contains memory bindings, offsets and status information
struct VirtualTexturePage
-{
+{
VkOffset3D offset;
VkExtent3D extent;
VkSparseImageMemoryBind imageMemoryBind; // Sparse image memory bind for this page
VkDeviceSize size; // Page (memory) size in bytes
uint32_t mipLevel; // Mip level that this page belongs to
uint32_t layer; // Array layer that this page belongs to
- uint32_t index;
+ uint32_t index;
VirtualTexturePage()
{
@@ -101,7 +101,7 @@ struct VirtualTexturePage
}
};
-// Virtual texture object containing all pages
+// Virtual texture object containing all pages
struct VirtualTexture
{
VkDevice device;
@@ -110,10 +110,10 @@ struct VirtualTexture
std::vector pages; // Contains all virtual pages of the texture
std::vector sparseImageMemoryBinds; // Sparse image memory bindings of all memory-backed virtual tables
std::vector opaqueMemoryBinds; // Sparse ópaque memory bindings for the mip tail (if present)
- VkSparseImageMemoryBindInfo imageMemoryBindInfo; // Sparse image memory bind info
+ VkSparseImageMemoryBindInfo imageMemoryBindInfo; // Sparse image memory bind info
VkSparseImageOpaqueMemoryBindInfo opaqueMemoryBindInfo; // Sparse image opaque memory bind info (mip tail)
uint32_t mipTailStart; // First mip level in mip tail
-
+
VirtualTexturePage* addPage(VkOffset3D offset, VkExtent3D extent, const VkDeviceSize size, const uint32_t mipLevel, uint32_t layer)
{
VirtualTexturePage newPage;
@@ -240,14 +240,14 @@ public:
camera.setRotation(glm::vec3(-8.5f, -200.0f, 0.0f));
camera.setPerspective(60.0f, (float)width / (float)height, 0.1f, 1024.0f);
settings.overlay = true;
- // Device features to be enabled for this example
+ // Device features to be enabled for this example
enabledFeatures.shaderResourceResidency = VK_TRUE;
enabledFeatures.shaderResourceMinLod = VK_TRUE;
}
~VulkanExample()
{
- // Clean up used Vulkan resources
+ // Clean up used Vulkan resources
// Note : Inherited destructor cleans up resources stored in base class
if (heightMap)
@@ -290,7 +290,7 @@ public:
texture.device = vulkanDevice->logicalDevice;
texture.width = width;
texture.height = height;
- texture.mipLevels = floor(log2(std::max(width, height))) + 1;
+ texture.mipLevels = floor(log2(std::max(width, height))) + 1;
texture.layerCount = layerCount;
texture.format = format;
@@ -394,7 +394,7 @@ public:
//todo:multiple reqs
texture.mipTailStart = reqs.imageMipTailFirstLod;
}
-
+
lastFilledMip = texture.mipTailStart - 1;
// Get sparse image requirements for the color aspect
@@ -421,7 +421,7 @@ public:
memoryTypeIndex = vulkanDevice->getMemoryType(sparseImageMemoryReqs.memoryTypeBits, VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT);
// Get sparse bindings
- uint32_t sparseBindsCount = static_cast(sparseImageMemoryReqs.size / sparseImageMemoryReqs.alignment);
+ uint32_t sparseBindsCount = static_cast(sparseImageMemoryReqs.size / sparseImageMemoryReqs.alignment);
std::vector sparseMemoryBinds(sparseBindsCount);
// Check if the format has a single mip tail for all layers or one mip tail for each layer
@@ -460,7 +460,7 @@ public:
{
for (uint32_t x = 0; x < sparseBindCounts.x; x++)
{
- // Offset
+ // Offset
VkOffset3D offset;
offset.x = x * imageGranularity.width;
offset.y = y * imageGranularity.height;
@@ -683,8 +683,8 @@ public:
vertices.bindingDescriptions.resize(1);
vertices.bindingDescriptions[0] =
vks::initializers::vertexInputBindingDescription(
- VERTEX_BUFFER_BIND_ID,
- sizeof(Vertex),
+ VERTEX_BUFFER_BIND_ID,
+ sizeof(Vertex),
VK_VERTEX_INPUT_RATE_VERTEX);
// Attribute descriptions
@@ -696,7 +696,7 @@ public:
VERTEX_BUFFER_BIND_ID,
0,
VK_FORMAT_R32G32B32_SFLOAT,
- offsetof(Vertex, pos));
+ offsetof(Vertex, pos));
// Location 1 : Vertex normal
vertices.attributeDescriptions[1] =
vks::initializers::vertexInputAttributeDescription(
@@ -728,7 +728,7 @@ public:
vks::initializers::descriptorPoolSize(VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, 1)
};
- VkDescriptorPoolCreateInfo descriptorPoolInfo =
+ VkDescriptorPoolCreateInfo descriptorPoolInfo =
vks::initializers::descriptorPoolCreateInfo(
static_cast(poolSizes.size()),
poolSizes.data(),
@@ -739,21 +739,21 @@ public:
void setupDescriptorSetLayout()
{
- std::vector setLayoutBindings =
+ std::vector setLayoutBindings =
{
// Binding 0 : Vertex shader uniform buffer
vks::initializers::descriptorSetLayoutBinding(
- VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER,
- VK_SHADER_STAGE_VERTEX_BIT,
+ VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER,
+ VK_SHADER_STAGE_VERTEX_BIT,
0),
// Binding 1 : Fragment shader image sampler
vks::initializers::descriptorSetLayoutBinding(
- VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,
- VK_SHADER_STAGE_FRAGMENT_BIT,
+ VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,
+ VK_SHADER_STAGE_FRAGMENT_BIT,
1)
};
- VkDescriptorSetLayoutCreateInfo descriptorLayout =
+ VkDescriptorSetLayoutCreateInfo descriptorLayout =
vks::initializers::descriptorSetLayoutCreateInfo(
setLayoutBindings.data(),
static_cast(setLayoutBindings.size()));
@@ -770,7 +770,7 @@ public:
void setupDescriptorSet()
{
- VkDescriptorSetAllocateInfo allocInfo =
+ VkDescriptorSetAllocateInfo allocInfo =
vks::initializers::descriptorSetAllocateInfo(
descriptorPool,
&descriptorSetLayout,
@@ -782,15 +782,15 @@ public:
{
// Binding 0 : Vertex shader uniform buffer
vks::initializers::writeDescriptorSet(
- descriptorSet,
- VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER,
- 0,
+ descriptorSet,
+ VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER,
+ 0,
&uniformBufferVS.descriptor),
// Binding 1 : Fragment shader texture sampler
vks::initializers::writeDescriptorSet(
- descriptorSet,
- VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,
- 1,
+ descriptorSet,
+ VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,
+ 1,
&texture.descriptor)
};
@@ -819,7 +819,7 @@ public:
VkPipelineColorBlendStateCreateInfo colorBlendState =
vks::initializers::pipelineColorBlendStateCreateInfo(
- 1,
+ 1,
&blendAttachmentState);
VkPipelineDepthStencilStateCreateInfo depthStencilState =
@@ -849,8 +849,8 @@ public:
// Load shaders
std::array shaderStages;
- shaderStages[0] = loadShader(getAssetPath() + "shaders/texturesparseresidency/sparseresidency.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/texturesparseresidency/sparseresidency.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "texturesparseresidency/sparseresidency.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "texturesparseresidency/sparseresidency.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
VkGraphicsPipelineCreateInfo pipelineCreateInfo =
vks::initializers::pipelineCreateInfo(
diff --git a/examples/triangle/triangle.cpp b/examples/triangle/triangle.cpp
index 924eba74..2c42cb70 100644
--- a/examples/triangle/triangle.cpp
+++ b/examples/triangle/triangle.cpp
@@ -79,7 +79,7 @@ public:
glm::mat4 viewMatrix;
} uboVS;
- // The pipeline layout is used by a pipline to access the descriptor sets
+ // The pipeline layout is used by a pipline to access the descriptor sets
// It defines interface (without binding any actual data) between the shader stages used by the pipeline and the shader resources
// A pipeline layout can be shared among multiple pipelines as long as their interfaces match
VkPipelineLayout pipelineLayout;
@@ -124,7 +124,7 @@ public:
~VulkanExample()
{
- // Clean up used Vulkan resources
+ // Clean up used Vulkan resources
// Note: Inherited destructor cleans up resources stored in base class
vkDestroyPipeline(device, pipeline, nullptr);
@@ -152,7 +152,7 @@ public:
// This function is used to request a device memory type that supports all the property flags we request (e.g. device local, host visibile)
// Upon success it will return the index of the memory type that fits our requestes memory properties
// This is necessary as implementations can offer an arbitrary number of memory types with different
- // memory properties.
+ // memory properties.
// You can check http://vulkan.gpuinfo.org/ for details on different memory configurations
uint32_t getMemoryTypeIndex(uint32_t typeBits, VkMemoryPropertyFlags properties)
{
@@ -209,7 +209,7 @@ public:
cmdBufAllocateInfo.commandPool = cmdPool;
cmdBufAllocateInfo.level = VK_COMMAND_BUFFER_LEVEL_PRIMARY;
cmdBufAllocateInfo.commandBufferCount = 1;
-
+
VK_CHECK_RESULT(vkAllocateCommandBuffers(device, &cmdBufAllocateInfo, &cmdBuffer));
// If requested, also start the new command buffer
@@ -276,7 +276,7 @@ public:
renderPassBeginInfo.renderArea.extent.height = height;
renderPassBeginInfo.clearValueCount = 2;
renderPassBeginInfo.pClearValues = clearValues;
-
+
for (int32_t i = 0; i < drawCmdBuffers.size(); ++i)
{
// Set target frame buffer
@@ -323,7 +323,7 @@ public:
vkCmdEndRenderPass(drawCmdBuffers[i]);
- // Ending the render pass will add an implicit barrier transitioning the frame buffer color attachment to
+ // Ending the render pass will add an implicit barrier transitioning the frame buffer color attachment to
// VK_IMAGE_LAYOUT_PRESENT_SRC_KHR for presenting it to the windowing system
VK_CHECK_RESULT(vkEndCommandBuffer(drawCmdBuffers[i]));
@@ -374,7 +374,7 @@ public:
// what should be done a real-world application, where you should allocate large chunkgs of memory at once isntead.
// Setup vertices
- std::vector vertexBuffer =
+ std::vector vertexBuffer =
{
{ { 1.0f, 1.0f, 0.0f }, { 1.0f, 0.0f, 0.0f } },
{ { -1.0f, 1.0f, 0.0f }, { 0.0f, 1.0f, 0.0f } },
@@ -395,7 +395,7 @@ public:
if (useStagingBuffers)
{
- // Static data like vertex and index buffer should be stored on the device memory
+ // Static data like vertex and index buffer should be stored on the device memory
// for optimal (and fastest) access by the GPU
//
// To achieve this we use so-called "staging buffers" :
@@ -695,7 +695,7 @@ public:
}
// Render pass setup
- // Render passes are a new concept in Vulkan. They describe the attachments used during rendering and may contain multiple subpasses with attachment dependencies
+ // Render passes are a new concept in Vulkan. They describe the attachments used during rendering and may contain multiple subpasses with attachment dependencies
// This allows the driver to know up-front what the rendering will look like and is a good opportunity to optimize especially on tile-based renderers (with multiple subpasses)
// Using sub pass dependencies also adds implicit layout transitions for the attachment used, so we don't need to add explicit image memory barriers to transform them
// Note: Override of virtual function in the base class and called from within VulkanExampleBase::prepare
@@ -715,7 +715,7 @@ public:
attachments[0].stencilStoreOp = VK_ATTACHMENT_STORE_OP_DONT_CARE; // Same for store
attachments[0].initialLayout = VK_IMAGE_LAYOUT_UNDEFINED; // Layout at render pass start. Initial doesn't matter, so we use undefined
attachments[0].finalLayout = VK_IMAGE_LAYOUT_PRESENT_SRC_KHR; // Layout to which the attachment is transitioned when the render pass is finished
- // As we want to present the color buffer to the swapchain, we transition to PRESENT_KHR
+ // As we want to present the color buffer to the swapchain, we transition to PRESENT_KHR
// Depth attachment
attachments[1].format = depthFormat; // A proper depth format is selected in the example base
attachments[1].samples = VK_SAMPLE_COUNT_1_BIT;
@@ -926,7 +926,7 @@ public:
multisampleState.rasterizationSamples = VK_SAMPLE_COUNT_1_BIT;
multisampleState.pSampleMask = nullptr;
- // Vertex input descriptions
+ // Vertex input descriptions
// Specifies the vertex input parameters for a pipeline
// Vertex input binding
@@ -970,7 +970,7 @@ public:
// Set pipeline stage for this shader
shaderStages[0].stage = VK_SHADER_STAGE_VERTEX_BIT;
// Load binary SPIR-V shader
- shaderStages[0].module = loadSPIRVShader(getAssetPath() + "shaders/triangle/triangle.vert.spv");
+ shaderStages[0].module = loadSPIRVShader(getShadersPath() + "triangle/triangle.vert.spv");
// Main entry point for the shader
shaderStages[0].pName = "main";
assert(shaderStages[0].module != VK_NULL_HANDLE);
@@ -980,7 +980,7 @@ public:
// Set pipeline stage for this shader
shaderStages[1].stage = VK_SHADER_STAGE_FRAGMENT_BIT;
// Load binary SPIR-V shader
- shaderStages[1].module = loadSPIRVShader(getAssetPath() + "shaders/triangle/triangle.frag.spv");
+ shaderStages[1].module = loadSPIRVShader(getShadersPath() + "triangle/triangle.frag.spv");
// Main entry point for the shader
shaderStages[1].pName = "main";
assert(shaderStages[1].module != VK_NULL_HANDLE);
@@ -1029,7 +1029,7 @@ public:
// Create a new buffer
VK_CHECK_RESULT(vkCreateBuffer(device, &bufferInfo, nullptr, &uniformBufferVS.buffer));
- // Get memory requirements including size, alignment and memory type
+ // Get memory requirements including size, alignment and memory type
vkGetBufferMemoryRequirements(device, uniformBufferVS.buffer, &memReqs);
allocInfo.allocationSize = memReqs.size;
// Get the memory type index that supports host visibile memory access
@@ -1041,7 +1041,7 @@ public:
VK_CHECK_RESULT(vkAllocateMemory(device, &allocInfo, nullptr, &(uniformBufferVS.memory)));
// Bind memory to buffer
VK_CHECK_RESULT(vkBindBufferMemory(device, uniformBufferVS.buffer, uniformBufferVS.memory, 0));
-
+
// Store information in the uniform's descriptor that is used by the descriptor set
uniformBufferVS.descriptor.buffer = uniformBufferVS.buffer;
uniformBufferVS.descriptor.offset = 0;
@@ -1052,7 +1052,7 @@ public:
void updateUniformBuffers()
{
- // Pass matrices to the shaders
+ // Pass matrices to the shaders
uboVS.projectionMatrix = camera.matrices.perspective;
uboVS.viewMatrix = camera.matrices.view;
uboVS.modelMatrix = glm::mat4(1.0f);
diff --git a/examples/viewportarray/viewportarray.cpp b/examples/viewportarray/viewportarray.cpp
index 5435e8c4..378d5427 100644
--- a/examples/viewportarray/viewportarray.cpp
+++ b/examples/viewportarray/viewportarray.cpp
@@ -77,7 +77,7 @@ public:
uniformBufferGS.destroy();
}
- // Enable physical device features required for this example
+ // Enable physical device features required for this example
virtual void getEnabledFeatures()
{
// Geometry shader support is required for this example
@@ -156,7 +156,7 @@ public:
void loadAssets()
{
- scene.loadFromFile(getAssetPath() + "models/sampleroom.dae", vertexLayout, 0.25f, vulkanDevice, queue);
+ scene.loadFromFile(getAssetPath() + "models/sampleroom.dae", vertexLayout, 0.25f, vulkanDevice, queue);
}
void setupDescriptorPool()
@@ -174,7 +174,7 @@ public:
void setupDescriptorSetLayout()
{
- std::vector setLayoutBindings = {
+ std::vector setLayoutBindings = {
vks::initializers::descriptorSetLayoutBinding(VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, VK_SHADER_STAGE_GEOMETRY_BIT, 0) // Binding 1: Geometry shader ubo
};
@@ -199,7 +199,7 @@ public:
VK_CHECK_RESULT(vkAllocateDescriptorSets(device, &allocInfo, &descriptorSet));
- std::vector writeDescriptorSets = {
+ std::vector writeDescriptorSets = {
vks::initializers::writeDescriptorSet(descriptorSet, VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, 0, &uniformBufferGS.descriptor), // Binding 0 :Geometry shader ubo
};
@@ -251,8 +251,8 @@ public:
vks::initializers::vertexInputBindingDescription(0, vertexLayout.stride(), VK_VERTEX_INPUT_RATE_VERTEX),
};
std::vector vertexInputAttributes = {
- vks::initializers::vertexInputAttributeDescription(0, 0, VK_FORMAT_R32G32B32_SFLOAT, 0), // Location 0: Position
- vks::initializers::vertexInputAttributeDescription(0, 1, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 3), // Location 1: Normals
+ vks::initializers::vertexInputAttributeDescription(0, 0, VK_FORMAT_R32G32B32_SFLOAT, 0), // Location 0: Position
+ vks::initializers::vertexInputAttributeDescription(0, 1, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 3), // Location 1: Normals
vks::initializers::vertexInputAttributeDescription(0, 2, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 6), // Location 2: Color
};
@@ -274,11 +274,11 @@ public:
pipelineCreateInfo.pStages = shaderStages.data();
pipelineCreateInfo.renderPass = renderPass;
- shaderStages[0] = loadShader(getAssetPath() + "shaders/viewportarray/scene.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/viewportarray/scene.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "viewportarray/scene.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "viewportarray/scene.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
// A geometry shader is used to output geometry to multiple viewports in one single pass
// See the "invoctations" decorator of the layout input in the shader
- shaderStages[2] = loadShader(getAssetPath() + "shaders/viewportarray/multiview.geom.spv", VK_SHADER_STAGE_GEOMETRY_BIT);
+ shaderStages[2] = loadShader(getShadersPath() + "viewportarray/multiview.geom.spv", VK_SHADER_STAGE_GEOMETRY_BIT);
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCreateInfo, nullptr, &pipeline));
}
@@ -324,7 +324,7 @@ public:
rotM = glm::rotate(rotM, glm::radians(camera.rotation.x), glm::vec3(1.0f, 0.0f, 0.0f));
rotM = glm::rotate(rotM, glm::radians(camera.rotation.y), glm::vec3(0.0f, 1.0f, 0.0f));
rotM = glm::rotate(rotM, glm::radians(camera.rotation.z), glm::vec3(0.0f, 0.0f, 1.0f));
-
+
// Left eye
left = -aspectRatio * wd2 + 0.5f * eyeSeparation * ndfl;
right = aspectRatio * wd2 + 0.5f * eyeSeparation * ndfl;
diff --git a/examples/vulkanscene/vulkanscene.cpp b/examples/vulkanscene/vulkanscene.cpp
index 33013bd2..540b2e84 100644
--- a/examples/vulkanscene/vulkanscene.cpp
+++ b/examples/vulkanscene/vulkanscene.cpp
@@ -1,5 +1,5 @@
/*
-* Vulkan Demo Scene
+* Vulkan Demo Scene
*
* Don't take this a an example, it's more of a personal playground
*
@@ -101,7 +101,7 @@ public:
~VulkanExample()
{
- // Clean up used Vulkan resources
+ // Clean up used Vulkan resources
// Note : Inherited destructor cleans up resources stored in base class
vkDestroyPipeline(device, pipelines.logos, nullptr);
vkDestroyPipeline(device, pipelines.models, nullptr);
@@ -343,10 +343,10 @@ public:
// Attribute descriptions
// Describes memory layout and shader positions
std::vector vertexInputAttributes = {
- vks::initializers::vertexInputAttributeDescription(VERTEX_BUFFER_BIND_ID, 0, VK_FORMAT_R32G32B32_SFLOAT, 0), // Location 0: Position
- vks::initializers::vertexInputAttributeDescription(VERTEX_BUFFER_BIND_ID, 1, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 3), // Location 1: Normal
- vks::initializers::vertexInputAttributeDescription(VERTEX_BUFFER_BIND_ID, 2, VK_FORMAT_R32G32_SFLOAT, sizeof(float) * 5), // Location 2: Texture coordinates
- vks::initializers::vertexInputAttributeDescription(VERTEX_BUFFER_BIND_ID, 3, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 8), // Location 3: Color
+ vks::initializers::vertexInputAttributeDescription(VERTEX_BUFFER_BIND_ID, 0, VK_FORMAT_R32G32B32_SFLOAT, 0), // Location 0: Position
+ vks::initializers::vertexInputAttributeDescription(VERTEX_BUFFER_BIND_ID, 1, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 3), // Location 1: Normal
+ vks::initializers::vertexInputAttributeDescription(VERTEX_BUFFER_BIND_ID, 2, VK_FORMAT_R32G32_SFLOAT, sizeof(float) * 5), // Location 2: Texture coordinates
+ vks::initializers::vertexInputAttributeDescription(VERTEX_BUFFER_BIND_ID, 3, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 8), // Location 3: Color
};
VkPipelineVertexInputStateCreateInfo vertexInputState = vks::initializers::pipelineVertexInputStateCreateInfo();
@@ -358,20 +358,20 @@ public:
pipelineCreateInfo.pVertexInputState = &vertexInputState;
// Default mesh rendering pipeline
- shaderStages[0] = loadShader(getAssetPath() + "shaders/vulkanscene/mesh.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/vulkanscene/mesh.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "vulkanscene/mesh.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "vulkanscene/mesh.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCreateInfo, nullptr, &pipelines.models));
// Pipeline for the logos
- shaderStages[0] = loadShader(getAssetPath() + "shaders/vulkanscene/logo.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/vulkanscene/logo.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "vulkanscene/logo.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "vulkanscene/logo.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCreateInfo, nullptr, &pipelines.logos));
// Pipeline for the sky sphere
rasterizationState.cullMode = VK_CULL_MODE_FRONT_BIT; // Inverted culling
depthStencilState.depthWriteEnable = VK_FALSE; // No depth writes
- shaderStages[0] = loadShader(getAssetPath() + "shaders/vulkanscene/skybox.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
- shaderStages[1] = loadShader(getAssetPath() + "shaders/vulkanscene/skybox.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
+ shaderStages[0] = loadShader(getShadersPath() + "vulkanscene/skybox.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
+ shaderStages[1] = loadShader(getShadersPath() + "vulkanscene/skybox.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCreateInfo, nullptr, &pipelines.skybox));
}