From 0b3f8340e30813608e1c7cb8b267348589c220e9 Mon Sep 17 00:00:00 2001 From: Sascha Willems Date: Tue, 9 May 2023 20:47:41 +0200 Subject: [PATCH 1/7] Added assets as submodule --- .gitmodules | 4 ++++ README.md | 7 ++----- assets | 1 + data/README.md | 13 ------------- 4 files changed, 7 insertions(+), 18 deletions(-) create mode 160000 assets delete mode 100644 data/README.md diff --git a/.gitmodules b/.gitmodules index c070acb0..e595964f 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,7 @@ [submodule "external/glm"] path = external/glm url = https://github.com/g-truc/glm +[submodule "assets"] + path = assets + url = https://github.com/SaschaWillems/Vulkan-Assets + branch = main diff --git a/README.md b/README.md index fbd0449e..3620efe1 100644 --- a/README.md +++ b/README.md @@ -39,7 +39,7 @@ You can find this repository at https://github.com/KhronosGroup/Vulkan-Samples As I've been involved with getting the official repository up and running, I'll be mostly contributing to that repository from now, but may still add samples that don't fit there in here and I'll of course continue to maintain these samples. ## Cloning -This repository contains submodules for external dependencies, so when doing a fresh clone you need to clone recursively: +This repository contains submodules for external dependencies and assets, so when doing a fresh clone you need to clone recursively: ``` git clone --recursive https://github.com/SaschaWillems/Vulkan.git @@ -53,11 +53,8 @@ git submodule update ``` ## Assets -Many examples require assets from the asset pack that is not part of this repository due to file size. A python script is included to download the asset pack that. Run - python download_assets.py - -from the root of the repository after cloning or see [this](data/README.md) for manual download. +**Important notice:** As of may 2023 assets have been moved to a [submodule](https://github.com/SaschaWillems/Vulkan-Assets). If you have cloned the repository before this date, you may need to initialize and update submodules. If you do a fresh clone, no action is required to get the assets. ## Building diff --git a/assets b/assets new file mode 160000 index 00000000..cef63c5c --- /dev/null +++ b/assets @@ -0,0 +1 @@ +Subproject commit cef63c5c44cd0ad53e778ccdb150ff3b650183ab diff --git a/data/README.md b/data/README.md deleted file mode 100644 index 1566ad0a..00000000 --- a/data/README.md +++ /dev/null @@ -1,13 +0,0 @@ -# Getting the assets - -Binary assets (models, textures, etc.) are not stored in this repository and need to be downloaded manually. - -## Downloading the assets - -### Option 1: Run the python script - -Run the [download_assets.py](../download_assets.py) python script which will download the asset pack and unpacks it into the appropriate folder. - -### Option 2: Manual download - -Download the asset pack from [https://vulkan.gpuinfo.org/downloads/vulkan_asset_pack_gltf.zip](https://vulkan.gpuinfo.org/downloads/vulkan_asset_pack_gltf.zip) and extract it in the ```data``` directory. From 99b226237a9c7292ba60e50026598b69a85ff933 Mon Sep 17 00:00:00 2001 From: Sascha Willems Date: Tue, 9 May 2023 21:03:02 +0200 Subject: [PATCH 2/7] Moved shaders to new directory --- .../shaders => shaders}/glsl/base/textoverlay.frag | 0 .../glsl/base/textoverlay.frag.spv | Bin .../shaders => shaders}/glsl/base/textoverlay.vert | 0 .../glsl/base/textoverlay.vert.spv | Bin {data/shaders => shaders}/glsl/base/uioverlay.frag | 0 .../glsl/base/uioverlay.frag.spv | Bin {data/shaders => shaders}/glsl/base/uioverlay.vert | 0 .../glsl/base/uioverlay.vert.spv | Bin {data/shaders => shaders}/glsl/bloom/colorpass.frag | 0 .../glsl/bloom/colorpass.frag.spv | Bin {data/shaders => shaders}/glsl/bloom/colorpass.vert | 0 .../glsl/bloom/colorpass.vert.spv | Bin {data/shaders => shaders}/glsl/bloom/gaussblur.frag | 0 .../glsl/bloom/gaussblur.frag.spv | Bin {data/shaders => shaders}/glsl/bloom/gaussblur.vert | 0 .../glsl/bloom/gaussblur.vert.spv | Bin {data/shaders => shaders}/glsl/bloom/phongpass.frag | 0 .../glsl/bloom/phongpass.frag.spv | Bin {data/shaders => shaders}/glsl/bloom/phongpass.vert | 0 .../glsl/bloom/phongpass.vert.spv | Bin {data/shaders => shaders}/glsl/bloom/skybox.frag | 0 .../shaders => shaders}/glsl/bloom/skybox.frag.spv | Bin {data/shaders => shaders}/glsl/bloom/skybox.vert | 0 .../shaders => shaders}/glsl/bloom/skybox.vert.spv | Bin {data/shaders => shaders}/glsl/compileshaders.py | 0 .../glsl/computecloth/cloth.comp | 0 .../glsl/computecloth/cloth.comp.spv | Bin .../glsl/computecloth/cloth.frag | 0 .../glsl/computecloth/cloth.frag.spv | Bin .../glsl/computecloth/cloth.vert | 0 .../glsl/computecloth/cloth.vert.spv | Bin .../glsl/computecloth/sphere.frag | 0 .../glsl/computecloth/sphere.frag.spv | Bin .../glsl/computecloth/sphere.vert | 0 .../glsl/computecloth/sphere.vert.spv | Bin .../glsl/computecullandlod/cull.comp | 0 .../glsl/computecullandlod/cull.comp.spv | Bin .../glsl/computecullandlod/indirectdraw.frag | 0 .../glsl/computecullandlod/indirectdraw.frag.spv | Bin .../glsl/computecullandlod/indirectdraw.vert | 0 .../glsl/computecullandlod/indirectdraw.vert.spv | Bin .../glsl/computeheadless/headless.comp | 0 .../glsl/computeheadless/headless.comp.spv | Bin .../glsl/computenbody/particle.frag | 0 .../glsl/computenbody/particle.frag.spv | Bin .../glsl/computenbody/particle.vert | 0 .../glsl/computenbody/particle.vert.spv | Bin .../glsl/computenbody/particle_calculate.comp | 0 .../glsl/computenbody/particle_calculate.comp.spv | Bin .../glsl/computenbody/particle_integrate.comp | 0 .../glsl/computenbody/particle_integrate.comp.spv | Bin .../glsl/computeparticles/particle.comp | 0 .../glsl/computeparticles/particle.comp.spv | Bin .../glsl/computeparticles/particle.frag | 0 .../glsl/computeparticles/particle.frag.spv | Bin .../glsl/computeparticles/particle.vert | 0 .../glsl/computeparticles/particle.vert.spv | Bin .../glsl/computeraytracing/raytracing.comp | 0 .../glsl/computeraytracing/raytracing.comp.spv | Bin .../glsl/computeraytracing/texture.frag | 0 .../glsl/computeraytracing/texture.frag.spv | Bin .../glsl/computeraytracing/texture.vert | 0 .../glsl/computeraytracing/texture.vert.spv | Bin .../glsl/computeshader/edgedetect.comp | 0 .../glsl/computeshader/edgedetect.comp.spv | Bin .../glsl/computeshader/emboss.comp | 0 .../glsl/computeshader/emboss.comp.spv | Bin .../glsl/computeshader/sharpen.comp | 0 .../glsl/computeshader/sharpen.comp.spv | Bin .../glsl/computeshader/texture.frag | 0 .../glsl/computeshader/texture.frag.spv | Bin .../glsl/computeshader/texture.vert | 0 .../glsl/computeshader/texture.vert.spv | Bin .../glsl/conditionalrender/model.frag | 0 .../glsl/conditionalrender/model.frag.spv | Bin .../glsl/conditionalrender/model.vert | 0 .../glsl/conditionalrender/model.vert.spv | Bin .../glsl/conservativeraster/fullscreen.frag | 0 .../glsl/conservativeraster/fullscreen.frag.spv | Bin .../glsl/conservativeraster/fullscreen.vert | 0 .../glsl/conservativeraster/fullscreen.vert.spv | Bin .../glsl/conservativeraster/triangle.frag | 0 .../glsl/conservativeraster/triangle.frag.spv | Bin .../glsl/conservativeraster/triangle.vert | 0 .../glsl/conservativeraster/triangle.vert.spv | Bin .../glsl/conservativeraster/triangleoverlay.frag | 0 .../conservativeraster/triangleoverlay.frag.spv | Bin .../glsl/debugmarker/colorpass.frag | 0 .../glsl/debugmarker/colorpass.frag.spv | Bin .../glsl/debugmarker/colorpass.vert | 0 .../glsl/debugmarker/colorpass.vert.spv | Bin .../glsl/debugmarker/postprocess.frag | 0 .../glsl/debugmarker/postprocess.frag.spv | Bin .../glsl/debugmarker/postprocess.vert | 0 .../glsl/debugmarker/postprocess.vert.spv | Bin .../shaders => shaders}/glsl/debugmarker/toon.frag | 0 .../glsl/debugmarker/toon.frag.spv | Bin .../shaders => shaders}/glsl/debugmarker/toon.vert | 0 .../glsl/debugmarker/toon.vert.spv | Bin .../shaders => shaders}/glsl/deferred/deferred.frag | 0 .../glsl/deferred/deferred.frag.spv | Bin .../shaders => shaders}/glsl/deferred/deferred.vert | 0 .../glsl/deferred/deferred.vert.spv | Bin {data/shaders => shaders}/glsl/deferred/mrt.frag | 0 .../shaders => shaders}/glsl/deferred/mrt.frag.spv | Bin {data/shaders => shaders}/glsl/deferred/mrt.vert | 0 .../shaders => shaders}/glsl/deferred/mrt.vert.spv | Bin .../glsl/deferredmultisampling/deferred.frag | 0 .../glsl/deferredmultisampling/deferred.frag.spv | Bin .../glsl/deferredmultisampling/deferred.vert | 0 .../glsl/deferredmultisampling/deferred.vert.spv | Bin .../glsl/deferredmultisampling/mrt.frag | 0 .../glsl/deferredmultisampling/mrt.frag.spv | Bin .../glsl/deferredmultisampling/mrt.vert | 0 .../glsl/deferredmultisampling/mrt.vert.spv | Bin .../glsl/deferredshadows/deferred.frag | 0 .../glsl/deferredshadows/deferred.frag.spv | Bin .../glsl/deferredshadows/deferred.vert | 0 .../glsl/deferredshadows/deferred.vert.spv | Bin .../glsl/deferredshadows/geom.spv | Bin .../glsl/deferredshadows/mrt.frag | 0 .../glsl/deferredshadows/mrt.frag.spv | Bin .../glsl/deferredshadows/mrt.vert | 0 .../glsl/deferredshadows/mrt.vert.spv | Bin .../glsl/deferredshadows/shadow.geom | 0 .../glsl/deferredshadows/shadow.geom.spv | Bin .../glsl/deferredshadows/shadow.vert | 0 .../glsl/deferredshadows/shadow.vert.spv | Bin .../glsl/descriptorbuffer/cube.frag | 0 .../glsl/descriptorbuffer/cube.frag.spv | Bin .../glsl/descriptorbuffer/cube.vert | 0 .../glsl/descriptorbuffer/cube.vert.spv | Bin .../glsl/descriptorindexing/descriptorindexing.frag | 0 .../descriptorindexing/descriptorindexing.frag.spv | Bin .../glsl/descriptorindexing/descriptorindexing.vert | 0 .../descriptorindexing/descriptorindexing.vert.spv | Bin .../glsl/descriptorsets/cube.frag | 0 .../glsl/descriptorsets/cube.frag.spv | Bin .../glsl/descriptorsets/cube.vert | 0 .../glsl/descriptorsets/cube.vert.spv | Bin .../shaders => shaders}/glsl/displacement/base.frag | 0 .../glsl/displacement/base.frag.spv | Bin .../shaders => shaders}/glsl/displacement/base.vert | 0 .../glsl/displacement/base.vert.spv | Bin .../glsl/displacement/displacement.tesc | 0 .../glsl/displacement/displacement.tesc.spv | Bin .../glsl/displacement/displacement.tese | 0 .../glsl/displacement/displacement.tese.spv | Bin .../glsl/distancefieldfonts/bitmap.frag | 0 .../glsl/distancefieldfonts/bitmap.frag.spv | Bin .../glsl/distancefieldfonts/bitmap.vert | 0 .../glsl/distancefieldfonts/bitmap.vert.spv | Bin .../glsl/distancefieldfonts/sdf.frag | 0 .../glsl/distancefieldfonts/sdf.frag.spv | Bin .../glsl/distancefieldfonts/sdf.vert | 0 .../glsl/distancefieldfonts/sdf.vert.spv | Bin .../glsl/dynamicrendering/texture.frag | 0 .../glsl/dynamicrendering/texture.frag.spv | Bin .../glsl/dynamicrendering/texture.vert | 0 .../glsl/dynamicrendering/texture.vert.spv | Bin .../glsl/dynamicuniformbuffer/base.frag | 0 .../glsl/dynamicuniformbuffer/base.frag.spv | Bin .../glsl/dynamicuniformbuffer/base.vert | 0 .../glsl/dynamicuniformbuffer/base.vert.spv | Bin {data/shaders => shaders}/glsl/gears/gears.frag | 0 {data/shaders => shaders}/glsl/gears/gears.frag.spv | Bin {data/shaders => shaders}/glsl/gears/gears.vert | 0 {data/shaders => shaders}/glsl/gears/gears.vert.spv | Bin .../glsl/geometryshader/base.frag | 0 .../glsl/geometryshader/base.frag.spv | Bin .../glsl/geometryshader/base.vert | 0 .../glsl/geometryshader/base.vert.spv | Bin .../glsl/geometryshader/mesh.frag | 0 .../glsl/geometryshader/mesh.frag.spv | Bin .../glsl/geometryshader/mesh.vert | 0 .../glsl/geometryshader/mesh.vert.spv | Bin .../glsl/geometryshader/normaldebug.geom | 0 .../glsl/geometryshader/normaldebug.geom.spv | Bin .../shaders => shaders}/glsl/gltfloading/mesh.frag | 0 .../glsl/gltfloading/mesh.frag.spv | Bin .../shaders => shaders}/glsl/gltfloading/mesh.vert | 0 .../glsl/gltfloading/mesh.vert.spv | Bin .../glsl/gltfscenerendering/scene.frag | 0 .../glsl/gltfscenerendering/scene.frag.spv | Bin .../glsl/gltfscenerendering/scene.vert | 0 .../glsl/gltfscenerendering/scene.vert.spv | Bin .../glsl/gltfskinning/skinnedmodel.frag | 0 .../glsl/gltfskinning/skinnedmodel.frag.spv | Bin .../glsl/gltfskinning/skinnedmodel.vert | 0 .../glsl/gltfskinning/skinnedmodel.vert.spv | Bin .../glsl/graphicspipelinelibrary/shared.vert | 0 .../glsl/graphicspipelinelibrary/shared.vert.spv | Bin .../glsl/graphicspipelinelibrary/uber.frag | 0 .../glsl/graphicspipelinelibrary/uber.frag.spv | Bin {data/shaders => shaders}/glsl/hdr/bloom.frag | 0 {data/shaders => shaders}/glsl/hdr/bloom.frag.spv | Bin {data/shaders => shaders}/glsl/hdr/bloom.vert | 0 {data/shaders => shaders}/glsl/hdr/bloom.vert.spv | Bin {data/shaders => shaders}/glsl/hdr/composition.frag | 0 .../glsl/hdr/composition.frag.spv | Bin {data/shaders => shaders}/glsl/hdr/composition.vert | 0 .../glsl/hdr/composition.vert.spv | Bin {data/shaders => shaders}/glsl/hdr/gbuffer.frag | 0 {data/shaders => shaders}/glsl/hdr/gbuffer.frag.spv | Bin {data/shaders => shaders}/glsl/hdr/gbuffer.vert | 0 {data/shaders => shaders}/glsl/hdr/gbuffer.vert.spv | Bin {data/shaders => shaders}/glsl/imgui/scene.frag | 0 {data/shaders => shaders}/glsl/imgui/scene.frag.spv | Bin {data/shaders => shaders}/glsl/imgui/scene.vert | 0 {data/shaders => shaders}/glsl/imgui/scene.vert.spv | Bin {data/shaders => shaders}/glsl/imgui/ui.frag | 0 {data/shaders => shaders}/glsl/imgui/ui.frag.spv | Bin {data/shaders => shaders}/glsl/imgui/ui.vert | 0 {data/shaders => shaders}/glsl/imgui/ui.vert.spv | Bin .../glsl/indirectdraw/ground.frag | 0 .../glsl/indirectdraw/ground.frag.spv | Bin .../glsl/indirectdraw/ground.vert | 0 .../glsl/indirectdraw/ground.vert.spv | Bin .../glsl/indirectdraw/indirectdraw.frag | 0 .../glsl/indirectdraw/indirectdraw.frag.spv | Bin .../glsl/indirectdraw/indirectdraw.vert | 0 .../glsl/indirectdraw/indirectdraw.vert.spv | Bin .../glsl/indirectdraw/skysphere.frag | 0 .../glsl/indirectdraw/skysphere.frag.spv | Bin .../glsl/indirectdraw/skysphere.vert | 0 .../glsl/indirectdraw/skysphere.vert.spv | Bin .../glsl/inlineuniformblocks/pbr.frag | 0 .../glsl/inlineuniformblocks/pbr.frag.spv | Bin .../glsl/inlineuniformblocks/pbr.vert | 0 .../glsl/inlineuniformblocks/pbr.vert.spv | Bin .../glsl/inputattachments/attachmentread.frag | 0 .../glsl/inputattachments/attachmentread.frag.spv | Bin .../glsl/inputattachments/attachmentread.vert | 0 .../glsl/inputattachments/attachmentread.vert.spv | Bin .../glsl/inputattachments/attachmentwrite.frag | 0 .../glsl/inputattachments/attachmentwrite.frag.spv | Bin .../glsl/inputattachments/attachmentwrite.vert | 0 .../glsl/inputattachments/attachmentwrite.vert.spv | Bin .../glsl/instancing/instancing.frag | 0 .../glsl/instancing/instancing.frag.spv | Bin .../glsl/instancing/instancing.vert | 0 .../glsl/instancing/instancing.vert.spv | Bin .../shaders => shaders}/glsl/instancing/planet.frag | 0 .../glsl/instancing/planet.frag.spv | Bin .../shaders => shaders}/glsl/instancing/planet.vert | 0 .../glsl/instancing/planet.vert.spv | Bin .../glsl/instancing/starfield.frag | 0 .../glsl/instancing/starfield.frag.spv | Bin .../glsl/instancing/starfield.vert | 0 .../glsl/instancing/starfield.vert.spv | Bin .../glsl/meshshader/meshshader.frag | 0 .../glsl/meshshader/meshshader.frag.spv | Bin .../glsl/meshshader/meshshader.mesh | 0 .../glsl/meshshader/meshshader.mesh.spv | Bin .../glsl/meshshader/meshshader.task | 0 .../glsl/meshshader/meshshader.task.spv | Bin .../glsl/multisampling/mesh.frag | 0 .../glsl/multisampling/mesh.frag.spv | Bin .../glsl/multisampling/mesh.vert | 0 .../glsl/multisampling/mesh.vert.spv | Bin .../glsl/multithreading/phong.frag | 0 .../glsl/multithreading/phong.frag.spv | Bin .../glsl/multithreading/phong.vert | 0 .../glsl/multithreading/phong.vert.spv | Bin .../glsl/multithreading/starsphere.frag | 0 .../glsl/multithreading/starsphere.frag.spv | Bin .../glsl/multithreading/starsphere.vert | 0 .../glsl/multithreading/starsphere.vert.spv | Bin .../glsl/multiview/multiview.frag | 0 .../glsl/multiview/multiview.frag.spv | Bin .../glsl/multiview/multiview.vert | 0 .../glsl/multiview/multiview.vert.spv | Bin .../glsl/multiview/viewdisplay.frag | 0 .../glsl/multiview/viewdisplay.frag.spv | Bin .../glsl/multiview/viewdisplay.vert | 0 .../glsl/multiview/viewdisplay.vert.spv | Bin .../glsl/negativeviewportheight/quad.frag | 0 .../glsl/negativeviewportheight/quad.frag.spv | Bin .../glsl/negativeviewportheight/quad.vert | 0 .../glsl/negativeviewportheight/quad.vert.spv | Bin .../glsl/occlusionquery/mesh.frag | 0 .../glsl/occlusionquery/mesh.frag.spv | Bin .../glsl/occlusionquery/mesh.vert | 0 .../glsl/occlusionquery/mesh.vert.spv | Bin .../glsl/occlusionquery/occluder.frag | 0 .../glsl/occlusionquery/occluder.frag.spv | Bin .../glsl/occlusionquery/occluder.vert | 0 .../glsl/occlusionquery/occluder.vert.spv | Bin .../glsl/occlusionquery/simple.frag | 0 .../glsl/occlusionquery/simple.frag.spv | Bin .../glsl/occlusionquery/simple.vert | 0 .../glsl/occlusionquery/simple.vert.spv | Bin .../shaders => shaders}/glsl/offscreen/mirror.frag | 0 .../glsl/offscreen/mirror.frag.spv | Bin .../shaders => shaders}/glsl/offscreen/mirror.vert | 0 .../glsl/offscreen/mirror.vert.spv | Bin {data/shaders => shaders}/glsl/offscreen/phong.frag | 0 .../glsl/offscreen/phong.frag.spv | Bin {data/shaders => shaders}/glsl/offscreen/phong.vert | 0 .../glsl/offscreen/phong.vert.spv | Bin {data/shaders => shaders}/glsl/offscreen/quad.frag | 0 .../glsl/offscreen/quad.frag.spv | Bin {data/shaders => shaders}/glsl/offscreen/quad.vert | 0 .../glsl/offscreen/quad.vert.spv | Bin {data/shaders => shaders}/glsl/oit/color.frag | 0 {data/shaders => shaders}/glsl/oit/color.frag.spv | Bin {data/shaders => shaders}/glsl/oit/color.vert | 0 {data/shaders => shaders}/glsl/oit/color.vert.spv | Bin {data/shaders => shaders}/glsl/oit/geometry.frag | 0 .../shaders => shaders}/glsl/oit/geometry.frag.spv | Bin {data/shaders => shaders}/glsl/oit/geometry.vert | 0 .../shaders => shaders}/glsl/oit/geometry.vert.spv | Bin .../glsl/parallaxmapping/parallax.frag | 0 .../glsl/parallaxmapping/parallax.frag.spv | Bin .../glsl/parallaxmapping/parallax.vert | 0 .../glsl/parallaxmapping/parallax.vert.spv | Bin .../glsl/particlefire/normalmap.frag | 0 .../glsl/particlefire/normalmap.frag.spv | Bin .../glsl/particlefire/normalmap.vert | 0 .../glsl/particlefire/normalmap.vert.spv | Bin .../glsl/particlefire/particle.frag | 0 .../glsl/particlefire/particle.frag.spv | Bin .../glsl/particlefire/particle.vert | 0 .../glsl/particlefire/particle.vert.spv | Bin {data/shaders => shaders}/glsl/pbrbasic/pbr.frag | 0 .../shaders => shaders}/glsl/pbrbasic/pbr.frag.spv | Bin {data/shaders => shaders}/glsl/pbrbasic/pbr.vert | 0 .../shaders => shaders}/glsl/pbrbasic/pbr.vert.spv | Bin .../shaders => shaders}/glsl/pbribl/filtercube.vert | 0 .../glsl/pbribl/filtercube.vert.spv | Bin .../shaders => shaders}/glsl/pbribl/genbrdflut.frag | 0 .../glsl/pbribl/genbrdflut.frag.spv | Bin .../shaders => shaders}/glsl/pbribl/genbrdflut.vert | 0 .../glsl/pbribl/genbrdflut.vert.spv | Bin .../glsl/pbribl/irradiancecube.frag | 0 .../glsl/pbribl/irradiancecube.frag.spv | Bin {data/shaders => shaders}/glsl/pbribl/pbribl.frag | 0 .../shaders => shaders}/glsl/pbribl/pbribl.frag.spv | Bin {data/shaders => shaders}/glsl/pbribl/pbribl.vert | 0 .../shaders => shaders}/glsl/pbribl/pbribl.vert.spv | Bin .../glsl/pbribl/prefilterenvmap.frag | 0 .../glsl/pbribl/prefilterenvmap.frag.spv | Bin {data/shaders => shaders}/glsl/pbribl/skybox.frag | 0 .../shaders => shaders}/glsl/pbribl/skybox.frag.spv | Bin {data/shaders => shaders}/glsl/pbribl/skybox.vert | 0 .../shaders => shaders}/glsl/pbribl/skybox.vert.spv | Bin .../glsl/pbrtexture/filtercube.vert | 0 .../glsl/pbrtexture/filtercube.vert.spv | Bin .../glsl/pbrtexture/genbrdflut.frag | 0 .../glsl/pbrtexture/genbrdflut.frag.spv | Bin .../glsl/pbrtexture/genbrdflut.vert | 0 .../glsl/pbrtexture/genbrdflut.vert.spv | Bin .../glsl/pbrtexture/irradiancecube.frag | 0 .../glsl/pbrtexture/irradiancecube.frag.spv | Bin .../glsl/pbrtexture/pbrtexture.frag | 0 .../glsl/pbrtexture/pbrtexture.frag.spv | Bin .../glsl/pbrtexture/pbrtexture.vert | 0 .../glsl/pbrtexture/pbrtexture.vert.spv | Bin .../glsl/pbrtexture/prefilterenvmap.frag | 0 .../glsl/pbrtexture/prefilterenvmap.frag.spv | Bin .../shaders => shaders}/glsl/pbrtexture/skybox.frag | 0 .../glsl/pbrtexture/skybox.frag.spv | Bin .../shaders => shaders}/glsl/pbrtexture/skybox.vert | 0 .../glsl/pbrtexture/skybox.vert.spv | Bin {data/shaders => shaders}/glsl/pipelines/phong.frag | 0 .../glsl/pipelines/phong.frag.spv | Bin {data/shaders => shaders}/glsl/pipelines/phong.vert | 0 .../glsl/pipelines/phong.vert.spv | Bin {data/shaders => shaders}/glsl/pipelines/toon.frag | 0 .../glsl/pipelines/toon.frag.spv | Bin {data/shaders => shaders}/glsl/pipelines/toon.vert | 0 .../glsl/pipelines/toon.vert.spv | Bin .../glsl/pipelines/wireframe.frag | 0 .../glsl/pipelines/wireframe.frag.spv | Bin .../glsl/pipelines/wireframe.vert | 0 .../glsl/pipelines/wireframe.vert.spv | Bin .../glsl/pipelinestatistics/scene.frag | 0 .../glsl/pipelinestatistics/scene.frag.spv | Bin .../glsl/pipelinestatistics/scene.tesc | 0 .../glsl/pipelinestatistics/scene.tesc.spv | Bin .../glsl/pipelinestatistics/scene.tese | 0 .../glsl/pipelinestatistics/scene.tese.spv | Bin .../glsl/pipelinestatistics/scene.vert | 0 .../glsl/pipelinestatistics/scene.vert.spv | Bin .../glsl/pushconstants/pushconstants.frag | 0 .../glsl/pushconstants/pushconstants.frag.spv | Bin .../glsl/pushconstants/pushconstants.vert | 0 .../glsl/pushconstants/pushconstants.vert.spv | Bin .../glsl/pushdescriptors/cube.frag | 0 .../glsl/pushdescriptors/cube.frag.spv | Bin .../glsl/pushdescriptors/cube.vert | 0 .../glsl/pushdescriptors/cube.vert.spv | Bin .../glsl/radialblur/colorpass.frag | 0 .../glsl/radialblur/colorpass.frag.spv | Bin .../glsl/radialblur/colorpass.vert | 0 .../glsl/radialblur/colorpass.vert.spv | Bin .../glsl/radialblur/phongpass.frag | 0 .../glsl/radialblur/phongpass.frag.spv | Bin .../glsl/radialblur/phongpass.vert | 0 .../glsl/radialblur/phongpass.vert.spv | Bin .../glsl/radialblur/radialblur.frag | 0 .../glsl/radialblur/radialblur.frag.spv | Bin .../glsl/radialblur/radialblur.vert | 0 .../glsl/radialblur/radialblur.vert.spv | Bin {data/shaders => shaders}/glsl/rayquery/scene.frag | 0 .../glsl/rayquery/scene.frag.spv | Bin {data/shaders => shaders}/glsl/rayquery/scene.vert | 0 .../glsl/rayquery/scene.vert.spv | Bin .../glsl/raytracingbasic/closesthit.rchit | 0 .../glsl/raytracingbasic/closesthit.rchit.spv | Bin .../glsl/raytracingbasic/miss.rmiss | 0 .../glsl/raytracingbasic/miss.rmiss.spv | Bin .../glsl/raytracingbasic/raygen.rgen | 0 .../glsl/raytracingbasic/raygen.rgen.spv | Bin .../glsl/raytracingcallable/callable1.rcall | 0 .../glsl/raytracingcallable/callable1.rcall.spv | Bin .../glsl/raytracingcallable/callable2.rcall | 0 .../glsl/raytracingcallable/callable2.rcall.spv | Bin .../glsl/raytracingcallable/callable3.rcall | 0 .../glsl/raytracingcallable/callable3.rcall.spv | Bin .../glsl/raytracingcallable/closesthit.rchit | 0 .../glsl/raytracingcallable/closesthit.rchit.spv | Bin .../glsl/raytracingcallable/miss.rmiss | 0 .../glsl/raytracingcallable/miss.rmiss.spv | Bin .../glsl/raytracingcallable/raygen.rgen | 0 .../glsl/raytracingcallable/raygen.rgen.spv | Bin .../glsl/raytracingreflections/closesthit.rchit | 0 .../glsl/raytracingreflections/closesthit.rchit.spv | Bin .../glsl/raytracingreflections/miss.rmiss | 0 .../glsl/raytracingreflections/miss.rmiss.spv | Bin .../glsl/raytracingreflections/raygen.rgen | 0 .../glsl/raytracingreflections/raygen.rgen.spv | Bin .../glsl/raytracingsbtdata/closesthit.rchit | 0 .../glsl/raytracingsbtdata/closesthit.rchit.spv | Bin .../glsl/raytracingsbtdata/miss.rmiss | 0 .../glsl/raytracingsbtdata/miss.rmiss.spv | Bin .../glsl/raytracingsbtdata/raygen.rgen | 0 .../glsl/raytracingsbtdata/raygen.rgen.spv | Bin .../glsl/raytracingshadows/closesthit.rchit | 0 .../glsl/raytracingshadows/closesthit.rchit.spv | Bin .../glsl/raytracingshadows/miss.rmiss | 0 .../glsl/raytracingshadows/miss.rmiss.spv | Bin .../glsl/raytracingshadows/raygen.rgen | 0 .../glsl/raytracingshadows/raygen.rgen.spv | Bin .../glsl/raytracingshadows/shadow.rmiss | 0 .../glsl/raytracingshadows/shadow.rmiss.spv | Bin .../glsl/raytracingtextures/anyhit.rahit | 0 .../glsl/raytracingtextures/anyhit.rahit.spv | Bin .../glsl/raytracingtextures/bufferreferences.glsl | 0 .../glsl/raytracingtextures/closesthit.rchit | 0 .../glsl/raytracingtextures/closesthit.rchit.spv | Bin .../glsl/raytracingtextures/geometrytypes.glsl | 0 .../glsl/raytracingtextures/miss.rmiss | 0 .../glsl/raytracingtextures/miss.rmiss.spv | Bin .../glsl/raytracingtextures/raygen.rgen | 0 .../glsl/raytracingtextures/raygen.rgen.spv | Bin .../glsl/renderheadless/triangle.frag | 0 .../glsl/renderheadless/triangle.frag.spv | Bin .../glsl/renderheadless/triangle.vert | 0 .../glsl/renderheadless/triangle.vert.spv | Bin {data/shaders => shaders}/glsl/screenshot/mesh.frag | 0 .../glsl/screenshot/mesh.frag.spv | Bin {data/shaders => shaders}/glsl/screenshot/mesh.vert | 0 .../glsl/screenshot/mesh.vert.spv | Bin .../glsl/shaderobjects/phong.frag | 0 .../glsl/shaderobjects/phong.frag.spv | Bin .../glsl/shaderobjects/phong.vert | 0 .../glsl/shaderobjects/phong.vert.spv | Bin .../glsl/shadowmapping/offscreen.frag | 0 .../glsl/shadowmapping/offscreen.frag.spv | Bin .../glsl/shadowmapping/offscreen.vert | 0 .../glsl/shadowmapping/offscreen.vert.spv | Bin .../glsl/shadowmapping/quad.frag | 0 .../glsl/shadowmapping/quad.frag.spv | Bin .../glsl/shadowmapping/quad.vert | 0 .../glsl/shadowmapping/quad.vert.spv | Bin .../glsl/shadowmapping/scene.frag | 0 .../glsl/shadowmapping/scene.frag.spv | Bin .../glsl/shadowmapping/scene.vert | 0 .../glsl/shadowmapping/scene.vert.spv | Bin .../glsl/shadowmappingcascade/debugshadowmap.frag | 0 .../shadowmappingcascade/debugshadowmap.frag.spv | Bin .../glsl/shadowmappingcascade/debugshadowmap.vert | 0 .../shadowmappingcascade/debugshadowmap.vert.spv | Bin .../glsl/shadowmappingcascade/depthpass.frag | 0 .../glsl/shadowmappingcascade/depthpass.frag.spv | Bin .../glsl/shadowmappingcascade/depthpass.vert | 0 .../glsl/shadowmappingcascade/depthpass.vert.spv | Bin .../glsl/shadowmappingcascade/scene.frag | 0 .../glsl/shadowmappingcascade/scene.frag.spv | Bin .../glsl/shadowmappingcascade/scene.vert | 0 .../glsl/shadowmappingcascade/scene.vert.spv | Bin .../glsl/shadowmappingomni/cubemapdisplay.frag | 0 .../glsl/shadowmappingomni/cubemapdisplay.frag.spv | Bin .../glsl/shadowmappingomni/cubemapdisplay.vert | 0 .../glsl/shadowmappingomni/cubemapdisplay.vert.spv | Bin .../glsl/shadowmappingomni/offscreen.frag | 0 .../glsl/shadowmappingomni/offscreen.frag.spv | Bin .../glsl/shadowmappingomni/offscreen.vert | 0 .../glsl/shadowmappingomni/offscreen.vert.spv | Bin .../glsl/shadowmappingomni/scene.frag | 0 .../glsl/shadowmappingomni/scene.frag.spv | Bin .../glsl/shadowmappingomni/scene.vert | 0 .../glsl/shadowmappingomni/scene.vert.spv | Bin .../glsl/specializationconstants/uber.frag | 0 .../glsl/specializationconstants/uber.frag.spv | Bin .../glsl/specializationconstants/uber.vert | 0 .../glsl/specializationconstants/uber.vert.spv | Bin .../glsl/sphericalenvmapping/sem.frag | 0 .../glsl/sphericalenvmapping/sem.frag.spv | Bin .../glsl/sphericalenvmapping/sem.vert | 0 .../glsl/sphericalenvmapping/sem.vert.spv | Bin {data/shaders => shaders}/glsl/ssao/blur.frag | 0 {data/shaders => shaders}/glsl/ssao/blur.frag.spv | Bin .../shaders => shaders}/glsl/ssao/composition.frag | 0 .../glsl/ssao/composition.frag.spv | Bin {data/shaders => shaders}/glsl/ssao/fullscreen.vert | 0 .../glsl/ssao/fullscreen.vert.spv | Bin {data/shaders => shaders}/glsl/ssao/gbuffer.frag | 0 .../shaders => shaders}/glsl/ssao/gbuffer.frag.spv | Bin {data/shaders => shaders}/glsl/ssao/gbuffer.vert | 0 .../shaders => shaders}/glsl/ssao/gbuffer.vert.spv | Bin {data/shaders => shaders}/glsl/ssao/ssao.frag | 0 {data/shaders => shaders}/glsl/ssao/ssao.frag.spv | Bin .../glsl/stencilbuffer/outline.frag | 0 .../glsl/stencilbuffer/outline.frag.spv | Bin .../glsl/stencilbuffer/outline.vert | 0 .../glsl/stencilbuffer/outline.vert.spv | Bin .../glsl/stencilbuffer/toon.frag | 0 .../glsl/stencilbuffer/toon.frag.spv | Bin .../glsl/stencilbuffer/toon.vert | 0 .../glsl/stencilbuffer/toon.vert.spv | Bin .../glsl/subpasses/composition.frag | 0 .../glsl/subpasses/composition.frag.spv | Bin .../glsl/subpasses/composition.vert | 0 .../glsl/subpasses/composition.vert.spv | Bin .../shaders => shaders}/glsl/subpasses/gbuffer.frag | 0 .../glsl/subpasses/gbuffer.frag.spv | Bin .../shaders => shaders}/glsl/subpasses/gbuffer.vert | 0 .../glsl/subpasses/gbuffer.vert.spv | Bin .../glsl/subpasses/transparent.frag | 0 .../glsl/subpasses/transparent.frag.spv | Bin .../glsl/subpasses/transparent.vert | 0 .../glsl/subpasses/transparent.vert.spv | Bin .../glsl/terraintessellation/skysphere.frag | 0 .../glsl/terraintessellation/skysphere.frag.spv | Bin .../glsl/terraintessellation/skysphere.vert | 0 .../glsl/terraintessellation/skysphere.vert.spv | Bin .../glsl/terraintessellation/terrain.frag | 0 .../glsl/terraintessellation/terrain.frag.spv | Bin .../glsl/terraintessellation/terrain.tesc | 0 .../glsl/terraintessellation/terrain.tesc.spv | Bin .../glsl/terraintessellation/terrain.tese | 0 .../glsl/terraintessellation/terrain.tese.spv | Bin .../glsl/terraintessellation/terrain.vert | 0 .../glsl/terraintessellation/terrain.vert.spv | Bin .../shaders => shaders}/glsl/tessellation/base.frag | 0 .../glsl/tessellation/base.frag.spv | Bin .../shaders => shaders}/glsl/tessellation/base.vert | 0 .../glsl/tessellation/base.vert.spv | Bin .../glsl/tessellation/passthrough.tesc | 0 .../glsl/tessellation/passthrough.tesc.spv | Bin .../glsl/tessellation/passthrough.tese | 0 .../glsl/tessellation/passthrough.tese.spv | Bin .../glsl/tessellation/pntriangles.tesc | 0 .../glsl/tessellation/pntriangles.tesc.spv | Bin .../glsl/tessellation/pntriangles.tese | 0 .../glsl/tessellation/pntriangles.tese.spv | Bin .../shaders => shaders}/glsl/textoverlay/mesh.frag | 0 .../glsl/textoverlay/mesh.frag.spv | Bin .../shaders => shaders}/glsl/textoverlay/mesh.vert | 0 .../glsl/textoverlay/mesh.vert.spv | Bin .../shaders => shaders}/glsl/textoverlay/text.frag | 0 .../glsl/textoverlay/text.frag.spv | Bin .../shaders => shaders}/glsl/textoverlay/text.vert | 0 .../glsl/textoverlay/text.vert.spv | Bin {data/shaders => shaders}/glsl/texture/texture.frag | 0 .../glsl/texture/texture.frag.spv | Bin {data/shaders => shaders}/glsl/texture/texture.vert | 0 .../glsl/texture/texture.vert.spv | Bin .../glsl/texture3d/texture3d.frag | 0 .../glsl/texture3d/texture3d.frag.spv | Bin .../glsl/texture3d/texture3d.vert | 0 .../glsl/texture3d/texture3d.vert.spv | Bin .../glsl/texturearray/instancing.frag | 0 .../glsl/texturearray/instancing.frag.spv | Bin .../glsl/texturearray/instancing.vert | 0 .../glsl/texturearray/instancing.vert.spv | Bin .../glsl/texturecubemap/reflect.frag | 0 .../glsl/texturecubemap/reflect.frag.spv | Bin .../glsl/texturecubemap/reflect.vert | 0 .../glsl/texturecubemap/reflect.vert.spv | Bin .../glsl/texturecubemap/skybox.frag | 0 .../glsl/texturecubemap/skybox.frag.spv | Bin .../glsl/texturecubemap/skybox.vert | 0 .../glsl/texturecubemap/skybox.vert.spv | Bin .../glsl/texturecubemaparray/reflect.frag | 0 .../glsl/texturecubemaparray/reflect.frag.spv | Bin .../glsl/texturecubemaparray/reflect.vert | 0 .../glsl/texturecubemaparray/reflect.vert.spv | Bin .../glsl/texturecubemaparray/skybox.frag | 0 .../glsl/texturecubemaparray/skybox.frag.spv | Bin .../glsl/texturecubemaparray/skybox.vert | 0 .../glsl/texturecubemaparray/skybox.vert.spv | Bin .../glsl/texturemipmapgen/texture.frag | 0 .../glsl/texturemipmapgen/texture.frag.spv | Bin .../glsl/texturemipmapgen/texture.vert | 0 .../glsl/texturemipmapgen/texture.vert.spv | Bin .../texturesparseresidency/sparseresidency.frag | 0 .../texturesparseresidency/sparseresidency.frag.spv | Bin .../texturesparseresidency/sparseresidency.vert | 0 .../texturesparseresidency/sparseresidency.vert.spv | Bin .../shaders => shaders}/glsl/triangle/triangle.frag | 0 .../glsl/triangle/triangle.frag.spv | Bin .../shaders => shaders}/glsl/triangle/triangle.vert | 0 .../glsl/triangle/triangle.vert.spv | Bin .../glsl/variablerateshading/scene.frag | 0 .../glsl/variablerateshading/scene.frag.spv | Bin .../glsl/variablerateshading/scene.vert | 0 .../glsl/variablerateshading/scene.vert.spv | Bin .../glsl/vertexattributes/scene.frag | 0 .../glsl/vertexattributes/scene.frag.spv | Bin .../glsl/vertexattributes/scene.vert | 0 .../glsl/vertexattributes/scene.vert.spv | Bin .../glsl/viewportarray/multiview.geom | 0 .../glsl/viewportarray/multiview.geom.spv | Bin .../glsl/viewportarray/scene.frag | 0 .../glsl/viewportarray/scene.frag.spv | Bin .../glsl/viewportarray/scene.vert | 0 .../glsl/viewportarray/scene.vert.spv | Bin .../shaders => shaders}/glsl/vulkanscene/logo.frag | 0 .../glsl/vulkanscene/logo.frag.spv | Bin .../shaders => shaders}/glsl/vulkanscene/logo.vert | 0 .../glsl/vulkanscene/logo.vert.spv | Bin .../shaders => shaders}/glsl/vulkanscene/mesh.frag | 0 .../glsl/vulkanscene/mesh.frag.spv | Bin .../shaders => shaders}/glsl/vulkanscene/mesh.vert | 0 .../glsl/vulkanscene/mesh.vert.spv | Bin .../glsl/vulkanscene/skybox.frag | 0 .../glsl/vulkanscene/skybox.frag.spv | Bin .../glsl/vulkanscene/skybox.vert | 0 .../glsl/vulkanscene/skybox.vert.spv | Bin {data/shaders => shaders}/hlsl/README.md | 0 .../shaders => shaders}/hlsl/base/textoverlay.frag | 0 .../hlsl/base/textoverlay.frag.spv | Bin .../shaders => shaders}/hlsl/base/textoverlay.vert | 0 .../hlsl/base/textoverlay.vert.spv | Bin {data/shaders => shaders}/hlsl/base/uioverlay.frag | 0 .../hlsl/base/uioverlay.frag.spv | Bin {data/shaders => shaders}/hlsl/base/uioverlay.vert | 0 .../hlsl/base/uioverlay.vert.spv | Bin {data/shaders => shaders}/hlsl/bloom/colorpass.frag | 0 .../hlsl/bloom/colorpass.frag.spv | Bin {data/shaders => shaders}/hlsl/bloom/colorpass.vert | 0 .../hlsl/bloom/colorpass.vert.spv | Bin {data/shaders => shaders}/hlsl/bloom/gaussblur.frag | 0 .../hlsl/bloom/gaussblur.frag.spv | Bin {data/shaders => shaders}/hlsl/bloom/gaussblur.vert | 0 .../hlsl/bloom/gaussblur.vert.spv | Bin {data/shaders => shaders}/hlsl/bloom/phongpass.frag | 0 .../hlsl/bloom/phongpass.frag.spv | Bin {data/shaders => shaders}/hlsl/bloom/phongpass.vert | 0 .../hlsl/bloom/phongpass.vert.spv | Bin {data/shaders => shaders}/hlsl/bloom/skybox.frag | 0 .../shaders => shaders}/hlsl/bloom/skybox.frag.spv | Bin {data/shaders => shaders}/hlsl/bloom/skybox.vert | 0 .../shaders => shaders}/hlsl/bloom/skybox.vert.spv | Bin {data/shaders => shaders}/hlsl/compile.py | 0 .../hlsl/computecloth/cloth.comp | 0 .../hlsl/computecloth/cloth.comp.spv | Bin .../hlsl/computecloth/cloth.frag | 0 .../hlsl/computecloth/cloth.frag.spv | Bin .../hlsl/computecloth/cloth.vert | 0 .../hlsl/computecloth/cloth.vert.spv | Bin .../hlsl/computecloth/sphere.frag | 0 .../hlsl/computecloth/sphere.frag.spv | Bin .../hlsl/computecloth/sphere.vert | 0 .../hlsl/computecloth/sphere.vert.spv | Bin .../hlsl/computecullandlod/cull.comp | 0 .../hlsl/computecullandlod/cull.comp.spv | Bin .../hlsl/computecullandlod/indirectdraw.frag | 0 .../hlsl/computecullandlod/indirectdraw.frag.spv | Bin .../hlsl/computecullandlod/indirectdraw.vert | 0 .../hlsl/computecullandlod/indirectdraw.vert.spv | Bin .../hlsl/computeheadless/headless.comp | 0 .../hlsl/computeheadless/headless.comp.spv | Bin .../hlsl/computenbody/particle.frag | 0 .../hlsl/computenbody/particle.frag.spv | Bin .../hlsl/computenbody/particle.vert | 0 .../hlsl/computenbody/particle.vert.spv | Bin .../hlsl/computenbody/particle_calculate.comp | 0 .../hlsl/computenbody/particle_calculate.comp.spv | Bin .../hlsl/computenbody/particle_integrate.comp | 0 .../hlsl/computenbody/particle_integrate.comp.spv | Bin .../hlsl/computeparticles/particle.comp | 0 .../hlsl/computeparticles/particle.comp.spv | Bin .../hlsl/computeparticles/particle.frag | 0 .../hlsl/computeparticles/particle.frag.spv | Bin .../hlsl/computeparticles/particle.vert | 0 .../hlsl/computeparticles/particle.vert.spv | Bin .../hlsl/computeraytracing/raytracing.comp | 0 .../hlsl/computeraytracing/raytracing.comp.spv | Bin .../hlsl/computeraytracing/texture.frag | 0 .../hlsl/computeraytracing/texture.frag.spv | Bin .../hlsl/computeraytracing/texture.vert | 0 .../hlsl/computeraytracing/texture.vert.spv | Bin .../hlsl/computeshader/edgedetect.comp | 0 .../hlsl/computeshader/edgedetect.comp.spv | Bin .../hlsl/computeshader/emboss.comp | 0 .../hlsl/computeshader/emboss.comp.spv | Bin .../hlsl/computeshader/sharpen.comp | 0 .../hlsl/computeshader/sharpen.comp.spv | Bin .../hlsl/computeshader/texture.frag | 0 .../hlsl/computeshader/texture.frag.spv | Bin .../hlsl/computeshader/texture.vert | 0 .../hlsl/computeshader/texture.vert.spv | Bin .../hlsl/conditionalrender/model.frag | 0 .../hlsl/conditionalrender/model.frag.spv | Bin .../hlsl/conditionalrender/model.vert | 0 .../hlsl/conditionalrender/model.vert.spv | Bin .../hlsl/conservativeraster/fullscreen.frag | 0 .../hlsl/conservativeraster/fullscreen.frag.spv | Bin .../hlsl/conservativeraster/fullscreen.vert | 0 .../hlsl/conservativeraster/fullscreen.vert.spv | Bin .../hlsl/conservativeraster/triangle.frag | 0 .../hlsl/conservativeraster/triangle.frag.spv | Bin .../hlsl/conservativeraster/triangle.vert | 0 .../hlsl/conservativeraster/triangle.vert.spv | Bin .../hlsl/conservativeraster/triangleoverlay.frag | 0 .../conservativeraster/triangleoverlay.frag.spv | Bin .../hlsl/debugmarker/colorpass.frag | 0 .../hlsl/debugmarker/colorpass.frag.spv | Bin .../hlsl/debugmarker/colorpass.vert | 0 .../hlsl/debugmarker/colorpass.vert.spv | Bin .../hlsl/debugmarker/postprocess.frag | 0 .../hlsl/debugmarker/postprocess.frag.spv | Bin .../hlsl/debugmarker/postprocess.vert | 0 .../hlsl/debugmarker/postprocess.vert.spv | Bin .../shaders => shaders}/hlsl/debugmarker/toon.frag | 0 .../hlsl/debugmarker/toon.frag.spv | Bin .../shaders => shaders}/hlsl/debugmarker/toon.vert | 0 .../hlsl/debugmarker/toon.vert.spv | Bin .../shaders => shaders}/hlsl/deferred/deferred.frag | 0 .../hlsl/deferred/deferred.frag.spv | Bin .../shaders => shaders}/hlsl/deferred/deferred.vert | 0 .../hlsl/deferred/deferred.vert.spv | Bin {data/shaders => shaders}/hlsl/deferred/mrt.frag | 0 .../shaders => shaders}/hlsl/deferred/mrt.frag.spv | Bin {data/shaders => shaders}/hlsl/deferred/mrt.vert | 0 .../shaders => shaders}/hlsl/deferred/mrt.vert.spv | Bin .../hlsl/deferredmultisampling/deferred.frag | 0 .../hlsl/deferredmultisampling/deferred.frag.spv | Bin .../hlsl/deferredmultisampling/deferred.vert | 0 .../hlsl/deferredmultisampling/deferred.vert.spv | Bin .../hlsl/deferredmultisampling/mrt.frag | 0 .../hlsl/deferredmultisampling/mrt.frag.spv | Bin .../hlsl/deferredmultisampling/mrt.vert | 0 .../hlsl/deferredmultisampling/mrt.vert.spv | Bin .../hlsl/deferredshadows/deferred.frag | 0 .../hlsl/deferredshadows/deferred.frag.spv | Bin .../hlsl/deferredshadows/deferred.vert | 0 .../hlsl/deferredshadows/deferred.vert.spv | Bin .../hlsl/deferredshadows/mrt.frag | 0 .../hlsl/deferredshadows/mrt.frag.spv | Bin .../hlsl/deferredshadows/mrt.vert | 0 .../hlsl/deferredshadows/mrt.vert.spv | Bin .../hlsl/deferredshadows/shadow.geom | 0 .../hlsl/deferredshadows/shadow.geom.spv | Bin .../hlsl/deferredshadows/shadow.vert | 0 .../hlsl/deferredshadows/shadow.vert.spv | Bin .../hlsl/descriptorindexing/descriptorindexing.frag | 0 .../descriptorindexing/descriptorindexing.frag.spv | Bin .../hlsl/descriptorindexing/descriptorindexing.vert | 0 .../descriptorindexing/descriptorindexing.vert.spv | Bin .../hlsl/descriptorsets/cube.frag | 0 .../hlsl/descriptorsets/cube.frag.spv | Bin .../hlsl/descriptorsets/cube.vert | 0 .../hlsl/descriptorsets/cube.vert.spv | Bin .../shaders => shaders}/hlsl/displacement/base.frag | 0 .../hlsl/displacement/base.frag.spv | Bin .../shaders => shaders}/hlsl/displacement/base.vert | 0 .../hlsl/displacement/base.vert.spv | Bin .../hlsl/displacement/displacement.tesc | 0 .../hlsl/displacement/displacement.tesc.spv | Bin .../hlsl/displacement/displacement.tese | 0 .../hlsl/displacement/displacement.tese.spv | Bin .../hlsl/distancefieldfonts/bitmap.frag | 0 .../hlsl/distancefieldfonts/bitmap.frag.spv | Bin .../hlsl/distancefieldfonts/bitmap.vert | 0 .../hlsl/distancefieldfonts/bitmap.vert.spv | Bin .../hlsl/distancefieldfonts/sdf.frag | 0 .../hlsl/distancefieldfonts/sdf.frag.spv | Bin .../hlsl/distancefieldfonts/sdf.vert | 0 .../hlsl/distancefieldfonts/sdf.vert.spv | Bin .../hlsl/dynamicuniformbuffer/base.frag | 0 .../hlsl/dynamicuniformbuffer/base.frag.spv | Bin .../hlsl/dynamicuniformbuffer/base.vert | 0 .../hlsl/dynamicuniformbuffer/base.vert.spv | Bin {data/shaders => shaders}/hlsl/gears/gears.frag | 0 {data/shaders => shaders}/hlsl/gears/gears.frag.spv | Bin {data/shaders => shaders}/hlsl/gears/gears.vert | 0 {data/shaders => shaders}/hlsl/gears/gears.vert.spv | Bin .../hlsl/geometryshader/base.frag | 0 .../hlsl/geometryshader/base.frag.spv | Bin .../hlsl/geometryshader/base.vert | 0 .../hlsl/geometryshader/base.vert.spv | Bin .../hlsl/geometryshader/mesh.frag | 0 .../hlsl/geometryshader/mesh.frag.spv | Bin .../hlsl/geometryshader/mesh.vert | 0 .../hlsl/geometryshader/mesh.vert.spv | Bin .../hlsl/geometryshader/normaldebug.geom | 0 .../hlsl/geometryshader/normaldebug.geom.spv | Bin .../shaders => shaders}/hlsl/gltfloading/mesh.frag | 0 .../hlsl/gltfloading/mesh.frag.spv | Bin .../shaders => shaders}/hlsl/gltfloading/mesh.vert | 0 .../hlsl/gltfloading/mesh.vert.spv | Bin .../hlsl/gltfscenerendering/scene.frag | 0 .../hlsl/gltfscenerendering/scene.frag.spv | Bin .../hlsl/gltfscenerendering/scene.vert | 0 .../hlsl/gltfscenerendering/scene.vert.spv | Bin {data/shaders => shaders}/hlsl/hdr/bloom.frag | 0 {data/shaders => shaders}/hlsl/hdr/bloom.frag.spv | Bin {data/shaders => shaders}/hlsl/hdr/bloom.vert | 0 {data/shaders => shaders}/hlsl/hdr/bloom.vert.spv | Bin {data/shaders => shaders}/hlsl/hdr/composition.frag | 0 .../hlsl/hdr/composition.frag.spv | Bin {data/shaders => shaders}/hlsl/hdr/composition.vert | 0 .../hlsl/hdr/composition.vert.spv | Bin {data/shaders => shaders}/hlsl/hdr/gbuffer.frag | 0 {data/shaders => shaders}/hlsl/hdr/gbuffer.frag.spv | Bin {data/shaders => shaders}/hlsl/hdr/gbuffer.vert | 0 {data/shaders => shaders}/hlsl/hdr/gbuffer.vert.spv | Bin {data/shaders => shaders}/hlsl/imgui/scene.frag | 0 {data/shaders => shaders}/hlsl/imgui/scene.frag.spv | Bin {data/shaders => shaders}/hlsl/imgui/scene.vert | 0 {data/shaders => shaders}/hlsl/imgui/scene.vert.spv | Bin {data/shaders => shaders}/hlsl/imgui/ui.frag | 0 {data/shaders => shaders}/hlsl/imgui/ui.frag.spv | Bin {data/shaders => shaders}/hlsl/imgui/ui.vert | 0 {data/shaders => shaders}/hlsl/imgui/ui.vert.spv | Bin .../hlsl/indirectdraw/ground.frag | 0 .../hlsl/indirectdraw/ground.frag.spv | Bin .../hlsl/indirectdraw/ground.vert | 0 .../hlsl/indirectdraw/ground.vert.spv | Bin .../hlsl/indirectdraw/indirectdraw.frag | 0 .../hlsl/indirectdraw/indirectdraw.frag.spv | Bin .../hlsl/indirectdraw/indirectdraw.vert | 0 .../hlsl/indirectdraw/indirectdraw.vert.spv | Bin .../hlsl/indirectdraw/skysphere.frag | 0 .../hlsl/indirectdraw/skysphere.frag.spv | Bin .../hlsl/indirectdraw/skysphere.vert | 0 .../hlsl/indirectdraw/skysphere.vert.spv | Bin .../hlsl/inlineuniformblocks/pbr.frag | 0 .../hlsl/inlineuniformblocks/pbr.frag.spv | Bin .../hlsl/inlineuniformblocks/pbr.vert | 0 .../hlsl/inlineuniformblocks/pbr.vert.spv | Bin .../hlsl/inputattachments/attachmentread.frag | 0 .../hlsl/inputattachments/attachmentread.frag.spv | Bin .../hlsl/inputattachments/attachmentread.vert | 0 .../hlsl/inputattachments/attachmentread.vert.spv | Bin .../hlsl/inputattachments/attachmentwrite.frag | 0 .../hlsl/inputattachments/attachmentwrite.frag.spv | Bin .../hlsl/inputattachments/attachmentwrite.vert | 0 .../hlsl/inputattachments/attachmentwrite.vert.spv | Bin .../hlsl/instancing/instancing.frag | 0 .../hlsl/instancing/instancing.frag.spv | Bin .../hlsl/instancing/instancing.vert | 0 .../hlsl/instancing/instancing.vert.spv | Bin .../shaders => shaders}/hlsl/instancing/planet.frag | 0 .../hlsl/instancing/planet.frag.spv | Bin .../shaders => shaders}/hlsl/instancing/planet.vert | 0 .../hlsl/instancing/planet.vert.spv | Bin .../hlsl/instancing/starfield.frag | 0 .../hlsl/instancing/starfield.frag.spv | Bin .../hlsl/instancing/starfield.vert | 0 .../hlsl/instancing/starfield.vert.spv | Bin {data/shaders => shaders}/hlsl/mesh/mesh.frag | 0 {data/shaders => shaders}/hlsl/mesh/mesh.frag.spv | Bin {data/shaders => shaders}/hlsl/mesh/mesh.vert | 0 {data/shaders => shaders}/hlsl/mesh/mesh.vert.spv | Bin .../hlsl/multisampling/mesh.frag | 0 .../hlsl/multisampling/mesh.frag.spv | Bin .../hlsl/multisampling/mesh.vert | 0 .../hlsl/multisampling/mesh.vert.spv | Bin .../hlsl/multithreading/phong.frag | 0 .../hlsl/multithreading/phong.frag.spv | Bin .../hlsl/multithreading/phong.vert | 0 .../hlsl/multithreading/phong.vert.spv | Bin .../hlsl/multithreading/starsphere.frag | 0 .../hlsl/multithreading/starsphere.frag.spv | Bin .../hlsl/multithreading/starsphere.vert | 0 .../hlsl/multithreading/starsphere.vert.spv | Bin .../hlsl/multiview/multiview.frag | 0 .../hlsl/multiview/multiview.frag.spv | Bin .../hlsl/multiview/multiview.vert | 0 .../hlsl/multiview/multiview.vert.spv | Bin .../hlsl/multiview/viewdisplay.frag | 0 .../hlsl/multiview/viewdisplay.frag.spv | Bin .../hlsl/multiview/viewdisplay.vert | 0 .../hlsl/multiview/viewdisplay.vert.spv | Bin .../hlsl/negativeviewportheight/quad.frag | 0 .../hlsl/negativeviewportheight/quad.frag.spv | Bin .../hlsl/negativeviewportheight/quad.vert | 0 .../hlsl/negativeviewportheight/quad.vert.spv | Bin .../hlsl/occlusionquery/mesh.frag | 0 .../hlsl/occlusionquery/mesh.frag.spv | Bin .../hlsl/occlusionquery/mesh.vert | 0 .../hlsl/occlusionquery/mesh.vert.spv | Bin .../hlsl/occlusionquery/occluder.frag | 0 .../hlsl/occlusionquery/occluder.frag.spv | Bin .../hlsl/occlusionquery/occluder.vert | 0 .../hlsl/occlusionquery/occluder.vert.spv | Bin .../hlsl/occlusionquery/simple.frag | 0 .../hlsl/occlusionquery/simple.frag.spv | Bin .../hlsl/occlusionquery/simple.vert | 0 .../hlsl/occlusionquery/simple.vert.spv | Bin .../shaders => shaders}/hlsl/offscreen/mirror.frag | 0 .../hlsl/offscreen/mirror.frag.spv | Bin .../shaders => shaders}/hlsl/offscreen/mirror.vert | 0 .../hlsl/offscreen/mirror.vert.spv | Bin {data/shaders => shaders}/hlsl/offscreen/phong.frag | 0 .../hlsl/offscreen/phong.frag.spv | Bin {data/shaders => shaders}/hlsl/offscreen/phong.vert | 0 .../hlsl/offscreen/phong.vert.spv | Bin {data/shaders => shaders}/hlsl/offscreen/quad.frag | 0 .../hlsl/offscreen/quad.frag.spv | Bin {data/shaders => shaders}/hlsl/offscreen/quad.vert | 0 .../hlsl/offscreen/quad.vert.spv | Bin {data/shaders => shaders}/hlsl/oit/color.frag | 0 {data/shaders => shaders}/hlsl/oit/color.frag.spv | Bin {data/shaders => shaders}/hlsl/oit/color.vert | 0 {data/shaders => shaders}/hlsl/oit/color.vert.spv | Bin {data/shaders => shaders}/hlsl/oit/geometry.frag | 0 .../shaders => shaders}/hlsl/oit/geometry.frag.spv | Bin {data/shaders => shaders}/hlsl/oit/geometry.vert | 0 .../shaders => shaders}/hlsl/oit/geometry.vert.spv | Bin .../hlsl/parallaxmapping/parallax.frag | 0 .../hlsl/parallaxmapping/parallax.frag.spv | Bin .../hlsl/parallaxmapping/parallax.vert | 0 .../hlsl/parallaxmapping/parallax.vert.spv | Bin .../hlsl/particlefire/normalmap.frag | 0 .../hlsl/particlefire/normalmap.frag.spv | Bin .../hlsl/particlefire/normalmap.vert | 0 .../hlsl/particlefire/normalmap.vert.spv | Bin .../hlsl/particlefire/particle.frag | 0 .../hlsl/particlefire/particle.frag.spv | Bin .../hlsl/particlefire/particle.vert | 0 .../hlsl/particlefire/particle.vert.spv | Bin {data/shaders => shaders}/hlsl/pbrbasic/pbr.frag | 0 .../shaders => shaders}/hlsl/pbrbasic/pbr.frag.spv | Bin {data/shaders => shaders}/hlsl/pbrbasic/pbr.vert | 0 .../shaders => shaders}/hlsl/pbrbasic/pbr.vert.spv | Bin .../shaders => shaders}/hlsl/pbribl/filtercube.vert | 0 .../hlsl/pbribl/filtercube.vert.spv | Bin .../shaders => shaders}/hlsl/pbribl/genbrdflut.frag | 0 .../hlsl/pbribl/genbrdflut.frag.spv | Bin .../shaders => shaders}/hlsl/pbribl/genbrdflut.vert | 0 .../hlsl/pbribl/genbrdflut.vert.spv | Bin .../hlsl/pbribl/irradiancecube.frag | 0 .../hlsl/pbribl/irradiancecube.frag.spv | Bin {data/shaders => shaders}/hlsl/pbribl/pbribl.frag | 0 .../shaders => shaders}/hlsl/pbribl/pbribl.frag.spv | Bin {data/shaders => shaders}/hlsl/pbribl/pbribl.vert | 0 .../shaders => shaders}/hlsl/pbribl/pbribl.vert.spv | Bin .../hlsl/pbribl/prefilterenvmap.frag | 0 .../hlsl/pbribl/prefilterenvmap.frag.spv | Bin {data/shaders => shaders}/hlsl/pbribl/skybox.frag | 0 .../shaders => shaders}/hlsl/pbribl/skybox.frag.spv | Bin {data/shaders => shaders}/hlsl/pbribl/skybox.vert | 0 .../shaders => shaders}/hlsl/pbribl/skybox.vert.spv | Bin .../hlsl/pbrtexture/filtercube.vert | 0 .../hlsl/pbrtexture/filtercube.vert.spv | Bin .../hlsl/pbrtexture/genbrdflut.frag | 0 .../hlsl/pbrtexture/genbrdflut.frag.spv | Bin .../hlsl/pbrtexture/genbrdflut.vert | 0 .../hlsl/pbrtexture/genbrdflut.vert.spv | Bin .../hlsl/pbrtexture/irradiancecube.frag | 0 .../hlsl/pbrtexture/irradiancecube.frag.spv | Bin .../hlsl/pbrtexture/pbrtexture.frag | 0 .../hlsl/pbrtexture/pbrtexture.frag.spv | Bin .../hlsl/pbrtexture/pbrtexture.vert | 0 .../hlsl/pbrtexture/pbrtexture.vert.spv | Bin .../hlsl/pbrtexture/prefilterenvmap.frag | 0 .../hlsl/pbrtexture/prefilterenvmap.frag.spv | Bin .../shaders => shaders}/hlsl/pbrtexture/skybox.frag | 0 .../hlsl/pbrtexture/skybox.frag.spv | Bin .../shaders => shaders}/hlsl/pbrtexture/skybox.vert | 0 .../hlsl/pbrtexture/skybox.vert.spv | Bin {data/shaders => shaders}/hlsl/pipelines/phong.frag | 0 .../hlsl/pipelines/phong.frag.spv | Bin {data/shaders => shaders}/hlsl/pipelines/phong.vert | 0 .../hlsl/pipelines/phong.vert.spv | Bin {data/shaders => shaders}/hlsl/pipelines/toon.frag | 0 .../hlsl/pipelines/toon.frag.spv | Bin {data/shaders => shaders}/hlsl/pipelines/toon.vert | 0 .../hlsl/pipelines/toon.vert.spv | Bin .../hlsl/pipelines/wireframe.frag | 0 .../hlsl/pipelines/wireframe.frag.spv | Bin .../hlsl/pipelines/wireframe.vert | 0 .../hlsl/pipelines/wireframe.vert.spv | Bin .../hlsl/pipelinestatistics/scene.frag | 0 .../hlsl/pipelinestatistics/scene.frag.spv | Bin .../hlsl/pipelinestatistics/scene.tesc | 0 .../hlsl/pipelinestatistics/scene.tesc.spv | Bin .../hlsl/pipelinestatistics/scene.tese | 0 .../hlsl/pipelinestatistics/scene.tese.spv | Bin .../hlsl/pipelinestatistics/scene.vert | 0 .../hlsl/pipelinestatistics/scene.vert.spv | Bin .../hlsl/pushconstants/pushconstants.frag | 0 .../hlsl/pushconstants/pushconstants.frag.spv | Bin .../hlsl/pushconstants/pushconstants.vert | 0 .../hlsl/pushconstants/pushconstants.vert.spv | Bin .../hlsl/pushdescriptors/cube.frag | 0 .../hlsl/pushdescriptors/cube.frag.spv | Bin .../hlsl/pushdescriptors/cube.vert | 0 .../hlsl/pushdescriptors/cube.vert.spv | Bin .../hlsl/radialblur/colorpass.frag | 0 .../hlsl/radialblur/colorpass.frag.spv | Bin .../hlsl/radialblur/colorpass.vert | 0 .../hlsl/radialblur/colorpass.vert.spv | Bin .../hlsl/radialblur/phongpass.frag | 0 .../hlsl/radialblur/phongpass.frag.spv | Bin .../hlsl/radialblur/phongpass.vert | 0 .../hlsl/radialblur/phongpass.vert.spv | Bin .../hlsl/radialblur/radialblur.frag | 0 .../hlsl/radialblur/radialblur.frag.spv | Bin .../hlsl/radialblur/radialblur.vert | 0 .../hlsl/radialblur/radialblur.vert.spv | Bin .../hlsl/raytracingbasic/closesthit.rchit | 0 .../hlsl/raytracingbasic/closesthit.rchit.spv | Bin .../hlsl/raytracingbasic/miss.rmiss | 0 .../hlsl/raytracingbasic/miss.rmiss.spv | Bin .../hlsl/raytracingbasic/raygen.rgen | 0 .../hlsl/raytracingbasic/raygen.rgen.spv | Bin .../hlsl/raytracingcallable/callable1.rcall | 0 .../hlsl/raytracingcallable/callable1.rcall.spv | Bin .../hlsl/raytracingcallable/callable2.rcall | 0 .../hlsl/raytracingcallable/callable2.rcall.spv | Bin .../hlsl/raytracingcallable/callable3.rcall | 0 .../hlsl/raytracingcallable/callable3.rcall.spv | Bin .../hlsl/raytracingcallable/closesthit.rchit | 0 .../hlsl/raytracingcallable/closesthit.rchit.spv | Bin .../hlsl/raytracingcallable/miss.rmiss | 0 .../hlsl/raytracingcallable/miss.rmiss.spv | Bin .../hlsl/raytracingcallable/raygen.rgen | 0 .../hlsl/raytracingcallable/raygen.rgen.spv | Bin .../hlsl/raytracingreflections/closesthit.rchit | 0 .../hlsl/raytracingreflections/closesthit.rchit.spv | Bin .../hlsl/raytracingreflections/miss.rmiss | 0 .../hlsl/raytracingreflections/miss.rmiss.spv | Bin .../hlsl/raytracingreflections/raygen.rgen | 0 .../hlsl/raytracingreflections/raygen.rgen.spv | Bin .../hlsl/raytracingsbtdata/closesthit.rchit | 0 .../hlsl/raytracingsbtdata/closesthit.rchit.spv | Bin .../hlsl/raytracingsbtdata/miss.rmiss | 0 .../hlsl/raytracingsbtdata/miss.rmiss.spv | Bin .../hlsl/raytracingsbtdata/raygen.rgen | 0 .../hlsl/raytracingsbtdata/raygen.rgen.spv | Bin .../hlsl/raytracingshadows/closesthit.rchit | 0 .../hlsl/raytracingshadows/closesthit.rchit.spv | Bin .../hlsl/raytracingshadows/miss.rmiss | 0 .../hlsl/raytracingshadows/miss.rmiss.spv | Bin .../hlsl/raytracingshadows/raygen.rgen | 0 .../hlsl/raytracingshadows/raygen.rgen.spv | Bin .../hlsl/raytracingshadows/shadow.rmiss | 0 .../hlsl/raytracingshadows/shadow.rmiss.spv | Bin .../hlsl/renderheadless/triangle.frag | 0 .../hlsl/renderheadless/triangle.frag.spv | Bin .../hlsl/renderheadless/triangle.vert | 0 .../hlsl/renderheadless/triangle.vert.spv | Bin {data/shaders => shaders}/hlsl/screenshot/mesh.frag | 0 .../hlsl/screenshot/mesh.frag.spv | Bin {data/shaders => shaders}/hlsl/screenshot/mesh.vert | 0 .../hlsl/screenshot/mesh.vert.spv | Bin .../hlsl/shadowmapping/offscreen.frag | 0 .../hlsl/shadowmapping/offscreen.frag.spv | Bin .../hlsl/shadowmapping/offscreen.vert | 0 .../hlsl/shadowmapping/offscreen.vert.spv | Bin .../hlsl/shadowmapping/quad.frag | 0 .../hlsl/shadowmapping/quad.frag.spv | Bin .../hlsl/shadowmapping/quad.vert | 0 .../hlsl/shadowmapping/quad.vert.spv | Bin .../hlsl/shadowmapping/scene.frag | 0 .../hlsl/shadowmapping/scene.frag.spv | Bin .../hlsl/shadowmapping/scene.vert | 0 .../hlsl/shadowmapping/scene.vert.spv | Bin .../hlsl/shadowmappingcascade/debugshadowmap.frag | 0 .../shadowmappingcascade/debugshadowmap.frag.spv | Bin .../hlsl/shadowmappingcascade/debugshadowmap.vert | 0 .../shadowmappingcascade/debugshadowmap.vert.spv | Bin .../hlsl/shadowmappingcascade/depthpass.frag | 0 .../hlsl/shadowmappingcascade/depthpass.frag.spv | Bin .../hlsl/shadowmappingcascade/depthpass.vert | 0 .../hlsl/shadowmappingcascade/depthpass.vert.spv | Bin .../hlsl/shadowmappingcascade/scene.frag | 0 .../hlsl/shadowmappingcascade/scene.frag.spv | Bin .../hlsl/shadowmappingcascade/scene.vert | 0 .../hlsl/shadowmappingcascade/scene.vert.spv | Bin .../hlsl/shadowmappingomni/cubemapdisplay.frag | 0 .../hlsl/shadowmappingomni/cubemapdisplay.frag.spv | Bin .../hlsl/shadowmappingomni/cubemapdisplay.vert | 0 .../hlsl/shadowmappingomni/cubemapdisplay.vert.spv | Bin .../hlsl/shadowmappingomni/offscreen.frag | 0 .../hlsl/shadowmappingomni/offscreen.frag.spv | Bin .../hlsl/shadowmappingomni/offscreen.vert | 0 .../hlsl/shadowmappingomni/offscreen.vert.spv | Bin .../hlsl/shadowmappingomni/scene.frag | 0 .../hlsl/shadowmappingomni/scene.frag.spv | Bin .../hlsl/shadowmappingomni/scene.vert | 0 .../hlsl/shadowmappingomni/scene.vert.spv | Bin .../hlsl/specializationconstants/uber.frag | 0 .../hlsl/specializationconstants/uber.frag.spv | Bin .../hlsl/specializationconstants/uber.vert | 0 .../hlsl/specializationconstants/uber.vert.spv | Bin .../hlsl/sphericalenvmapping/sem.frag | 0 .../hlsl/sphericalenvmapping/sem.frag.spv | Bin .../hlsl/sphericalenvmapping/sem.vert | 0 .../hlsl/sphericalenvmapping/sem.vert.spv | Bin {data/shaders => shaders}/hlsl/ssao/blur.frag | 0 {data/shaders => shaders}/hlsl/ssao/blur.frag.spv | Bin .../shaders => shaders}/hlsl/ssao/composition.frag | 0 .../hlsl/ssao/composition.frag.spv | Bin {data/shaders => shaders}/hlsl/ssao/fullscreen.vert | 0 .../hlsl/ssao/fullscreen.vert.spv | Bin {data/shaders => shaders}/hlsl/ssao/gbuffer.frag | 0 .../shaders => shaders}/hlsl/ssao/gbuffer.frag.spv | Bin {data/shaders => shaders}/hlsl/ssao/gbuffer.vert | 0 .../shaders => shaders}/hlsl/ssao/gbuffer.vert.spv | Bin {data/shaders => shaders}/hlsl/ssao/ssao.frag | 0 {data/shaders => shaders}/hlsl/ssao/ssao.frag.spv | Bin .../hlsl/stencilbuffer/outline.frag | 0 .../hlsl/stencilbuffer/outline.frag.spv | Bin .../hlsl/stencilbuffer/outline.vert | 0 .../hlsl/stencilbuffer/outline.vert.spv | Bin .../hlsl/stencilbuffer/toon.frag | 0 .../hlsl/stencilbuffer/toon.frag.spv | Bin .../hlsl/stencilbuffer/toon.vert | 0 .../hlsl/stencilbuffer/toon.vert.spv | Bin .../hlsl/subpasses/composition.frag | 0 .../hlsl/subpasses/composition.frag.spv | Bin .../hlsl/subpasses/composition.vert | 0 .../hlsl/subpasses/composition.vert.spv | Bin .../shaders => shaders}/hlsl/subpasses/gbuffer.frag | 0 .../hlsl/subpasses/gbuffer.frag.spv | Bin .../shaders => shaders}/hlsl/subpasses/gbuffer.vert | 0 .../hlsl/subpasses/gbuffer.vert.spv | Bin .../hlsl/subpasses/transparent.frag | 0 .../hlsl/subpasses/transparent.frag.spv | Bin .../hlsl/subpasses/transparent.vert | 0 .../hlsl/subpasses/transparent.vert.spv | Bin .../hlsl/terraintessellation/skysphere.frag | 0 .../hlsl/terraintessellation/skysphere.frag.spv | Bin .../hlsl/terraintessellation/skysphere.vert | 0 .../hlsl/terraintessellation/skysphere.vert.spv | Bin .../hlsl/terraintessellation/terrain.frag | 0 .../hlsl/terraintessellation/terrain.frag.spv | Bin .../hlsl/terraintessellation/terrain.tesc | 0 .../hlsl/terraintessellation/terrain.tesc.spv | Bin .../hlsl/terraintessellation/terrain.tese | 0 .../hlsl/terraintessellation/terrain.tese.spv | Bin .../hlsl/terraintessellation/terrain.vert | 0 .../hlsl/terraintessellation/terrain.vert.spv | Bin .../shaders => shaders}/hlsl/tessellation/base.frag | 0 .../hlsl/tessellation/base.frag.spv | Bin .../shaders => shaders}/hlsl/tessellation/base.vert | 0 .../hlsl/tessellation/base.vert.spv | Bin .../hlsl/tessellation/passthrough.tesc | 0 .../hlsl/tessellation/passthrough.tesc.spv | Bin .../hlsl/tessellation/passthrough.tese | 0 .../hlsl/tessellation/passthrough.tese.spv | Bin .../hlsl/tessellation/pntriangles.tesc | 0 .../hlsl/tessellation/pntriangles.tesc.spv | Bin .../hlsl/tessellation/pntriangles.tese | 0 .../hlsl/tessellation/pntriangles.tese.spv | Bin .../shaders => shaders}/hlsl/textoverlay/mesh.frag | 0 .../hlsl/textoverlay/mesh.frag.spv | Bin .../shaders => shaders}/hlsl/textoverlay/mesh.vert | 0 .../hlsl/textoverlay/mesh.vert.spv | Bin .../shaders => shaders}/hlsl/textoverlay/text.frag | 0 .../hlsl/textoverlay/text.frag.spv | Bin .../shaders => shaders}/hlsl/textoverlay/text.vert | 0 .../hlsl/textoverlay/text.vert.spv | Bin {data/shaders => shaders}/hlsl/texture/texture.frag | 0 .../hlsl/texture/texture.frag.spv | Bin {data/shaders => shaders}/hlsl/texture/texture.vert | 0 .../hlsl/texture/texture.vert.spv | Bin .../hlsl/texture3d/texture3d.frag | 0 .../hlsl/texture3d/texture3d.frag.spv | Bin .../hlsl/texture3d/texture3d.vert | 0 .../hlsl/texture3d/texture3d.vert.spv | Bin .../hlsl/texturearray/instancing.frag | 0 .../hlsl/texturearray/instancing.frag.spv | Bin .../hlsl/texturearray/instancing.vert | 0 .../hlsl/texturearray/instancing.vert.spv | Bin .../hlsl/texturecubemap/reflect.frag | 0 .../hlsl/texturecubemap/reflect.frag.spv | Bin .../hlsl/texturecubemap/reflect.vert | 0 .../hlsl/texturecubemap/reflect.vert.spv | Bin .../hlsl/texturecubemap/skybox.frag | 0 .../hlsl/texturecubemap/skybox.frag.spv | Bin .../hlsl/texturecubemap/skybox.vert | 0 .../hlsl/texturecubemap/skybox.vert.spv | Bin .../hlsl/texturecubemaparray/reflect.frag | 0 .../hlsl/texturecubemaparray/reflect.frag.spv | Bin .../hlsl/texturecubemaparray/reflect.vert | 0 .../hlsl/texturecubemaparray/reflect.vert.spv | Bin .../hlsl/texturecubemaparray/skybox.frag | 0 .../hlsl/texturecubemaparray/skybox.frag.spv | Bin .../hlsl/texturecubemaparray/skybox.vert | 0 .../hlsl/texturecubemaparray/skybox.vert.spv | Bin .../hlsl/texturemipmapgen/texture.frag | 0 .../hlsl/texturemipmapgen/texture.frag.spv | Bin .../hlsl/texturemipmapgen/texture.vert | 0 .../hlsl/texturemipmapgen/texture.vert.spv | Bin .../texturesparseresidency/sparseresidency.frag | 0 .../texturesparseresidency/sparseresidency.frag.spv | Bin .../texturesparseresidency/sparseresidency.vert | 0 .../texturesparseresidency/sparseresidency.vert.spv | Bin .../shaders => shaders}/hlsl/triangle/triangle.frag | 0 .../hlsl/triangle/triangle.frag.spv | Bin .../shaders => shaders}/hlsl/triangle/triangle.vert | 0 .../hlsl/triangle/triangle.vert.spv | Bin .../hlsl/variablerateshading/scene.frag | 0 .../hlsl/variablerateshading/scene.frag.spv | Bin .../hlsl/variablerateshading/scene.vert | 0 .../hlsl/variablerateshading/scene.vert.spv | Bin .../hlsl/viewportarray/multiview.geom | 0 .../hlsl/viewportarray/multiview.geom.spv | Bin .../hlsl/viewportarray/scene.frag | 0 .../hlsl/viewportarray/scene.frag.spv | Bin .../hlsl/viewportarray/scene.vert | 0 .../hlsl/viewportarray/scene.vert.spv | Bin .../shaders => shaders}/hlsl/vulkanscene/logo.frag | 0 .../hlsl/vulkanscene/logo.frag.spv | Bin .../shaders => shaders}/hlsl/vulkanscene/logo.vert | 0 .../hlsl/vulkanscene/logo.vert.spv | Bin .../shaders => shaders}/hlsl/vulkanscene/mesh.frag | 0 .../hlsl/vulkanscene/mesh.frag.spv | Bin .../shaders => shaders}/hlsl/vulkanscene/mesh.vert | 0 .../hlsl/vulkanscene/mesh.vert.spv | Bin .../hlsl/vulkanscene/skybox.frag | 0 .../hlsl/vulkanscene/skybox.frag.spv | Bin .../hlsl/vulkanscene/skybox.vert | 0 .../hlsl/vulkanscene/skybox.vert.spv | Bin 1244 files changed, 0 insertions(+), 0 deletions(-) rename {data/shaders => shaders}/glsl/base/textoverlay.frag (100%) rename {data/shaders => shaders}/glsl/base/textoverlay.frag.spv (100%) rename {data/shaders => shaders}/glsl/base/textoverlay.vert (100%) rename {data/shaders => shaders}/glsl/base/textoverlay.vert.spv (100%) rename {data/shaders => shaders}/glsl/base/uioverlay.frag (100%) rename {data/shaders => shaders}/glsl/base/uioverlay.frag.spv (100%) rename {data/shaders => shaders}/glsl/base/uioverlay.vert (100%) rename {data/shaders => shaders}/glsl/base/uioverlay.vert.spv (100%) rename {data/shaders => shaders}/glsl/bloom/colorpass.frag (100%) rename {data/shaders => shaders}/glsl/bloom/colorpass.frag.spv (100%) rename {data/shaders => shaders}/glsl/bloom/colorpass.vert (100%) rename {data/shaders => shaders}/glsl/bloom/colorpass.vert.spv (100%) rename {data/shaders => shaders}/glsl/bloom/gaussblur.frag (100%) rename {data/shaders => shaders}/glsl/bloom/gaussblur.frag.spv (100%) rename {data/shaders => shaders}/glsl/bloom/gaussblur.vert (100%) rename {data/shaders => shaders}/glsl/bloom/gaussblur.vert.spv (100%) rename {data/shaders => shaders}/glsl/bloom/phongpass.frag (100%) rename {data/shaders => shaders}/glsl/bloom/phongpass.frag.spv (100%) rename {data/shaders => shaders}/glsl/bloom/phongpass.vert (100%) rename {data/shaders => shaders}/glsl/bloom/phongpass.vert.spv (100%) rename {data/shaders => shaders}/glsl/bloom/skybox.frag (100%) rename {data/shaders => shaders}/glsl/bloom/skybox.frag.spv (100%) rename {data/shaders => shaders}/glsl/bloom/skybox.vert (100%) rename {data/shaders => shaders}/glsl/bloom/skybox.vert.spv (100%) rename {data/shaders => shaders}/glsl/compileshaders.py (100%) rename {data/shaders => shaders}/glsl/computecloth/cloth.comp (100%) rename {data/shaders => shaders}/glsl/computecloth/cloth.comp.spv (100%) rename {data/shaders => shaders}/glsl/computecloth/cloth.frag (100%) rename {data/shaders => shaders}/glsl/computecloth/cloth.frag.spv (100%) rename {data/shaders => shaders}/glsl/computecloth/cloth.vert (100%) rename {data/shaders => shaders}/glsl/computecloth/cloth.vert.spv (100%) rename {data/shaders => shaders}/glsl/computecloth/sphere.frag (100%) rename {data/shaders => shaders}/glsl/computecloth/sphere.frag.spv (100%) rename {data/shaders => shaders}/glsl/computecloth/sphere.vert (100%) rename {data/shaders => shaders}/glsl/computecloth/sphere.vert.spv (100%) rename {data/shaders => shaders}/glsl/computecullandlod/cull.comp (100%) rename {data/shaders => shaders}/glsl/computecullandlod/cull.comp.spv (100%) rename {data/shaders => shaders}/glsl/computecullandlod/indirectdraw.frag (100%) rename {data/shaders => shaders}/glsl/computecullandlod/indirectdraw.frag.spv (100%) rename {data/shaders => shaders}/glsl/computecullandlod/indirectdraw.vert (100%) rename {data/shaders => shaders}/glsl/computecullandlod/indirectdraw.vert.spv (100%) rename {data/shaders => shaders}/glsl/computeheadless/headless.comp (100%) rename {data/shaders => shaders}/glsl/computeheadless/headless.comp.spv (100%) rename {data/shaders => shaders}/glsl/computenbody/particle.frag (100%) rename {data/shaders => shaders}/glsl/computenbody/particle.frag.spv (100%) rename {data/shaders => shaders}/glsl/computenbody/particle.vert (100%) rename {data/shaders => shaders}/glsl/computenbody/particle.vert.spv (100%) rename {data/shaders => shaders}/glsl/computenbody/particle_calculate.comp (100%) rename {data/shaders => shaders}/glsl/computenbody/particle_calculate.comp.spv (100%) rename {data/shaders => shaders}/glsl/computenbody/particle_integrate.comp (100%) rename {data/shaders => shaders}/glsl/computenbody/particle_integrate.comp.spv (100%) rename {data/shaders => shaders}/glsl/computeparticles/particle.comp (100%) rename {data/shaders => shaders}/glsl/computeparticles/particle.comp.spv (100%) rename {data/shaders => shaders}/glsl/computeparticles/particle.frag (100%) rename {data/shaders => shaders}/glsl/computeparticles/particle.frag.spv (100%) rename {data/shaders => shaders}/glsl/computeparticles/particle.vert (100%) rename {data/shaders => shaders}/glsl/computeparticles/particle.vert.spv (100%) rename {data/shaders => shaders}/glsl/computeraytracing/raytracing.comp (100%) rename {data/shaders => shaders}/glsl/computeraytracing/raytracing.comp.spv (100%) rename {data/shaders => shaders}/glsl/computeraytracing/texture.frag (100%) rename {data/shaders => shaders}/glsl/computeraytracing/texture.frag.spv (100%) rename {data/shaders => shaders}/glsl/computeraytracing/texture.vert (100%) rename {data/shaders => shaders}/glsl/computeraytracing/texture.vert.spv (100%) rename {data/shaders => shaders}/glsl/computeshader/edgedetect.comp (100%) rename {data/shaders => shaders}/glsl/computeshader/edgedetect.comp.spv (100%) rename {data/shaders => shaders}/glsl/computeshader/emboss.comp (100%) rename {data/shaders => shaders}/glsl/computeshader/emboss.comp.spv (100%) rename {data/shaders => shaders}/glsl/computeshader/sharpen.comp (100%) rename {data/shaders => shaders}/glsl/computeshader/sharpen.comp.spv (100%) rename {data/shaders => shaders}/glsl/computeshader/texture.frag (100%) rename {data/shaders => shaders}/glsl/computeshader/texture.frag.spv (100%) rename {data/shaders => shaders}/glsl/computeshader/texture.vert (100%) rename {data/shaders => shaders}/glsl/computeshader/texture.vert.spv (100%) rename {data/shaders => shaders}/glsl/conditionalrender/model.frag (100%) rename {data/shaders => shaders}/glsl/conditionalrender/model.frag.spv (100%) rename {data/shaders => shaders}/glsl/conditionalrender/model.vert (100%) rename {data/shaders => shaders}/glsl/conditionalrender/model.vert.spv (100%) rename {data/shaders => shaders}/glsl/conservativeraster/fullscreen.frag (100%) rename {data/shaders => shaders}/glsl/conservativeraster/fullscreen.frag.spv (100%) rename {data/shaders => shaders}/glsl/conservativeraster/fullscreen.vert (100%) rename {data/shaders => shaders}/glsl/conservativeraster/fullscreen.vert.spv (100%) rename {data/shaders => shaders}/glsl/conservativeraster/triangle.frag (100%) rename {data/shaders => shaders}/glsl/conservativeraster/triangle.frag.spv (100%) rename {data/shaders => shaders}/glsl/conservativeraster/triangle.vert (100%) rename {data/shaders => shaders}/glsl/conservativeraster/triangle.vert.spv (100%) rename {data/shaders => shaders}/glsl/conservativeraster/triangleoverlay.frag (100%) rename {data/shaders => shaders}/glsl/conservativeraster/triangleoverlay.frag.spv (100%) rename {data/shaders => shaders}/glsl/debugmarker/colorpass.frag (100%) rename {data/shaders => shaders}/glsl/debugmarker/colorpass.frag.spv (100%) rename {data/shaders => shaders}/glsl/debugmarker/colorpass.vert (100%) rename {data/shaders => shaders}/glsl/debugmarker/colorpass.vert.spv (100%) rename {data/shaders => shaders}/glsl/debugmarker/postprocess.frag (100%) rename {data/shaders => shaders}/glsl/debugmarker/postprocess.frag.spv (100%) rename {data/shaders => shaders}/glsl/debugmarker/postprocess.vert (100%) rename {data/shaders => shaders}/glsl/debugmarker/postprocess.vert.spv (100%) rename {data/shaders => shaders}/glsl/debugmarker/toon.frag (100%) rename {data/shaders => shaders}/glsl/debugmarker/toon.frag.spv (100%) rename {data/shaders => shaders}/glsl/debugmarker/toon.vert (100%) rename {data/shaders => shaders}/glsl/debugmarker/toon.vert.spv (100%) rename {data/shaders => shaders}/glsl/deferred/deferred.frag (100%) rename {data/shaders => shaders}/glsl/deferred/deferred.frag.spv (100%) rename {data/shaders => shaders}/glsl/deferred/deferred.vert (100%) rename {data/shaders => shaders}/glsl/deferred/deferred.vert.spv (100%) rename {data/shaders => shaders}/glsl/deferred/mrt.frag (100%) rename {data/shaders => shaders}/glsl/deferred/mrt.frag.spv (100%) rename {data/shaders => shaders}/glsl/deferred/mrt.vert (100%) rename {data/shaders => shaders}/glsl/deferred/mrt.vert.spv (100%) rename {data/shaders => shaders}/glsl/deferredmultisampling/deferred.frag (100%) rename {data/shaders => shaders}/glsl/deferredmultisampling/deferred.frag.spv (100%) rename {data/shaders => shaders}/glsl/deferredmultisampling/deferred.vert (100%) rename {data/shaders => shaders}/glsl/deferredmultisampling/deferred.vert.spv (100%) rename {data/shaders => shaders}/glsl/deferredmultisampling/mrt.frag (100%) rename {data/shaders => shaders}/glsl/deferredmultisampling/mrt.frag.spv (100%) rename {data/shaders => shaders}/glsl/deferredmultisampling/mrt.vert (100%) rename {data/shaders => shaders}/glsl/deferredmultisampling/mrt.vert.spv (100%) rename {data/shaders => shaders}/glsl/deferredshadows/deferred.frag (100%) rename {data/shaders => shaders}/glsl/deferredshadows/deferred.frag.spv (100%) rename {data/shaders => shaders}/glsl/deferredshadows/deferred.vert (100%) rename {data/shaders => shaders}/glsl/deferredshadows/deferred.vert.spv (100%) rename {data/shaders => shaders}/glsl/deferredshadows/geom.spv (100%) rename {data/shaders => shaders}/glsl/deferredshadows/mrt.frag (100%) rename {data/shaders => shaders}/glsl/deferredshadows/mrt.frag.spv (100%) rename {data/shaders => shaders}/glsl/deferredshadows/mrt.vert (100%) rename {data/shaders => shaders}/glsl/deferredshadows/mrt.vert.spv (100%) rename {data/shaders => shaders}/glsl/deferredshadows/shadow.geom (100%) rename {data/shaders => shaders}/glsl/deferredshadows/shadow.geom.spv (100%) rename {data/shaders => shaders}/glsl/deferredshadows/shadow.vert (100%) rename {data/shaders => shaders}/glsl/deferredshadows/shadow.vert.spv (100%) rename {data/shaders => shaders}/glsl/descriptorbuffer/cube.frag (100%) rename {data/shaders => shaders}/glsl/descriptorbuffer/cube.frag.spv (100%) rename {data/shaders => shaders}/glsl/descriptorbuffer/cube.vert (100%) rename {data/shaders => shaders}/glsl/descriptorbuffer/cube.vert.spv (100%) rename {data/shaders => shaders}/glsl/descriptorindexing/descriptorindexing.frag (100%) rename {data/shaders => shaders}/glsl/descriptorindexing/descriptorindexing.frag.spv (100%) rename {data/shaders => shaders}/glsl/descriptorindexing/descriptorindexing.vert (100%) rename {data/shaders => shaders}/glsl/descriptorindexing/descriptorindexing.vert.spv (100%) rename {data/shaders => shaders}/glsl/descriptorsets/cube.frag (100%) rename {data/shaders => shaders}/glsl/descriptorsets/cube.frag.spv (100%) rename {data/shaders => shaders}/glsl/descriptorsets/cube.vert (100%) rename {data/shaders => shaders}/glsl/descriptorsets/cube.vert.spv (100%) rename {data/shaders => shaders}/glsl/displacement/base.frag (100%) rename {data/shaders => shaders}/glsl/displacement/base.frag.spv (100%) rename {data/shaders => shaders}/glsl/displacement/base.vert (100%) rename {data/shaders => shaders}/glsl/displacement/base.vert.spv (100%) rename {data/shaders => shaders}/glsl/displacement/displacement.tesc (100%) rename {data/shaders => shaders}/glsl/displacement/displacement.tesc.spv (100%) rename {data/shaders => shaders}/glsl/displacement/displacement.tese (100%) rename {data/shaders => shaders}/glsl/displacement/displacement.tese.spv (100%) rename {data/shaders => shaders}/glsl/distancefieldfonts/bitmap.frag (100%) rename {data/shaders => shaders}/glsl/distancefieldfonts/bitmap.frag.spv (100%) rename {data/shaders => shaders}/glsl/distancefieldfonts/bitmap.vert (100%) rename {data/shaders => shaders}/glsl/distancefieldfonts/bitmap.vert.spv (100%) rename {data/shaders => shaders}/glsl/distancefieldfonts/sdf.frag (100%) rename {data/shaders => shaders}/glsl/distancefieldfonts/sdf.frag.spv (100%) rename {data/shaders => shaders}/glsl/distancefieldfonts/sdf.vert (100%) rename {data/shaders => shaders}/glsl/distancefieldfonts/sdf.vert.spv (100%) rename {data/shaders => shaders}/glsl/dynamicrendering/texture.frag (100%) rename {data/shaders => shaders}/glsl/dynamicrendering/texture.frag.spv (100%) rename {data/shaders => shaders}/glsl/dynamicrendering/texture.vert (100%) rename {data/shaders => shaders}/glsl/dynamicrendering/texture.vert.spv (100%) rename {data/shaders => shaders}/glsl/dynamicuniformbuffer/base.frag (100%) rename {data/shaders => shaders}/glsl/dynamicuniformbuffer/base.frag.spv (100%) rename {data/shaders => shaders}/glsl/dynamicuniformbuffer/base.vert (100%) rename {data/shaders => shaders}/glsl/dynamicuniformbuffer/base.vert.spv (100%) rename {data/shaders => shaders}/glsl/gears/gears.frag (100%) rename {data/shaders => shaders}/glsl/gears/gears.frag.spv (100%) rename {data/shaders => shaders}/glsl/gears/gears.vert (100%) rename {data/shaders => shaders}/glsl/gears/gears.vert.spv (100%) rename {data/shaders => shaders}/glsl/geometryshader/base.frag (100%) rename {data/shaders => shaders}/glsl/geometryshader/base.frag.spv (100%) rename {data/shaders => shaders}/glsl/geometryshader/base.vert (100%) rename {data/shaders => shaders}/glsl/geometryshader/base.vert.spv (100%) rename {data/shaders => shaders}/glsl/geometryshader/mesh.frag (100%) rename {data/shaders => shaders}/glsl/geometryshader/mesh.frag.spv (100%) rename {data/shaders => shaders}/glsl/geometryshader/mesh.vert (100%) rename {data/shaders => shaders}/glsl/geometryshader/mesh.vert.spv (100%) rename {data/shaders => shaders}/glsl/geometryshader/normaldebug.geom (100%) rename {data/shaders => shaders}/glsl/geometryshader/normaldebug.geom.spv (100%) rename {data/shaders => shaders}/glsl/gltfloading/mesh.frag (100%) rename {data/shaders => shaders}/glsl/gltfloading/mesh.frag.spv (100%) rename {data/shaders => shaders}/glsl/gltfloading/mesh.vert (100%) rename {data/shaders => shaders}/glsl/gltfloading/mesh.vert.spv (100%) rename {data/shaders => shaders}/glsl/gltfscenerendering/scene.frag (100%) rename {data/shaders => shaders}/glsl/gltfscenerendering/scene.frag.spv (100%) rename {data/shaders => shaders}/glsl/gltfscenerendering/scene.vert (100%) rename {data/shaders => shaders}/glsl/gltfscenerendering/scene.vert.spv (100%) rename {data/shaders => shaders}/glsl/gltfskinning/skinnedmodel.frag (100%) rename {data/shaders => shaders}/glsl/gltfskinning/skinnedmodel.frag.spv (100%) rename {data/shaders => shaders}/glsl/gltfskinning/skinnedmodel.vert (100%) rename {data/shaders => shaders}/glsl/gltfskinning/skinnedmodel.vert.spv (100%) rename {data/shaders => shaders}/glsl/graphicspipelinelibrary/shared.vert (100%) rename {data/shaders => shaders}/glsl/graphicspipelinelibrary/shared.vert.spv (100%) rename {data/shaders => shaders}/glsl/graphicspipelinelibrary/uber.frag (100%) rename {data/shaders => shaders}/glsl/graphicspipelinelibrary/uber.frag.spv (100%) rename {data/shaders => shaders}/glsl/hdr/bloom.frag (100%) rename {data/shaders => shaders}/glsl/hdr/bloom.frag.spv (100%) rename {data/shaders => shaders}/glsl/hdr/bloom.vert (100%) rename {data/shaders => shaders}/glsl/hdr/bloom.vert.spv (100%) rename {data/shaders => shaders}/glsl/hdr/composition.frag (100%) rename {data/shaders => shaders}/glsl/hdr/composition.frag.spv (100%) rename {data/shaders => shaders}/glsl/hdr/composition.vert (100%) rename {data/shaders => shaders}/glsl/hdr/composition.vert.spv (100%) rename {data/shaders => shaders}/glsl/hdr/gbuffer.frag (100%) rename {data/shaders => shaders}/glsl/hdr/gbuffer.frag.spv (100%) rename {data/shaders => shaders}/glsl/hdr/gbuffer.vert (100%) rename {data/shaders => shaders}/glsl/hdr/gbuffer.vert.spv (100%) rename {data/shaders => shaders}/glsl/imgui/scene.frag (100%) rename {data/shaders => shaders}/glsl/imgui/scene.frag.spv (100%) rename {data/shaders => shaders}/glsl/imgui/scene.vert (100%) rename {data/shaders => shaders}/glsl/imgui/scene.vert.spv (100%) rename {data/shaders => shaders}/glsl/imgui/ui.frag (100%) rename {data/shaders => shaders}/glsl/imgui/ui.frag.spv (100%) rename {data/shaders => shaders}/glsl/imgui/ui.vert (100%) rename {data/shaders => shaders}/glsl/imgui/ui.vert.spv (100%) rename {data/shaders => shaders}/glsl/indirectdraw/ground.frag (100%) rename {data/shaders => shaders}/glsl/indirectdraw/ground.frag.spv (100%) rename {data/shaders => shaders}/glsl/indirectdraw/ground.vert (100%) rename {data/shaders => shaders}/glsl/indirectdraw/ground.vert.spv (100%) rename {data/shaders => shaders}/glsl/indirectdraw/indirectdraw.frag (100%) rename {data/shaders => shaders}/glsl/indirectdraw/indirectdraw.frag.spv (100%) rename {data/shaders => shaders}/glsl/indirectdraw/indirectdraw.vert (100%) rename {data/shaders => shaders}/glsl/indirectdraw/indirectdraw.vert.spv (100%) rename {data/shaders => shaders}/glsl/indirectdraw/skysphere.frag (100%) rename {data/shaders => shaders}/glsl/indirectdraw/skysphere.frag.spv (100%) rename {data/shaders => shaders}/glsl/indirectdraw/skysphere.vert (100%) rename {data/shaders => shaders}/glsl/indirectdraw/skysphere.vert.spv (100%) rename {data/shaders => shaders}/glsl/inlineuniformblocks/pbr.frag (100%) rename {data/shaders => shaders}/glsl/inlineuniformblocks/pbr.frag.spv (100%) rename {data/shaders => shaders}/glsl/inlineuniformblocks/pbr.vert (100%) rename {data/shaders => shaders}/glsl/inlineuniformblocks/pbr.vert.spv (100%) rename {data/shaders => shaders}/glsl/inputattachments/attachmentread.frag (100%) rename {data/shaders => shaders}/glsl/inputattachments/attachmentread.frag.spv (100%) rename {data/shaders => shaders}/glsl/inputattachments/attachmentread.vert (100%) rename {data/shaders => shaders}/glsl/inputattachments/attachmentread.vert.spv (100%) rename {data/shaders => shaders}/glsl/inputattachments/attachmentwrite.frag (100%) rename {data/shaders => shaders}/glsl/inputattachments/attachmentwrite.frag.spv (100%) rename {data/shaders => shaders}/glsl/inputattachments/attachmentwrite.vert (100%) rename {data/shaders => shaders}/glsl/inputattachments/attachmentwrite.vert.spv (100%) rename {data/shaders => shaders}/glsl/instancing/instancing.frag (100%) rename {data/shaders => shaders}/glsl/instancing/instancing.frag.spv (100%) rename {data/shaders => shaders}/glsl/instancing/instancing.vert (100%) rename {data/shaders => shaders}/glsl/instancing/instancing.vert.spv (100%) rename {data/shaders => shaders}/glsl/instancing/planet.frag (100%) rename {data/shaders => shaders}/glsl/instancing/planet.frag.spv (100%) rename {data/shaders => shaders}/glsl/instancing/planet.vert (100%) rename {data/shaders => shaders}/glsl/instancing/planet.vert.spv (100%) rename {data/shaders => shaders}/glsl/instancing/starfield.frag (100%) rename {data/shaders => shaders}/glsl/instancing/starfield.frag.spv (100%) rename {data/shaders => shaders}/glsl/instancing/starfield.vert (100%) rename {data/shaders => shaders}/glsl/instancing/starfield.vert.spv (100%) rename {data/shaders => shaders}/glsl/meshshader/meshshader.frag (100%) rename {data/shaders => shaders}/glsl/meshshader/meshshader.frag.spv (100%) rename {data/shaders => shaders}/glsl/meshshader/meshshader.mesh (100%) rename {data/shaders => shaders}/glsl/meshshader/meshshader.mesh.spv (100%) rename {data/shaders => shaders}/glsl/meshshader/meshshader.task (100%) rename {data/shaders => shaders}/glsl/meshshader/meshshader.task.spv (100%) rename {data/shaders => shaders}/glsl/multisampling/mesh.frag (100%) rename {data/shaders => shaders}/glsl/multisampling/mesh.frag.spv (100%) rename {data/shaders => shaders}/glsl/multisampling/mesh.vert (100%) rename {data/shaders => shaders}/glsl/multisampling/mesh.vert.spv (100%) rename {data/shaders => shaders}/glsl/multithreading/phong.frag (100%) rename {data/shaders => shaders}/glsl/multithreading/phong.frag.spv (100%) rename {data/shaders => shaders}/glsl/multithreading/phong.vert (100%) rename {data/shaders => shaders}/glsl/multithreading/phong.vert.spv (100%) rename {data/shaders => shaders}/glsl/multithreading/starsphere.frag (100%) rename {data/shaders => shaders}/glsl/multithreading/starsphere.frag.spv (100%) rename {data/shaders => shaders}/glsl/multithreading/starsphere.vert (100%) rename {data/shaders => shaders}/glsl/multithreading/starsphere.vert.spv (100%) rename {data/shaders => shaders}/glsl/multiview/multiview.frag (100%) rename {data/shaders => shaders}/glsl/multiview/multiview.frag.spv (100%) rename {data/shaders => shaders}/glsl/multiview/multiview.vert (100%) rename {data/shaders => shaders}/glsl/multiview/multiview.vert.spv (100%) rename {data/shaders => shaders}/glsl/multiview/viewdisplay.frag (100%) rename {data/shaders => shaders}/glsl/multiview/viewdisplay.frag.spv (100%) rename {data/shaders => shaders}/glsl/multiview/viewdisplay.vert (100%) rename {data/shaders => shaders}/glsl/multiview/viewdisplay.vert.spv (100%) rename {data/shaders => shaders}/glsl/negativeviewportheight/quad.frag (100%) rename {data/shaders => shaders}/glsl/negativeviewportheight/quad.frag.spv (100%) rename {data/shaders => shaders}/glsl/negativeviewportheight/quad.vert (100%) rename {data/shaders => shaders}/glsl/negativeviewportheight/quad.vert.spv (100%) rename {data/shaders => shaders}/glsl/occlusionquery/mesh.frag (100%) rename {data/shaders => shaders}/glsl/occlusionquery/mesh.frag.spv (100%) rename {data/shaders => shaders}/glsl/occlusionquery/mesh.vert (100%) rename {data/shaders => shaders}/glsl/occlusionquery/mesh.vert.spv (100%) rename {data/shaders => shaders}/glsl/occlusionquery/occluder.frag (100%) rename {data/shaders => shaders}/glsl/occlusionquery/occluder.frag.spv (100%) rename {data/shaders => shaders}/glsl/occlusionquery/occluder.vert (100%) rename {data/shaders => shaders}/glsl/occlusionquery/occluder.vert.spv (100%) rename {data/shaders => shaders}/glsl/occlusionquery/simple.frag (100%) rename {data/shaders => shaders}/glsl/occlusionquery/simple.frag.spv (100%) rename {data/shaders => shaders}/glsl/occlusionquery/simple.vert (100%) rename {data/shaders => shaders}/glsl/occlusionquery/simple.vert.spv (100%) rename {data/shaders => shaders}/glsl/offscreen/mirror.frag (100%) rename {data/shaders => shaders}/glsl/offscreen/mirror.frag.spv (100%) rename {data/shaders => shaders}/glsl/offscreen/mirror.vert (100%) rename {data/shaders => shaders}/glsl/offscreen/mirror.vert.spv (100%) rename {data/shaders => shaders}/glsl/offscreen/phong.frag (100%) rename {data/shaders => shaders}/glsl/offscreen/phong.frag.spv (100%) rename {data/shaders => shaders}/glsl/offscreen/phong.vert (100%) rename {data/shaders => shaders}/glsl/offscreen/phong.vert.spv (100%) rename {data/shaders => shaders}/glsl/offscreen/quad.frag (100%) rename {data/shaders => shaders}/glsl/offscreen/quad.frag.spv (100%) rename {data/shaders => shaders}/glsl/offscreen/quad.vert (100%) rename {data/shaders => shaders}/glsl/offscreen/quad.vert.spv (100%) rename {data/shaders => shaders}/glsl/oit/color.frag (100%) rename {data/shaders => shaders}/glsl/oit/color.frag.spv (100%) rename {data/shaders => shaders}/glsl/oit/color.vert (100%) rename {data/shaders => shaders}/glsl/oit/color.vert.spv (100%) rename {data/shaders => shaders}/glsl/oit/geometry.frag (100%) rename {data/shaders => shaders}/glsl/oit/geometry.frag.spv (100%) rename {data/shaders => shaders}/glsl/oit/geometry.vert (100%) rename {data/shaders => shaders}/glsl/oit/geometry.vert.spv (100%) rename {data/shaders => shaders}/glsl/parallaxmapping/parallax.frag (100%) rename {data/shaders => shaders}/glsl/parallaxmapping/parallax.frag.spv (100%) rename {data/shaders => shaders}/glsl/parallaxmapping/parallax.vert (100%) rename {data/shaders => shaders}/glsl/parallaxmapping/parallax.vert.spv (100%) rename {data/shaders => shaders}/glsl/particlefire/normalmap.frag (100%) rename {data/shaders => shaders}/glsl/particlefire/normalmap.frag.spv (100%) rename {data/shaders => shaders}/glsl/particlefire/normalmap.vert (100%) rename {data/shaders => shaders}/glsl/particlefire/normalmap.vert.spv (100%) rename {data/shaders => shaders}/glsl/particlefire/particle.frag (100%) rename {data/shaders => shaders}/glsl/particlefire/particle.frag.spv (100%) rename {data/shaders => shaders}/glsl/particlefire/particle.vert (100%) rename {data/shaders => shaders}/glsl/particlefire/particle.vert.spv (100%) rename {data/shaders => shaders}/glsl/pbrbasic/pbr.frag (100%) rename {data/shaders => shaders}/glsl/pbrbasic/pbr.frag.spv (100%) rename {data/shaders => shaders}/glsl/pbrbasic/pbr.vert (100%) rename {data/shaders => shaders}/glsl/pbrbasic/pbr.vert.spv (100%) rename {data/shaders => shaders}/glsl/pbribl/filtercube.vert (100%) rename {data/shaders => shaders}/glsl/pbribl/filtercube.vert.spv (100%) rename {data/shaders => shaders}/glsl/pbribl/genbrdflut.frag (100%) rename {data/shaders => shaders}/glsl/pbribl/genbrdflut.frag.spv (100%) rename {data/shaders => shaders}/glsl/pbribl/genbrdflut.vert (100%) rename {data/shaders => shaders}/glsl/pbribl/genbrdflut.vert.spv (100%) rename {data/shaders => shaders}/glsl/pbribl/irradiancecube.frag (100%) rename {data/shaders => shaders}/glsl/pbribl/irradiancecube.frag.spv (100%) rename {data/shaders => shaders}/glsl/pbribl/pbribl.frag (100%) rename {data/shaders => shaders}/glsl/pbribl/pbribl.frag.spv (100%) rename {data/shaders => shaders}/glsl/pbribl/pbribl.vert (100%) rename {data/shaders => shaders}/glsl/pbribl/pbribl.vert.spv (100%) rename {data/shaders => shaders}/glsl/pbribl/prefilterenvmap.frag (100%) rename {data/shaders => shaders}/glsl/pbribl/prefilterenvmap.frag.spv (100%) rename {data/shaders => shaders}/glsl/pbribl/skybox.frag (100%) rename {data/shaders => shaders}/glsl/pbribl/skybox.frag.spv (100%) rename {data/shaders => shaders}/glsl/pbribl/skybox.vert (100%) rename {data/shaders => shaders}/glsl/pbribl/skybox.vert.spv (100%) rename {data/shaders => shaders}/glsl/pbrtexture/filtercube.vert (100%) rename {data/shaders => shaders}/glsl/pbrtexture/filtercube.vert.spv (100%) rename {data/shaders => shaders}/glsl/pbrtexture/genbrdflut.frag (100%) rename {data/shaders => shaders}/glsl/pbrtexture/genbrdflut.frag.spv (100%) rename {data/shaders => shaders}/glsl/pbrtexture/genbrdflut.vert (100%) rename {data/shaders => shaders}/glsl/pbrtexture/genbrdflut.vert.spv (100%) rename {data/shaders => shaders}/glsl/pbrtexture/irradiancecube.frag (100%) rename {data/shaders => shaders}/glsl/pbrtexture/irradiancecube.frag.spv (100%) rename {data/shaders => shaders}/glsl/pbrtexture/pbrtexture.frag (100%) rename {data/shaders => shaders}/glsl/pbrtexture/pbrtexture.frag.spv (100%) rename {data/shaders => shaders}/glsl/pbrtexture/pbrtexture.vert (100%) rename {data/shaders => shaders}/glsl/pbrtexture/pbrtexture.vert.spv (100%) rename {data/shaders => shaders}/glsl/pbrtexture/prefilterenvmap.frag (100%) rename {data/shaders => shaders}/glsl/pbrtexture/prefilterenvmap.frag.spv (100%) rename {data/shaders => shaders}/glsl/pbrtexture/skybox.frag (100%) rename {data/shaders => shaders}/glsl/pbrtexture/skybox.frag.spv (100%) rename {data/shaders => shaders}/glsl/pbrtexture/skybox.vert (100%) rename {data/shaders => shaders}/glsl/pbrtexture/skybox.vert.spv (100%) rename {data/shaders => shaders}/glsl/pipelines/phong.frag (100%) rename {data/shaders => shaders}/glsl/pipelines/phong.frag.spv (100%) rename {data/shaders => shaders}/glsl/pipelines/phong.vert (100%) rename {data/shaders => shaders}/glsl/pipelines/phong.vert.spv (100%) rename {data/shaders => shaders}/glsl/pipelines/toon.frag (100%) rename {data/shaders => shaders}/glsl/pipelines/toon.frag.spv (100%) rename {data/shaders => shaders}/glsl/pipelines/toon.vert (100%) rename {data/shaders => shaders}/glsl/pipelines/toon.vert.spv (100%) rename {data/shaders => shaders}/glsl/pipelines/wireframe.frag (100%) rename {data/shaders => shaders}/glsl/pipelines/wireframe.frag.spv (100%) rename {data/shaders => shaders}/glsl/pipelines/wireframe.vert (100%) rename {data/shaders => shaders}/glsl/pipelines/wireframe.vert.spv (100%) rename {data/shaders => shaders}/glsl/pipelinestatistics/scene.frag (100%) rename {data/shaders => shaders}/glsl/pipelinestatistics/scene.frag.spv (100%) rename {data/shaders => shaders}/glsl/pipelinestatistics/scene.tesc (100%) rename {data/shaders => shaders}/glsl/pipelinestatistics/scene.tesc.spv (100%) rename {data/shaders => shaders}/glsl/pipelinestatistics/scene.tese (100%) rename {data/shaders => shaders}/glsl/pipelinestatistics/scene.tese.spv (100%) rename {data/shaders => shaders}/glsl/pipelinestatistics/scene.vert (100%) rename {data/shaders => shaders}/glsl/pipelinestatistics/scene.vert.spv (100%) rename {data/shaders => shaders}/glsl/pushconstants/pushconstants.frag (100%) rename {data/shaders => shaders}/glsl/pushconstants/pushconstants.frag.spv (100%) rename {data/shaders => shaders}/glsl/pushconstants/pushconstants.vert (100%) rename {data/shaders => shaders}/glsl/pushconstants/pushconstants.vert.spv (100%) rename {data/shaders => shaders}/glsl/pushdescriptors/cube.frag (100%) rename {data/shaders => shaders}/glsl/pushdescriptors/cube.frag.spv (100%) rename {data/shaders => shaders}/glsl/pushdescriptors/cube.vert (100%) rename {data/shaders => shaders}/glsl/pushdescriptors/cube.vert.spv (100%) rename {data/shaders => shaders}/glsl/radialblur/colorpass.frag (100%) rename {data/shaders => shaders}/glsl/radialblur/colorpass.frag.spv (100%) rename {data/shaders => shaders}/glsl/radialblur/colorpass.vert (100%) rename {data/shaders => shaders}/glsl/radialblur/colorpass.vert.spv (100%) rename {data/shaders => shaders}/glsl/radialblur/phongpass.frag (100%) rename {data/shaders => shaders}/glsl/radialblur/phongpass.frag.spv (100%) rename {data/shaders => shaders}/glsl/radialblur/phongpass.vert (100%) rename {data/shaders => shaders}/glsl/radialblur/phongpass.vert.spv (100%) rename {data/shaders => shaders}/glsl/radialblur/radialblur.frag (100%) rename {data/shaders => shaders}/glsl/radialblur/radialblur.frag.spv (100%) rename {data/shaders => shaders}/glsl/radialblur/radialblur.vert (100%) rename {data/shaders => shaders}/glsl/radialblur/radialblur.vert.spv (100%) rename {data/shaders => shaders}/glsl/rayquery/scene.frag (100%) rename {data/shaders => shaders}/glsl/rayquery/scene.frag.spv (100%) rename {data/shaders => shaders}/glsl/rayquery/scene.vert (100%) rename {data/shaders => shaders}/glsl/rayquery/scene.vert.spv (100%) rename {data/shaders => shaders}/glsl/raytracingbasic/closesthit.rchit (100%) rename {data/shaders => shaders}/glsl/raytracingbasic/closesthit.rchit.spv (100%) rename {data/shaders => shaders}/glsl/raytracingbasic/miss.rmiss (100%) rename {data/shaders => shaders}/glsl/raytracingbasic/miss.rmiss.spv (100%) rename {data/shaders => shaders}/glsl/raytracingbasic/raygen.rgen (100%) rename {data/shaders => shaders}/glsl/raytracingbasic/raygen.rgen.spv (100%) rename {data/shaders => shaders}/glsl/raytracingcallable/callable1.rcall (100%) rename {data/shaders => shaders}/glsl/raytracingcallable/callable1.rcall.spv (100%) rename {data/shaders => shaders}/glsl/raytracingcallable/callable2.rcall (100%) rename {data/shaders => shaders}/glsl/raytracingcallable/callable2.rcall.spv (100%) rename {data/shaders => shaders}/glsl/raytracingcallable/callable3.rcall (100%) rename {data/shaders => shaders}/glsl/raytracingcallable/callable3.rcall.spv (100%) rename {data/shaders => shaders}/glsl/raytracingcallable/closesthit.rchit (100%) rename {data/shaders => shaders}/glsl/raytracingcallable/closesthit.rchit.spv (100%) rename {data/shaders => shaders}/glsl/raytracingcallable/miss.rmiss (100%) rename {data/shaders => shaders}/glsl/raytracingcallable/miss.rmiss.spv (100%) rename {data/shaders => shaders}/glsl/raytracingcallable/raygen.rgen (100%) rename {data/shaders => shaders}/glsl/raytracingcallable/raygen.rgen.spv (100%) rename {data/shaders => shaders}/glsl/raytracingreflections/closesthit.rchit (100%) rename {data/shaders => shaders}/glsl/raytracingreflections/closesthit.rchit.spv (100%) rename {data/shaders => shaders}/glsl/raytracingreflections/miss.rmiss (100%) rename {data/shaders => shaders}/glsl/raytracingreflections/miss.rmiss.spv (100%) rename {data/shaders => shaders}/glsl/raytracingreflections/raygen.rgen (100%) rename {data/shaders => shaders}/glsl/raytracingreflections/raygen.rgen.spv (100%) rename {data/shaders => shaders}/glsl/raytracingsbtdata/closesthit.rchit (100%) rename {data/shaders => shaders}/glsl/raytracingsbtdata/closesthit.rchit.spv (100%) rename {data/shaders => shaders}/glsl/raytracingsbtdata/miss.rmiss (100%) rename {data/shaders => shaders}/glsl/raytracingsbtdata/miss.rmiss.spv (100%) rename {data/shaders => shaders}/glsl/raytracingsbtdata/raygen.rgen (100%) rename {data/shaders => shaders}/glsl/raytracingsbtdata/raygen.rgen.spv (100%) rename {data/shaders => shaders}/glsl/raytracingshadows/closesthit.rchit (100%) rename {data/shaders => shaders}/glsl/raytracingshadows/closesthit.rchit.spv (100%) rename {data/shaders => shaders}/glsl/raytracingshadows/miss.rmiss (100%) rename {data/shaders => shaders}/glsl/raytracingshadows/miss.rmiss.spv (100%) rename {data/shaders => shaders}/glsl/raytracingshadows/raygen.rgen (100%) rename {data/shaders => shaders}/glsl/raytracingshadows/raygen.rgen.spv (100%) rename {data/shaders => shaders}/glsl/raytracingshadows/shadow.rmiss (100%) rename {data/shaders => shaders}/glsl/raytracingshadows/shadow.rmiss.spv (100%) rename {data/shaders => shaders}/glsl/raytracingtextures/anyhit.rahit (100%) rename {data/shaders => shaders}/glsl/raytracingtextures/anyhit.rahit.spv (100%) rename {data/shaders => shaders}/glsl/raytracingtextures/bufferreferences.glsl (100%) rename {data/shaders => shaders}/glsl/raytracingtextures/closesthit.rchit (100%) rename {data/shaders => shaders}/glsl/raytracingtextures/closesthit.rchit.spv (100%) rename {data/shaders => shaders}/glsl/raytracingtextures/geometrytypes.glsl (100%) rename {data/shaders => shaders}/glsl/raytracingtextures/miss.rmiss (100%) rename {data/shaders => shaders}/glsl/raytracingtextures/miss.rmiss.spv (100%) rename {data/shaders => shaders}/glsl/raytracingtextures/raygen.rgen (100%) rename {data/shaders => shaders}/glsl/raytracingtextures/raygen.rgen.spv (100%) rename {data/shaders => shaders}/glsl/renderheadless/triangle.frag (100%) rename {data/shaders => shaders}/glsl/renderheadless/triangle.frag.spv (100%) rename {data/shaders => shaders}/glsl/renderheadless/triangle.vert (100%) rename {data/shaders => shaders}/glsl/renderheadless/triangle.vert.spv (100%) rename {data/shaders => shaders}/glsl/screenshot/mesh.frag (100%) rename {data/shaders => shaders}/glsl/screenshot/mesh.frag.spv (100%) rename {data/shaders => shaders}/glsl/screenshot/mesh.vert (100%) rename {data/shaders => shaders}/glsl/screenshot/mesh.vert.spv (100%) rename {data/shaders => shaders}/glsl/shaderobjects/phong.frag (100%) rename {data/shaders => shaders}/glsl/shaderobjects/phong.frag.spv (100%) rename {data/shaders => shaders}/glsl/shaderobjects/phong.vert (100%) rename {data/shaders => shaders}/glsl/shaderobjects/phong.vert.spv (100%) rename {data/shaders => shaders}/glsl/shadowmapping/offscreen.frag (100%) rename {data/shaders => shaders}/glsl/shadowmapping/offscreen.frag.spv (100%) rename {data/shaders => shaders}/glsl/shadowmapping/offscreen.vert (100%) rename {data/shaders => shaders}/glsl/shadowmapping/offscreen.vert.spv (100%) rename {data/shaders => shaders}/glsl/shadowmapping/quad.frag (100%) rename {data/shaders => shaders}/glsl/shadowmapping/quad.frag.spv (100%) rename {data/shaders => shaders}/glsl/shadowmapping/quad.vert (100%) rename {data/shaders => shaders}/glsl/shadowmapping/quad.vert.spv (100%) rename {data/shaders => shaders}/glsl/shadowmapping/scene.frag (100%) rename {data/shaders => shaders}/glsl/shadowmapping/scene.frag.spv (100%) rename {data/shaders => shaders}/glsl/shadowmapping/scene.vert (100%) rename {data/shaders => shaders}/glsl/shadowmapping/scene.vert.spv (100%) rename {data/shaders => shaders}/glsl/shadowmappingcascade/debugshadowmap.frag (100%) rename {data/shaders => shaders}/glsl/shadowmappingcascade/debugshadowmap.frag.spv (100%) rename {data/shaders => shaders}/glsl/shadowmappingcascade/debugshadowmap.vert (100%) rename {data/shaders => shaders}/glsl/shadowmappingcascade/debugshadowmap.vert.spv (100%) rename {data/shaders => shaders}/glsl/shadowmappingcascade/depthpass.frag (100%) rename {data/shaders => shaders}/glsl/shadowmappingcascade/depthpass.frag.spv (100%) rename {data/shaders => shaders}/glsl/shadowmappingcascade/depthpass.vert (100%) rename {data/shaders => shaders}/glsl/shadowmappingcascade/depthpass.vert.spv (100%) rename {data/shaders => shaders}/glsl/shadowmappingcascade/scene.frag (100%) rename {data/shaders => shaders}/glsl/shadowmappingcascade/scene.frag.spv (100%) rename {data/shaders => shaders}/glsl/shadowmappingcascade/scene.vert (100%) rename {data/shaders => shaders}/glsl/shadowmappingcascade/scene.vert.spv (100%) rename {data/shaders => shaders}/glsl/shadowmappingomni/cubemapdisplay.frag (100%) rename {data/shaders => shaders}/glsl/shadowmappingomni/cubemapdisplay.frag.spv (100%) rename {data/shaders => shaders}/glsl/shadowmappingomni/cubemapdisplay.vert (100%) rename {data/shaders => shaders}/glsl/shadowmappingomni/cubemapdisplay.vert.spv (100%) rename {data/shaders => shaders}/glsl/shadowmappingomni/offscreen.frag (100%) rename {data/shaders => shaders}/glsl/shadowmappingomni/offscreen.frag.spv (100%) rename {data/shaders => shaders}/glsl/shadowmappingomni/offscreen.vert (100%) rename {data/shaders => shaders}/glsl/shadowmappingomni/offscreen.vert.spv (100%) rename {data/shaders => shaders}/glsl/shadowmappingomni/scene.frag (100%) rename {data/shaders => shaders}/glsl/shadowmappingomni/scene.frag.spv (100%) rename {data/shaders => shaders}/glsl/shadowmappingomni/scene.vert (100%) rename {data/shaders => shaders}/glsl/shadowmappingomni/scene.vert.spv (100%) rename {data/shaders => shaders}/glsl/specializationconstants/uber.frag (100%) rename {data/shaders => shaders}/glsl/specializationconstants/uber.frag.spv (100%) rename {data/shaders => shaders}/glsl/specializationconstants/uber.vert (100%) rename {data/shaders => shaders}/glsl/specializationconstants/uber.vert.spv (100%) rename {data/shaders => shaders}/glsl/sphericalenvmapping/sem.frag (100%) rename {data/shaders => shaders}/glsl/sphericalenvmapping/sem.frag.spv (100%) rename {data/shaders => shaders}/glsl/sphericalenvmapping/sem.vert (100%) rename {data/shaders => shaders}/glsl/sphericalenvmapping/sem.vert.spv (100%) rename {data/shaders => shaders}/glsl/ssao/blur.frag (100%) rename {data/shaders => shaders}/glsl/ssao/blur.frag.spv (100%) rename {data/shaders => shaders}/glsl/ssao/composition.frag (100%) rename {data/shaders => shaders}/glsl/ssao/composition.frag.spv (100%) rename {data/shaders => shaders}/glsl/ssao/fullscreen.vert (100%) rename {data/shaders => shaders}/glsl/ssao/fullscreen.vert.spv (100%) rename {data/shaders => shaders}/glsl/ssao/gbuffer.frag (100%) rename {data/shaders => shaders}/glsl/ssao/gbuffer.frag.spv (100%) rename {data/shaders => shaders}/glsl/ssao/gbuffer.vert (100%) rename {data/shaders => shaders}/glsl/ssao/gbuffer.vert.spv (100%) rename {data/shaders => shaders}/glsl/ssao/ssao.frag (100%) rename {data/shaders => shaders}/glsl/ssao/ssao.frag.spv (100%) rename {data/shaders => shaders}/glsl/stencilbuffer/outline.frag (100%) rename {data/shaders => shaders}/glsl/stencilbuffer/outline.frag.spv (100%) rename {data/shaders => shaders}/glsl/stencilbuffer/outline.vert (100%) rename {data/shaders => shaders}/glsl/stencilbuffer/outline.vert.spv (100%) rename {data/shaders => shaders}/glsl/stencilbuffer/toon.frag (100%) rename {data/shaders => shaders}/glsl/stencilbuffer/toon.frag.spv (100%) rename {data/shaders => shaders}/glsl/stencilbuffer/toon.vert (100%) rename {data/shaders => shaders}/glsl/stencilbuffer/toon.vert.spv (100%) rename {data/shaders => shaders}/glsl/subpasses/composition.frag (100%) rename {data/shaders => shaders}/glsl/subpasses/composition.frag.spv (100%) rename {data/shaders => shaders}/glsl/subpasses/composition.vert (100%) rename {data/shaders => shaders}/glsl/subpasses/composition.vert.spv (100%) rename {data/shaders => shaders}/glsl/subpasses/gbuffer.frag (100%) rename {data/shaders => shaders}/glsl/subpasses/gbuffer.frag.spv (100%) rename {data/shaders => shaders}/glsl/subpasses/gbuffer.vert (100%) rename {data/shaders => shaders}/glsl/subpasses/gbuffer.vert.spv (100%) rename {data/shaders => shaders}/glsl/subpasses/transparent.frag (100%) rename {data/shaders => shaders}/glsl/subpasses/transparent.frag.spv (100%) rename {data/shaders => shaders}/glsl/subpasses/transparent.vert (100%) rename {data/shaders => shaders}/glsl/subpasses/transparent.vert.spv (100%) rename {data/shaders => shaders}/glsl/terraintessellation/skysphere.frag (100%) rename {data/shaders => shaders}/glsl/terraintessellation/skysphere.frag.spv (100%) rename {data/shaders => shaders}/glsl/terraintessellation/skysphere.vert (100%) rename {data/shaders => shaders}/glsl/terraintessellation/skysphere.vert.spv (100%) rename {data/shaders => shaders}/glsl/terraintessellation/terrain.frag (100%) rename {data/shaders => shaders}/glsl/terraintessellation/terrain.frag.spv (100%) rename {data/shaders => shaders}/glsl/terraintessellation/terrain.tesc (100%) rename {data/shaders => shaders}/glsl/terraintessellation/terrain.tesc.spv (100%) rename {data/shaders => shaders}/glsl/terraintessellation/terrain.tese (100%) rename {data/shaders => shaders}/glsl/terraintessellation/terrain.tese.spv (100%) rename {data/shaders => shaders}/glsl/terraintessellation/terrain.vert (100%) rename {data/shaders => shaders}/glsl/terraintessellation/terrain.vert.spv (100%) rename {data/shaders => shaders}/glsl/tessellation/base.frag (100%) rename {data/shaders => shaders}/glsl/tessellation/base.frag.spv (100%) rename {data/shaders => shaders}/glsl/tessellation/base.vert (100%) rename {data/shaders => shaders}/glsl/tessellation/base.vert.spv (100%) rename {data/shaders => shaders}/glsl/tessellation/passthrough.tesc (100%) rename {data/shaders => shaders}/glsl/tessellation/passthrough.tesc.spv (100%) rename {data/shaders => shaders}/glsl/tessellation/passthrough.tese (100%) rename {data/shaders => shaders}/glsl/tessellation/passthrough.tese.spv (100%) rename {data/shaders => shaders}/glsl/tessellation/pntriangles.tesc (100%) rename {data/shaders => shaders}/glsl/tessellation/pntriangles.tesc.spv (100%) rename {data/shaders => shaders}/glsl/tessellation/pntriangles.tese (100%) rename {data/shaders => shaders}/glsl/tessellation/pntriangles.tese.spv (100%) rename {data/shaders => shaders}/glsl/textoverlay/mesh.frag (100%) rename {data/shaders => shaders}/glsl/textoverlay/mesh.frag.spv (100%) rename {data/shaders => shaders}/glsl/textoverlay/mesh.vert (100%) rename {data/shaders => shaders}/glsl/textoverlay/mesh.vert.spv (100%) rename {data/shaders => shaders}/glsl/textoverlay/text.frag (100%) rename {data/shaders => shaders}/glsl/textoverlay/text.frag.spv (100%) rename {data/shaders => shaders}/glsl/textoverlay/text.vert (100%) rename {data/shaders => shaders}/glsl/textoverlay/text.vert.spv (100%) rename {data/shaders => shaders}/glsl/texture/texture.frag (100%) rename {data/shaders => shaders}/glsl/texture/texture.frag.spv (100%) rename {data/shaders => shaders}/glsl/texture/texture.vert (100%) rename {data/shaders => shaders}/glsl/texture/texture.vert.spv (100%) rename {data/shaders => shaders}/glsl/texture3d/texture3d.frag (100%) rename {data/shaders => shaders}/glsl/texture3d/texture3d.frag.spv (100%) rename {data/shaders => shaders}/glsl/texture3d/texture3d.vert (100%) rename {data/shaders => shaders}/glsl/texture3d/texture3d.vert.spv (100%) rename {data/shaders => shaders}/glsl/texturearray/instancing.frag (100%) rename {data/shaders => shaders}/glsl/texturearray/instancing.frag.spv (100%) rename {data/shaders => shaders}/glsl/texturearray/instancing.vert (100%) rename {data/shaders => shaders}/glsl/texturearray/instancing.vert.spv (100%) rename {data/shaders => shaders}/glsl/texturecubemap/reflect.frag (100%) rename {data/shaders => shaders}/glsl/texturecubemap/reflect.frag.spv (100%) rename {data/shaders => shaders}/glsl/texturecubemap/reflect.vert (100%) rename {data/shaders => shaders}/glsl/texturecubemap/reflect.vert.spv (100%) rename {data/shaders => shaders}/glsl/texturecubemap/skybox.frag (100%) rename {data/shaders => shaders}/glsl/texturecubemap/skybox.frag.spv (100%) rename {data/shaders => shaders}/glsl/texturecubemap/skybox.vert (100%) rename {data/shaders => shaders}/glsl/texturecubemap/skybox.vert.spv (100%) rename {data/shaders => shaders}/glsl/texturecubemaparray/reflect.frag (100%) rename {data/shaders => shaders}/glsl/texturecubemaparray/reflect.frag.spv (100%) rename {data/shaders => shaders}/glsl/texturecubemaparray/reflect.vert (100%) rename {data/shaders => shaders}/glsl/texturecubemaparray/reflect.vert.spv (100%) rename {data/shaders => shaders}/glsl/texturecubemaparray/skybox.frag (100%) rename {data/shaders => shaders}/glsl/texturecubemaparray/skybox.frag.spv (100%) rename {data/shaders => shaders}/glsl/texturecubemaparray/skybox.vert (100%) rename {data/shaders => shaders}/glsl/texturecubemaparray/skybox.vert.spv (100%) rename {data/shaders => shaders}/glsl/texturemipmapgen/texture.frag (100%) rename {data/shaders => shaders}/glsl/texturemipmapgen/texture.frag.spv (100%) rename {data/shaders => shaders}/glsl/texturemipmapgen/texture.vert (100%) rename {data/shaders => shaders}/glsl/texturemipmapgen/texture.vert.spv (100%) rename {data/shaders => shaders}/glsl/texturesparseresidency/sparseresidency.frag (100%) rename {data/shaders => shaders}/glsl/texturesparseresidency/sparseresidency.frag.spv (100%) rename {data/shaders => shaders}/glsl/texturesparseresidency/sparseresidency.vert (100%) rename {data/shaders => shaders}/glsl/texturesparseresidency/sparseresidency.vert.spv (100%) rename {data/shaders => shaders}/glsl/triangle/triangle.frag (100%) rename {data/shaders => shaders}/glsl/triangle/triangle.frag.spv (100%) rename {data/shaders => shaders}/glsl/triangle/triangle.vert (100%) rename {data/shaders => shaders}/glsl/triangle/triangle.vert.spv (100%) rename {data/shaders => shaders}/glsl/variablerateshading/scene.frag (100%) rename {data/shaders => shaders}/glsl/variablerateshading/scene.frag.spv (100%) rename {data/shaders => shaders}/glsl/variablerateshading/scene.vert (100%) rename {data/shaders => shaders}/glsl/variablerateshading/scene.vert.spv (100%) rename {data/shaders => shaders}/glsl/vertexattributes/scene.frag (100%) rename {data/shaders => shaders}/glsl/vertexattributes/scene.frag.spv (100%) rename {data/shaders => shaders}/glsl/vertexattributes/scene.vert (100%) rename {data/shaders => shaders}/glsl/vertexattributes/scene.vert.spv (100%) rename {data/shaders => shaders}/glsl/viewportarray/multiview.geom (100%) rename {data/shaders => shaders}/glsl/viewportarray/multiview.geom.spv (100%) rename {data/shaders => shaders}/glsl/viewportarray/scene.frag (100%) rename {data/shaders => shaders}/glsl/viewportarray/scene.frag.spv (100%) rename {data/shaders => shaders}/glsl/viewportarray/scene.vert (100%) rename {data/shaders => shaders}/glsl/viewportarray/scene.vert.spv (100%) rename {data/shaders => shaders}/glsl/vulkanscene/logo.frag (100%) rename {data/shaders => shaders}/glsl/vulkanscene/logo.frag.spv (100%) rename {data/shaders => shaders}/glsl/vulkanscene/logo.vert (100%) rename {data/shaders => shaders}/glsl/vulkanscene/logo.vert.spv (100%) rename {data/shaders => shaders}/glsl/vulkanscene/mesh.frag (100%) rename {data/shaders => shaders}/glsl/vulkanscene/mesh.frag.spv (100%) rename {data/shaders => shaders}/glsl/vulkanscene/mesh.vert (100%) rename {data/shaders => shaders}/glsl/vulkanscene/mesh.vert.spv (100%) rename {data/shaders => shaders}/glsl/vulkanscene/skybox.frag (100%) rename {data/shaders => shaders}/glsl/vulkanscene/skybox.frag.spv (100%) rename {data/shaders => shaders}/glsl/vulkanscene/skybox.vert (100%) rename {data/shaders => shaders}/glsl/vulkanscene/skybox.vert.spv (100%) rename {data/shaders => shaders}/hlsl/README.md (100%) rename {data/shaders => shaders}/hlsl/base/textoverlay.frag (100%) rename {data/shaders => shaders}/hlsl/base/textoverlay.frag.spv (100%) rename {data/shaders => shaders}/hlsl/base/textoverlay.vert (100%) rename {data/shaders => shaders}/hlsl/base/textoverlay.vert.spv (100%) rename {data/shaders => shaders}/hlsl/base/uioverlay.frag (100%) rename {data/shaders => shaders}/hlsl/base/uioverlay.frag.spv (100%) rename {data/shaders => shaders}/hlsl/base/uioverlay.vert (100%) rename {data/shaders => shaders}/hlsl/base/uioverlay.vert.spv (100%) rename {data/shaders => shaders}/hlsl/bloom/colorpass.frag (100%) rename {data/shaders => shaders}/hlsl/bloom/colorpass.frag.spv (100%) rename {data/shaders => shaders}/hlsl/bloom/colorpass.vert (100%) rename {data/shaders => shaders}/hlsl/bloom/colorpass.vert.spv (100%) rename {data/shaders => shaders}/hlsl/bloom/gaussblur.frag (100%) rename {data/shaders => shaders}/hlsl/bloom/gaussblur.frag.spv (100%) rename {data/shaders => shaders}/hlsl/bloom/gaussblur.vert (100%) rename {data/shaders => shaders}/hlsl/bloom/gaussblur.vert.spv (100%) rename {data/shaders => shaders}/hlsl/bloom/phongpass.frag (100%) rename {data/shaders => shaders}/hlsl/bloom/phongpass.frag.spv (100%) rename {data/shaders => shaders}/hlsl/bloom/phongpass.vert (100%) rename {data/shaders => shaders}/hlsl/bloom/phongpass.vert.spv (100%) rename {data/shaders => shaders}/hlsl/bloom/skybox.frag (100%) rename {data/shaders => shaders}/hlsl/bloom/skybox.frag.spv (100%) rename {data/shaders => shaders}/hlsl/bloom/skybox.vert (100%) rename {data/shaders => shaders}/hlsl/bloom/skybox.vert.spv (100%) rename {data/shaders => shaders}/hlsl/compile.py (100%) rename {data/shaders => shaders}/hlsl/computecloth/cloth.comp (100%) rename {data/shaders => shaders}/hlsl/computecloth/cloth.comp.spv (100%) rename {data/shaders => shaders}/hlsl/computecloth/cloth.frag (100%) rename {data/shaders => shaders}/hlsl/computecloth/cloth.frag.spv (100%) rename {data/shaders => shaders}/hlsl/computecloth/cloth.vert (100%) rename {data/shaders => shaders}/hlsl/computecloth/cloth.vert.spv (100%) rename {data/shaders => shaders}/hlsl/computecloth/sphere.frag (100%) rename {data/shaders => shaders}/hlsl/computecloth/sphere.frag.spv (100%) rename {data/shaders => shaders}/hlsl/computecloth/sphere.vert (100%) rename {data/shaders => shaders}/hlsl/computecloth/sphere.vert.spv (100%) rename {data/shaders => shaders}/hlsl/computecullandlod/cull.comp (100%) rename {data/shaders => shaders}/hlsl/computecullandlod/cull.comp.spv (100%) rename {data/shaders => shaders}/hlsl/computecullandlod/indirectdraw.frag (100%) rename {data/shaders => shaders}/hlsl/computecullandlod/indirectdraw.frag.spv (100%) rename {data/shaders => shaders}/hlsl/computecullandlod/indirectdraw.vert (100%) rename {data/shaders => shaders}/hlsl/computecullandlod/indirectdraw.vert.spv (100%) rename {data/shaders => shaders}/hlsl/computeheadless/headless.comp (100%) rename {data/shaders => shaders}/hlsl/computeheadless/headless.comp.spv (100%) rename {data/shaders => shaders}/hlsl/computenbody/particle.frag (100%) rename {data/shaders => shaders}/hlsl/computenbody/particle.frag.spv (100%) rename {data/shaders => shaders}/hlsl/computenbody/particle.vert (100%) rename {data/shaders => shaders}/hlsl/computenbody/particle.vert.spv (100%) rename {data/shaders => shaders}/hlsl/computenbody/particle_calculate.comp (100%) rename {data/shaders => shaders}/hlsl/computenbody/particle_calculate.comp.spv (100%) rename {data/shaders => shaders}/hlsl/computenbody/particle_integrate.comp (100%) rename {data/shaders => shaders}/hlsl/computenbody/particle_integrate.comp.spv (100%) rename {data/shaders => shaders}/hlsl/computeparticles/particle.comp (100%) rename {data/shaders => shaders}/hlsl/computeparticles/particle.comp.spv (100%) rename {data/shaders => shaders}/hlsl/computeparticles/particle.frag (100%) rename {data/shaders => shaders}/hlsl/computeparticles/particle.frag.spv (100%) rename {data/shaders => shaders}/hlsl/computeparticles/particle.vert (100%) rename {data/shaders => shaders}/hlsl/computeparticles/particle.vert.spv (100%) rename {data/shaders => shaders}/hlsl/computeraytracing/raytracing.comp (100%) rename {data/shaders => shaders}/hlsl/computeraytracing/raytracing.comp.spv (100%) rename {data/shaders => shaders}/hlsl/computeraytracing/texture.frag (100%) rename {data/shaders => shaders}/hlsl/computeraytracing/texture.frag.spv (100%) rename {data/shaders => shaders}/hlsl/computeraytracing/texture.vert (100%) rename {data/shaders => shaders}/hlsl/computeraytracing/texture.vert.spv (100%) rename {data/shaders => shaders}/hlsl/computeshader/edgedetect.comp (100%) rename {data/shaders => shaders}/hlsl/computeshader/edgedetect.comp.spv (100%) rename {data/shaders => shaders}/hlsl/computeshader/emboss.comp (100%) rename {data/shaders => shaders}/hlsl/computeshader/emboss.comp.spv (100%) rename {data/shaders => shaders}/hlsl/computeshader/sharpen.comp (100%) rename {data/shaders => shaders}/hlsl/computeshader/sharpen.comp.spv (100%) rename {data/shaders => shaders}/hlsl/computeshader/texture.frag (100%) rename {data/shaders => shaders}/hlsl/computeshader/texture.frag.spv (100%) rename {data/shaders => shaders}/hlsl/computeshader/texture.vert (100%) rename {data/shaders => shaders}/hlsl/computeshader/texture.vert.spv (100%) rename {data/shaders => shaders}/hlsl/conditionalrender/model.frag (100%) rename {data/shaders => shaders}/hlsl/conditionalrender/model.frag.spv (100%) rename {data/shaders => shaders}/hlsl/conditionalrender/model.vert (100%) rename {data/shaders => shaders}/hlsl/conditionalrender/model.vert.spv (100%) rename {data/shaders => shaders}/hlsl/conservativeraster/fullscreen.frag (100%) rename {data/shaders => shaders}/hlsl/conservativeraster/fullscreen.frag.spv (100%) rename {data/shaders => shaders}/hlsl/conservativeraster/fullscreen.vert (100%) rename {data/shaders => shaders}/hlsl/conservativeraster/fullscreen.vert.spv (100%) rename {data/shaders => shaders}/hlsl/conservativeraster/triangle.frag (100%) rename {data/shaders => shaders}/hlsl/conservativeraster/triangle.frag.spv (100%) rename {data/shaders => shaders}/hlsl/conservativeraster/triangle.vert (100%) rename {data/shaders => shaders}/hlsl/conservativeraster/triangle.vert.spv (100%) rename {data/shaders => shaders}/hlsl/conservativeraster/triangleoverlay.frag (100%) rename {data/shaders => shaders}/hlsl/conservativeraster/triangleoverlay.frag.spv (100%) rename {data/shaders => shaders}/hlsl/debugmarker/colorpass.frag (100%) rename {data/shaders => shaders}/hlsl/debugmarker/colorpass.frag.spv (100%) rename {data/shaders => shaders}/hlsl/debugmarker/colorpass.vert (100%) rename {data/shaders => shaders}/hlsl/debugmarker/colorpass.vert.spv (100%) rename {data/shaders => shaders}/hlsl/debugmarker/postprocess.frag (100%) rename {data/shaders => shaders}/hlsl/debugmarker/postprocess.frag.spv (100%) rename {data/shaders => shaders}/hlsl/debugmarker/postprocess.vert (100%) rename {data/shaders => shaders}/hlsl/debugmarker/postprocess.vert.spv (100%) rename {data/shaders => shaders}/hlsl/debugmarker/toon.frag (100%) rename {data/shaders => shaders}/hlsl/debugmarker/toon.frag.spv (100%) rename {data/shaders => shaders}/hlsl/debugmarker/toon.vert (100%) rename {data/shaders => shaders}/hlsl/debugmarker/toon.vert.spv (100%) rename {data/shaders => shaders}/hlsl/deferred/deferred.frag (100%) rename {data/shaders => shaders}/hlsl/deferred/deferred.frag.spv (100%) rename {data/shaders => shaders}/hlsl/deferred/deferred.vert (100%) rename {data/shaders => shaders}/hlsl/deferred/deferred.vert.spv (100%) rename {data/shaders => shaders}/hlsl/deferred/mrt.frag (100%) rename {data/shaders => shaders}/hlsl/deferred/mrt.frag.spv (100%) rename {data/shaders => shaders}/hlsl/deferred/mrt.vert (100%) rename {data/shaders => shaders}/hlsl/deferred/mrt.vert.spv (100%) rename {data/shaders => shaders}/hlsl/deferredmultisampling/deferred.frag (100%) rename {data/shaders => shaders}/hlsl/deferredmultisampling/deferred.frag.spv (100%) rename {data/shaders => shaders}/hlsl/deferredmultisampling/deferred.vert (100%) rename {data/shaders => shaders}/hlsl/deferredmultisampling/deferred.vert.spv (100%) rename {data/shaders => shaders}/hlsl/deferredmultisampling/mrt.frag (100%) rename {data/shaders => shaders}/hlsl/deferredmultisampling/mrt.frag.spv (100%) rename {data/shaders => shaders}/hlsl/deferredmultisampling/mrt.vert (100%) rename {data/shaders => shaders}/hlsl/deferredmultisampling/mrt.vert.spv (100%) rename {data/shaders => shaders}/hlsl/deferredshadows/deferred.frag (100%) rename {data/shaders => shaders}/hlsl/deferredshadows/deferred.frag.spv (100%) rename {data/shaders => shaders}/hlsl/deferredshadows/deferred.vert (100%) rename {data/shaders => shaders}/hlsl/deferredshadows/deferred.vert.spv (100%) rename {data/shaders => shaders}/hlsl/deferredshadows/mrt.frag (100%) rename {data/shaders => shaders}/hlsl/deferredshadows/mrt.frag.spv (100%) rename {data/shaders => shaders}/hlsl/deferredshadows/mrt.vert (100%) rename {data/shaders => shaders}/hlsl/deferredshadows/mrt.vert.spv (100%) rename {data/shaders => shaders}/hlsl/deferredshadows/shadow.geom (100%) rename {data/shaders => shaders}/hlsl/deferredshadows/shadow.geom.spv (100%) rename {data/shaders => shaders}/hlsl/deferredshadows/shadow.vert (100%) rename {data/shaders => shaders}/hlsl/deferredshadows/shadow.vert.spv (100%) rename {data/shaders => shaders}/hlsl/descriptorindexing/descriptorindexing.frag (100%) rename {data/shaders => shaders}/hlsl/descriptorindexing/descriptorindexing.frag.spv (100%) rename {data/shaders => shaders}/hlsl/descriptorindexing/descriptorindexing.vert (100%) rename {data/shaders => shaders}/hlsl/descriptorindexing/descriptorindexing.vert.spv (100%) rename {data/shaders => shaders}/hlsl/descriptorsets/cube.frag (100%) rename {data/shaders => shaders}/hlsl/descriptorsets/cube.frag.spv (100%) rename {data/shaders => shaders}/hlsl/descriptorsets/cube.vert (100%) rename {data/shaders => shaders}/hlsl/descriptorsets/cube.vert.spv (100%) rename {data/shaders => shaders}/hlsl/displacement/base.frag (100%) rename {data/shaders => shaders}/hlsl/displacement/base.frag.spv (100%) rename {data/shaders => shaders}/hlsl/displacement/base.vert (100%) rename {data/shaders => shaders}/hlsl/displacement/base.vert.spv (100%) rename {data/shaders => shaders}/hlsl/displacement/displacement.tesc (100%) rename {data/shaders => shaders}/hlsl/displacement/displacement.tesc.spv (100%) rename {data/shaders => shaders}/hlsl/displacement/displacement.tese (100%) rename {data/shaders => shaders}/hlsl/displacement/displacement.tese.spv (100%) rename {data/shaders => shaders}/hlsl/distancefieldfonts/bitmap.frag (100%) rename {data/shaders => shaders}/hlsl/distancefieldfonts/bitmap.frag.spv (100%) rename {data/shaders => shaders}/hlsl/distancefieldfonts/bitmap.vert (100%) rename {data/shaders => shaders}/hlsl/distancefieldfonts/bitmap.vert.spv (100%) rename {data/shaders => shaders}/hlsl/distancefieldfonts/sdf.frag (100%) rename {data/shaders => shaders}/hlsl/distancefieldfonts/sdf.frag.spv (100%) rename {data/shaders => shaders}/hlsl/distancefieldfonts/sdf.vert (100%) rename {data/shaders => shaders}/hlsl/distancefieldfonts/sdf.vert.spv (100%) rename {data/shaders => shaders}/hlsl/dynamicuniformbuffer/base.frag (100%) rename {data/shaders => shaders}/hlsl/dynamicuniformbuffer/base.frag.spv (100%) rename {data/shaders => shaders}/hlsl/dynamicuniformbuffer/base.vert (100%) rename {data/shaders => shaders}/hlsl/dynamicuniformbuffer/base.vert.spv (100%) rename {data/shaders => shaders}/hlsl/gears/gears.frag (100%) rename {data/shaders => shaders}/hlsl/gears/gears.frag.spv (100%) rename {data/shaders => shaders}/hlsl/gears/gears.vert (100%) rename {data/shaders => shaders}/hlsl/gears/gears.vert.spv (100%) rename {data/shaders => shaders}/hlsl/geometryshader/base.frag (100%) rename {data/shaders => shaders}/hlsl/geometryshader/base.frag.spv (100%) rename {data/shaders => shaders}/hlsl/geometryshader/base.vert (100%) rename {data/shaders => shaders}/hlsl/geometryshader/base.vert.spv (100%) rename {data/shaders => shaders}/hlsl/geometryshader/mesh.frag (100%) rename {data/shaders => shaders}/hlsl/geometryshader/mesh.frag.spv (100%) rename {data/shaders => shaders}/hlsl/geometryshader/mesh.vert (100%) rename {data/shaders => shaders}/hlsl/geometryshader/mesh.vert.spv (100%) rename {data/shaders => shaders}/hlsl/geometryshader/normaldebug.geom (100%) rename {data/shaders => shaders}/hlsl/geometryshader/normaldebug.geom.spv (100%) rename {data/shaders => shaders}/hlsl/gltfloading/mesh.frag (100%) rename {data/shaders => shaders}/hlsl/gltfloading/mesh.frag.spv (100%) rename {data/shaders => shaders}/hlsl/gltfloading/mesh.vert (100%) rename {data/shaders => shaders}/hlsl/gltfloading/mesh.vert.spv (100%) rename {data/shaders => shaders}/hlsl/gltfscenerendering/scene.frag (100%) rename {data/shaders => shaders}/hlsl/gltfscenerendering/scene.frag.spv (100%) rename {data/shaders => shaders}/hlsl/gltfscenerendering/scene.vert (100%) rename {data/shaders => shaders}/hlsl/gltfscenerendering/scene.vert.spv (100%) rename {data/shaders => shaders}/hlsl/hdr/bloom.frag (100%) rename {data/shaders => shaders}/hlsl/hdr/bloom.frag.spv (100%) rename {data/shaders => shaders}/hlsl/hdr/bloom.vert (100%) rename {data/shaders => shaders}/hlsl/hdr/bloom.vert.spv (100%) rename {data/shaders => shaders}/hlsl/hdr/composition.frag (100%) rename {data/shaders => shaders}/hlsl/hdr/composition.frag.spv (100%) rename {data/shaders => shaders}/hlsl/hdr/composition.vert (100%) rename {data/shaders => shaders}/hlsl/hdr/composition.vert.spv (100%) rename {data/shaders => shaders}/hlsl/hdr/gbuffer.frag (100%) rename {data/shaders => shaders}/hlsl/hdr/gbuffer.frag.spv (100%) rename {data/shaders => shaders}/hlsl/hdr/gbuffer.vert (100%) rename {data/shaders => shaders}/hlsl/hdr/gbuffer.vert.spv (100%) rename {data/shaders => shaders}/hlsl/imgui/scene.frag (100%) rename {data/shaders => shaders}/hlsl/imgui/scene.frag.spv (100%) rename {data/shaders => shaders}/hlsl/imgui/scene.vert (100%) rename {data/shaders => shaders}/hlsl/imgui/scene.vert.spv (100%) rename {data/shaders => shaders}/hlsl/imgui/ui.frag (100%) rename {data/shaders => shaders}/hlsl/imgui/ui.frag.spv (100%) rename {data/shaders => shaders}/hlsl/imgui/ui.vert (100%) rename {data/shaders => shaders}/hlsl/imgui/ui.vert.spv (100%) rename {data/shaders => shaders}/hlsl/indirectdraw/ground.frag (100%) rename {data/shaders => shaders}/hlsl/indirectdraw/ground.frag.spv (100%) rename {data/shaders => shaders}/hlsl/indirectdraw/ground.vert (100%) rename {data/shaders => shaders}/hlsl/indirectdraw/ground.vert.spv (100%) rename {data/shaders => shaders}/hlsl/indirectdraw/indirectdraw.frag (100%) rename {data/shaders => shaders}/hlsl/indirectdraw/indirectdraw.frag.spv (100%) rename {data/shaders => shaders}/hlsl/indirectdraw/indirectdraw.vert (100%) rename {data/shaders => shaders}/hlsl/indirectdraw/indirectdraw.vert.spv (100%) rename {data/shaders => shaders}/hlsl/indirectdraw/skysphere.frag (100%) rename {data/shaders => shaders}/hlsl/indirectdraw/skysphere.frag.spv (100%) rename {data/shaders => shaders}/hlsl/indirectdraw/skysphere.vert (100%) rename {data/shaders => shaders}/hlsl/indirectdraw/skysphere.vert.spv (100%) rename {data/shaders => shaders}/hlsl/inlineuniformblocks/pbr.frag (100%) rename {data/shaders => shaders}/hlsl/inlineuniformblocks/pbr.frag.spv (100%) rename {data/shaders => shaders}/hlsl/inlineuniformblocks/pbr.vert (100%) rename {data/shaders => shaders}/hlsl/inlineuniformblocks/pbr.vert.spv (100%) rename {data/shaders => shaders}/hlsl/inputattachments/attachmentread.frag (100%) rename {data/shaders => shaders}/hlsl/inputattachments/attachmentread.frag.spv (100%) rename {data/shaders => shaders}/hlsl/inputattachments/attachmentread.vert (100%) rename {data/shaders => shaders}/hlsl/inputattachments/attachmentread.vert.spv (100%) rename {data/shaders => shaders}/hlsl/inputattachments/attachmentwrite.frag (100%) rename {data/shaders => shaders}/hlsl/inputattachments/attachmentwrite.frag.spv (100%) rename {data/shaders => shaders}/hlsl/inputattachments/attachmentwrite.vert (100%) rename {data/shaders => shaders}/hlsl/inputattachments/attachmentwrite.vert.spv (100%) rename {data/shaders => shaders}/hlsl/instancing/instancing.frag (100%) rename {data/shaders => shaders}/hlsl/instancing/instancing.frag.spv (100%) rename {data/shaders => shaders}/hlsl/instancing/instancing.vert (100%) rename {data/shaders => shaders}/hlsl/instancing/instancing.vert.spv (100%) rename {data/shaders => shaders}/hlsl/instancing/planet.frag (100%) rename {data/shaders => shaders}/hlsl/instancing/planet.frag.spv (100%) rename {data/shaders => shaders}/hlsl/instancing/planet.vert (100%) rename {data/shaders => shaders}/hlsl/instancing/planet.vert.spv (100%) rename {data/shaders => shaders}/hlsl/instancing/starfield.frag (100%) rename {data/shaders => shaders}/hlsl/instancing/starfield.frag.spv (100%) rename {data/shaders => shaders}/hlsl/instancing/starfield.vert (100%) rename {data/shaders => shaders}/hlsl/instancing/starfield.vert.spv (100%) rename {data/shaders => shaders}/hlsl/mesh/mesh.frag (100%) rename {data/shaders => shaders}/hlsl/mesh/mesh.frag.spv (100%) rename {data/shaders => shaders}/hlsl/mesh/mesh.vert (100%) rename {data/shaders => shaders}/hlsl/mesh/mesh.vert.spv (100%) rename {data/shaders => shaders}/hlsl/multisampling/mesh.frag (100%) rename {data/shaders => shaders}/hlsl/multisampling/mesh.frag.spv (100%) rename {data/shaders => shaders}/hlsl/multisampling/mesh.vert (100%) rename {data/shaders => shaders}/hlsl/multisampling/mesh.vert.spv (100%) rename {data/shaders => shaders}/hlsl/multithreading/phong.frag (100%) rename {data/shaders => shaders}/hlsl/multithreading/phong.frag.spv (100%) rename {data/shaders => shaders}/hlsl/multithreading/phong.vert (100%) rename {data/shaders => shaders}/hlsl/multithreading/phong.vert.spv (100%) rename {data/shaders => shaders}/hlsl/multithreading/starsphere.frag (100%) rename {data/shaders => shaders}/hlsl/multithreading/starsphere.frag.spv (100%) rename {data/shaders => shaders}/hlsl/multithreading/starsphere.vert (100%) rename {data/shaders => shaders}/hlsl/multithreading/starsphere.vert.spv (100%) rename {data/shaders => shaders}/hlsl/multiview/multiview.frag (100%) rename {data/shaders => shaders}/hlsl/multiview/multiview.frag.spv (100%) rename {data/shaders => shaders}/hlsl/multiview/multiview.vert (100%) rename {data/shaders => shaders}/hlsl/multiview/multiview.vert.spv (100%) rename {data/shaders => shaders}/hlsl/multiview/viewdisplay.frag (100%) rename {data/shaders => shaders}/hlsl/multiview/viewdisplay.frag.spv (100%) rename {data/shaders => shaders}/hlsl/multiview/viewdisplay.vert (100%) rename {data/shaders => shaders}/hlsl/multiview/viewdisplay.vert.spv (100%) rename {data/shaders => shaders}/hlsl/negativeviewportheight/quad.frag (100%) rename {data/shaders => shaders}/hlsl/negativeviewportheight/quad.frag.spv (100%) rename {data/shaders => shaders}/hlsl/negativeviewportheight/quad.vert (100%) rename {data/shaders => shaders}/hlsl/negativeviewportheight/quad.vert.spv (100%) rename {data/shaders => shaders}/hlsl/occlusionquery/mesh.frag (100%) rename {data/shaders => shaders}/hlsl/occlusionquery/mesh.frag.spv (100%) rename {data/shaders => shaders}/hlsl/occlusionquery/mesh.vert (100%) rename {data/shaders => shaders}/hlsl/occlusionquery/mesh.vert.spv (100%) rename {data/shaders => shaders}/hlsl/occlusionquery/occluder.frag (100%) rename {data/shaders => shaders}/hlsl/occlusionquery/occluder.frag.spv (100%) rename {data/shaders => shaders}/hlsl/occlusionquery/occluder.vert (100%) rename {data/shaders => shaders}/hlsl/occlusionquery/occluder.vert.spv (100%) rename {data/shaders => shaders}/hlsl/occlusionquery/simple.frag (100%) rename {data/shaders => shaders}/hlsl/occlusionquery/simple.frag.spv (100%) rename {data/shaders => shaders}/hlsl/occlusionquery/simple.vert (100%) rename {data/shaders => shaders}/hlsl/occlusionquery/simple.vert.spv (100%) rename {data/shaders => shaders}/hlsl/offscreen/mirror.frag (100%) rename {data/shaders => shaders}/hlsl/offscreen/mirror.frag.spv (100%) rename {data/shaders => shaders}/hlsl/offscreen/mirror.vert (100%) rename {data/shaders => shaders}/hlsl/offscreen/mirror.vert.spv (100%) rename {data/shaders => shaders}/hlsl/offscreen/phong.frag (100%) rename {data/shaders => shaders}/hlsl/offscreen/phong.frag.spv (100%) rename {data/shaders => shaders}/hlsl/offscreen/phong.vert (100%) rename {data/shaders => shaders}/hlsl/offscreen/phong.vert.spv (100%) rename {data/shaders => shaders}/hlsl/offscreen/quad.frag (100%) rename {data/shaders => shaders}/hlsl/offscreen/quad.frag.spv (100%) rename {data/shaders => shaders}/hlsl/offscreen/quad.vert (100%) rename {data/shaders => shaders}/hlsl/offscreen/quad.vert.spv (100%) rename {data/shaders => shaders}/hlsl/oit/color.frag (100%) rename {data/shaders => shaders}/hlsl/oit/color.frag.spv (100%) rename {data/shaders => shaders}/hlsl/oit/color.vert (100%) rename {data/shaders => shaders}/hlsl/oit/color.vert.spv (100%) rename {data/shaders => shaders}/hlsl/oit/geometry.frag (100%) rename {data/shaders => shaders}/hlsl/oit/geometry.frag.spv (100%) rename {data/shaders => shaders}/hlsl/oit/geometry.vert (100%) rename {data/shaders => shaders}/hlsl/oit/geometry.vert.spv (100%) rename {data/shaders => shaders}/hlsl/parallaxmapping/parallax.frag (100%) rename {data/shaders => shaders}/hlsl/parallaxmapping/parallax.frag.spv (100%) rename {data/shaders => shaders}/hlsl/parallaxmapping/parallax.vert (100%) rename {data/shaders => shaders}/hlsl/parallaxmapping/parallax.vert.spv (100%) rename {data/shaders => shaders}/hlsl/particlefire/normalmap.frag (100%) rename {data/shaders => shaders}/hlsl/particlefire/normalmap.frag.spv (100%) rename {data/shaders => shaders}/hlsl/particlefire/normalmap.vert (100%) rename {data/shaders => shaders}/hlsl/particlefire/normalmap.vert.spv (100%) rename {data/shaders => shaders}/hlsl/particlefire/particle.frag (100%) rename {data/shaders => shaders}/hlsl/particlefire/particle.frag.spv (100%) rename {data/shaders => shaders}/hlsl/particlefire/particle.vert (100%) rename {data/shaders => shaders}/hlsl/particlefire/particle.vert.spv (100%) rename {data/shaders => shaders}/hlsl/pbrbasic/pbr.frag (100%) rename {data/shaders => shaders}/hlsl/pbrbasic/pbr.frag.spv (100%) rename {data/shaders => shaders}/hlsl/pbrbasic/pbr.vert (100%) rename {data/shaders => shaders}/hlsl/pbrbasic/pbr.vert.spv (100%) rename {data/shaders => shaders}/hlsl/pbribl/filtercube.vert (100%) rename {data/shaders => shaders}/hlsl/pbribl/filtercube.vert.spv (100%) rename {data/shaders => shaders}/hlsl/pbribl/genbrdflut.frag (100%) rename {data/shaders => shaders}/hlsl/pbribl/genbrdflut.frag.spv (100%) rename {data/shaders => shaders}/hlsl/pbribl/genbrdflut.vert (100%) rename {data/shaders => shaders}/hlsl/pbribl/genbrdflut.vert.spv (100%) rename {data/shaders => shaders}/hlsl/pbribl/irradiancecube.frag (100%) rename {data/shaders => shaders}/hlsl/pbribl/irradiancecube.frag.spv (100%) rename {data/shaders => shaders}/hlsl/pbribl/pbribl.frag (100%) rename {data/shaders => shaders}/hlsl/pbribl/pbribl.frag.spv (100%) rename {data/shaders => shaders}/hlsl/pbribl/pbribl.vert (100%) rename {data/shaders => shaders}/hlsl/pbribl/pbribl.vert.spv (100%) rename {data/shaders => shaders}/hlsl/pbribl/prefilterenvmap.frag (100%) rename {data/shaders => shaders}/hlsl/pbribl/prefilterenvmap.frag.spv (100%) rename {data/shaders => shaders}/hlsl/pbribl/skybox.frag (100%) rename {data/shaders => shaders}/hlsl/pbribl/skybox.frag.spv (100%) rename {data/shaders => shaders}/hlsl/pbribl/skybox.vert (100%) rename {data/shaders => shaders}/hlsl/pbribl/skybox.vert.spv (100%) rename {data/shaders => shaders}/hlsl/pbrtexture/filtercube.vert (100%) rename {data/shaders => shaders}/hlsl/pbrtexture/filtercube.vert.spv (100%) rename {data/shaders => shaders}/hlsl/pbrtexture/genbrdflut.frag (100%) rename {data/shaders => shaders}/hlsl/pbrtexture/genbrdflut.frag.spv (100%) rename {data/shaders => shaders}/hlsl/pbrtexture/genbrdflut.vert (100%) rename {data/shaders => shaders}/hlsl/pbrtexture/genbrdflut.vert.spv (100%) rename {data/shaders => shaders}/hlsl/pbrtexture/irradiancecube.frag (100%) rename {data/shaders => shaders}/hlsl/pbrtexture/irradiancecube.frag.spv (100%) rename {data/shaders => shaders}/hlsl/pbrtexture/pbrtexture.frag (100%) rename {data/shaders => shaders}/hlsl/pbrtexture/pbrtexture.frag.spv (100%) rename {data/shaders => shaders}/hlsl/pbrtexture/pbrtexture.vert (100%) rename {data/shaders => shaders}/hlsl/pbrtexture/pbrtexture.vert.spv (100%) rename {data/shaders => shaders}/hlsl/pbrtexture/prefilterenvmap.frag (100%) rename {data/shaders => shaders}/hlsl/pbrtexture/prefilterenvmap.frag.spv (100%) rename {data/shaders => shaders}/hlsl/pbrtexture/skybox.frag (100%) rename {data/shaders => shaders}/hlsl/pbrtexture/skybox.frag.spv (100%) rename {data/shaders => shaders}/hlsl/pbrtexture/skybox.vert (100%) rename {data/shaders => shaders}/hlsl/pbrtexture/skybox.vert.spv (100%) rename {data/shaders => shaders}/hlsl/pipelines/phong.frag (100%) rename {data/shaders => shaders}/hlsl/pipelines/phong.frag.spv (100%) rename {data/shaders => shaders}/hlsl/pipelines/phong.vert (100%) rename {data/shaders => shaders}/hlsl/pipelines/phong.vert.spv (100%) rename {data/shaders => shaders}/hlsl/pipelines/toon.frag (100%) rename {data/shaders => shaders}/hlsl/pipelines/toon.frag.spv (100%) rename {data/shaders => shaders}/hlsl/pipelines/toon.vert (100%) rename {data/shaders => shaders}/hlsl/pipelines/toon.vert.spv (100%) rename {data/shaders => shaders}/hlsl/pipelines/wireframe.frag (100%) rename {data/shaders => shaders}/hlsl/pipelines/wireframe.frag.spv (100%) rename {data/shaders => shaders}/hlsl/pipelines/wireframe.vert (100%) rename {data/shaders => shaders}/hlsl/pipelines/wireframe.vert.spv (100%) rename {data/shaders => shaders}/hlsl/pipelinestatistics/scene.frag (100%) rename {data/shaders => shaders}/hlsl/pipelinestatistics/scene.frag.spv (100%) rename {data/shaders => shaders}/hlsl/pipelinestatistics/scene.tesc (100%) rename {data/shaders => shaders}/hlsl/pipelinestatistics/scene.tesc.spv (100%) rename {data/shaders => shaders}/hlsl/pipelinestatistics/scene.tese (100%) rename {data/shaders => shaders}/hlsl/pipelinestatistics/scene.tese.spv (100%) rename {data/shaders => shaders}/hlsl/pipelinestatistics/scene.vert (100%) rename {data/shaders => shaders}/hlsl/pipelinestatistics/scene.vert.spv (100%) rename {data/shaders => shaders}/hlsl/pushconstants/pushconstants.frag (100%) rename {data/shaders => shaders}/hlsl/pushconstants/pushconstants.frag.spv (100%) rename {data/shaders => shaders}/hlsl/pushconstants/pushconstants.vert (100%) rename {data/shaders => shaders}/hlsl/pushconstants/pushconstants.vert.spv (100%) rename {data/shaders => shaders}/hlsl/pushdescriptors/cube.frag (100%) rename {data/shaders => shaders}/hlsl/pushdescriptors/cube.frag.spv (100%) rename {data/shaders => shaders}/hlsl/pushdescriptors/cube.vert (100%) rename {data/shaders => shaders}/hlsl/pushdescriptors/cube.vert.spv (100%) rename {data/shaders => shaders}/hlsl/radialblur/colorpass.frag (100%) rename {data/shaders => shaders}/hlsl/radialblur/colorpass.frag.spv (100%) rename {data/shaders => shaders}/hlsl/radialblur/colorpass.vert (100%) rename {data/shaders => shaders}/hlsl/radialblur/colorpass.vert.spv (100%) rename {data/shaders => shaders}/hlsl/radialblur/phongpass.frag (100%) rename {data/shaders => shaders}/hlsl/radialblur/phongpass.frag.spv (100%) rename {data/shaders => shaders}/hlsl/radialblur/phongpass.vert (100%) rename {data/shaders => shaders}/hlsl/radialblur/phongpass.vert.spv (100%) rename {data/shaders => shaders}/hlsl/radialblur/radialblur.frag (100%) rename {data/shaders => shaders}/hlsl/radialblur/radialblur.frag.spv (100%) rename {data/shaders => shaders}/hlsl/radialblur/radialblur.vert (100%) rename {data/shaders => shaders}/hlsl/radialblur/radialblur.vert.spv (100%) rename {data/shaders => shaders}/hlsl/raytracingbasic/closesthit.rchit (100%) rename {data/shaders => shaders}/hlsl/raytracingbasic/closesthit.rchit.spv (100%) rename {data/shaders => shaders}/hlsl/raytracingbasic/miss.rmiss (100%) rename {data/shaders => shaders}/hlsl/raytracingbasic/miss.rmiss.spv (100%) rename {data/shaders => shaders}/hlsl/raytracingbasic/raygen.rgen (100%) rename {data/shaders => shaders}/hlsl/raytracingbasic/raygen.rgen.spv (100%) rename {data/shaders => shaders}/hlsl/raytracingcallable/callable1.rcall (100%) rename {data/shaders => shaders}/hlsl/raytracingcallable/callable1.rcall.spv (100%) rename {data/shaders => shaders}/hlsl/raytracingcallable/callable2.rcall (100%) rename {data/shaders => shaders}/hlsl/raytracingcallable/callable2.rcall.spv (100%) rename {data/shaders => shaders}/hlsl/raytracingcallable/callable3.rcall (100%) rename {data/shaders => shaders}/hlsl/raytracingcallable/callable3.rcall.spv (100%) rename {data/shaders => shaders}/hlsl/raytracingcallable/closesthit.rchit (100%) rename {data/shaders => shaders}/hlsl/raytracingcallable/closesthit.rchit.spv (100%) rename {data/shaders => shaders}/hlsl/raytracingcallable/miss.rmiss (100%) rename {data/shaders => shaders}/hlsl/raytracingcallable/miss.rmiss.spv (100%) rename {data/shaders => shaders}/hlsl/raytracingcallable/raygen.rgen (100%) rename {data/shaders => shaders}/hlsl/raytracingcallable/raygen.rgen.spv (100%) rename {data/shaders => shaders}/hlsl/raytracingreflections/closesthit.rchit (100%) rename {data/shaders => shaders}/hlsl/raytracingreflections/closesthit.rchit.spv (100%) rename {data/shaders => shaders}/hlsl/raytracingreflections/miss.rmiss (100%) rename {data/shaders => shaders}/hlsl/raytracingreflections/miss.rmiss.spv (100%) rename {data/shaders => shaders}/hlsl/raytracingreflections/raygen.rgen (100%) rename {data/shaders => shaders}/hlsl/raytracingreflections/raygen.rgen.spv (100%) rename {data/shaders => shaders}/hlsl/raytracingsbtdata/closesthit.rchit (100%) rename {data/shaders => shaders}/hlsl/raytracingsbtdata/closesthit.rchit.spv (100%) rename {data/shaders => shaders}/hlsl/raytracingsbtdata/miss.rmiss (100%) rename {data/shaders => shaders}/hlsl/raytracingsbtdata/miss.rmiss.spv (100%) rename {data/shaders => shaders}/hlsl/raytracingsbtdata/raygen.rgen (100%) rename {data/shaders => shaders}/hlsl/raytracingsbtdata/raygen.rgen.spv (100%) rename {data/shaders => shaders}/hlsl/raytracingshadows/closesthit.rchit (100%) rename {data/shaders => shaders}/hlsl/raytracingshadows/closesthit.rchit.spv (100%) rename {data/shaders => shaders}/hlsl/raytracingshadows/miss.rmiss (100%) rename {data/shaders => shaders}/hlsl/raytracingshadows/miss.rmiss.spv (100%) rename {data/shaders => shaders}/hlsl/raytracingshadows/raygen.rgen (100%) rename {data/shaders => shaders}/hlsl/raytracingshadows/raygen.rgen.spv (100%) rename {data/shaders => shaders}/hlsl/raytracingshadows/shadow.rmiss (100%) rename {data/shaders => shaders}/hlsl/raytracingshadows/shadow.rmiss.spv (100%) rename {data/shaders => shaders}/hlsl/renderheadless/triangle.frag (100%) rename {data/shaders => shaders}/hlsl/renderheadless/triangle.frag.spv (100%) rename {data/shaders => shaders}/hlsl/renderheadless/triangle.vert (100%) rename {data/shaders => shaders}/hlsl/renderheadless/triangle.vert.spv (100%) rename {data/shaders => shaders}/hlsl/screenshot/mesh.frag (100%) rename {data/shaders => shaders}/hlsl/screenshot/mesh.frag.spv (100%) rename {data/shaders => shaders}/hlsl/screenshot/mesh.vert (100%) rename {data/shaders => shaders}/hlsl/screenshot/mesh.vert.spv (100%) rename {data/shaders => shaders}/hlsl/shadowmapping/offscreen.frag (100%) rename {data/shaders => shaders}/hlsl/shadowmapping/offscreen.frag.spv (100%) rename {data/shaders => shaders}/hlsl/shadowmapping/offscreen.vert (100%) rename {data/shaders => shaders}/hlsl/shadowmapping/offscreen.vert.spv (100%) rename {data/shaders => shaders}/hlsl/shadowmapping/quad.frag (100%) rename {data/shaders => shaders}/hlsl/shadowmapping/quad.frag.spv (100%) rename {data/shaders => shaders}/hlsl/shadowmapping/quad.vert (100%) rename {data/shaders => shaders}/hlsl/shadowmapping/quad.vert.spv (100%) rename {data/shaders => shaders}/hlsl/shadowmapping/scene.frag (100%) rename {data/shaders => shaders}/hlsl/shadowmapping/scene.frag.spv (100%) rename {data/shaders => shaders}/hlsl/shadowmapping/scene.vert (100%) rename {data/shaders => shaders}/hlsl/shadowmapping/scene.vert.spv (100%) rename {data/shaders => shaders}/hlsl/shadowmappingcascade/debugshadowmap.frag (100%) rename {data/shaders => shaders}/hlsl/shadowmappingcascade/debugshadowmap.frag.spv (100%) rename {data/shaders => shaders}/hlsl/shadowmappingcascade/debugshadowmap.vert (100%) rename {data/shaders => shaders}/hlsl/shadowmappingcascade/debugshadowmap.vert.spv (100%) rename {data/shaders => shaders}/hlsl/shadowmappingcascade/depthpass.frag (100%) rename {data/shaders => shaders}/hlsl/shadowmappingcascade/depthpass.frag.spv (100%) rename {data/shaders => shaders}/hlsl/shadowmappingcascade/depthpass.vert (100%) rename {data/shaders => shaders}/hlsl/shadowmappingcascade/depthpass.vert.spv (100%) rename {data/shaders => shaders}/hlsl/shadowmappingcascade/scene.frag (100%) rename {data/shaders => shaders}/hlsl/shadowmappingcascade/scene.frag.spv (100%) rename {data/shaders => shaders}/hlsl/shadowmappingcascade/scene.vert (100%) rename {data/shaders => shaders}/hlsl/shadowmappingcascade/scene.vert.spv (100%) rename {data/shaders => shaders}/hlsl/shadowmappingomni/cubemapdisplay.frag (100%) rename {data/shaders => shaders}/hlsl/shadowmappingomni/cubemapdisplay.frag.spv (100%) rename {data/shaders => shaders}/hlsl/shadowmappingomni/cubemapdisplay.vert (100%) rename {data/shaders => shaders}/hlsl/shadowmappingomni/cubemapdisplay.vert.spv (100%) rename {data/shaders => shaders}/hlsl/shadowmappingomni/offscreen.frag (100%) rename {data/shaders => shaders}/hlsl/shadowmappingomni/offscreen.frag.spv (100%) rename {data/shaders => shaders}/hlsl/shadowmappingomni/offscreen.vert (100%) rename {data/shaders => shaders}/hlsl/shadowmappingomni/offscreen.vert.spv (100%) rename {data/shaders => shaders}/hlsl/shadowmappingomni/scene.frag (100%) rename {data/shaders => shaders}/hlsl/shadowmappingomni/scene.frag.spv (100%) rename {data/shaders => shaders}/hlsl/shadowmappingomni/scene.vert (100%) rename {data/shaders => shaders}/hlsl/shadowmappingomni/scene.vert.spv (100%) rename {data/shaders => shaders}/hlsl/specializationconstants/uber.frag (100%) rename {data/shaders => shaders}/hlsl/specializationconstants/uber.frag.spv (100%) rename {data/shaders => shaders}/hlsl/specializationconstants/uber.vert (100%) rename {data/shaders => shaders}/hlsl/specializationconstants/uber.vert.spv (100%) rename {data/shaders => shaders}/hlsl/sphericalenvmapping/sem.frag (100%) rename {data/shaders => shaders}/hlsl/sphericalenvmapping/sem.frag.spv (100%) rename {data/shaders => shaders}/hlsl/sphericalenvmapping/sem.vert (100%) rename {data/shaders => shaders}/hlsl/sphericalenvmapping/sem.vert.spv (100%) rename {data/shaders => shaders}/hlsl/ssao/blur.frag (100%) rename {data/shaders => shaders}/hlsl/ssao/blur.frag.spv (100%) rename {data/shaders => shaders}/hlsl/ssao/composition.frag (100%) rename {data/shaders => shaders}/hlsl/ssao/composition.frag.spv (100%) rename {data/shaders => shaders}/hlsl/ssao/fullscreen.vert (100%) rename {data/shaders => shaders}/hlsl/ssao/fullscreen.vert.spv (100%) rename {data/shaders => shaders}/hlsl/ssao/gbuffer.frag (100%) rename {data/shaders => shaders}/hlsl/ssao/gbuffer.frag.spv (100%) rename {data/shaders => shaders}/hlsl/ssao/gbuffer.vert (100%) rename {data/shaders => shaders}/hlsl/ssao/gbuffer.vert.spv (100%) rename {data/shaders => shaders}/hlsl/ssao/ssao.frag (100%) rename {data/shaders => shaders}/hlsl/ssao/ssao.frag.spv (100%) rename {data/shaders => shaders}/hlsl/stencilbuffer/outline.frag (100%) rename {data/shaders => shaders}/hlsl/stencilbuffer/outline.frag.spv (100%) rename {data/shaders => shaders}/hlsl/stencilbuffer/outline.vert (100%) rename {data/shaders => shaders}/hlsl/stencilbuffer/outline.vert.spv (100%) rename {data/shaders => shaders}/hlsl/stencilbuffer/toon.frag (100%) rename {data/shaders => shaders}/hlsl/stencilbuffer/toon.frag.spv (100%) rename {data/shaders => shaders}/hlsl/stencilbuffer/toon.vert (100%) rename {data/shaders => shaders}/hlsl/stencilbuffer/toon.vert.spv (100%) rename {data/shaders => shaders}/hlsl/subpasses/composition.frag (100%) rename {data/shaders => shaders}/hlsl/subpasses/composition.frag.spv (100%) rename {data/shaders => shaders}/hlsl/subpasses/composition.vert (100%) rename {data/shaders => shaders}/hlsl/subpasses/composition.vert.spv (100%) rename {data/shaders => shaders}/hlsl/subpasses/gbuffer.frag (100%) rename {data/shaders => shaders}/hlsl/subpasses/gbuffer.frag.spv (100%) rename {data/shaders => shaders}/hlsl/subpasses/gbuffer.vert (100%) rename {data/shaders => shaders}/hlsl/subpasses/gbuffer.vert.spv (100%) rename {data/shaders => shaders}/hlsl/subpasses/transparent.frag (100%) rename {data/shaders => shaders}/hlsl/subpasses/transparent.frag.spv (100%) rename {data/shaders => shaders}/hlsl/subpasses/transparent.vert (100%) rename {data/shaders => shaders}/hlsl/subpasses/transparent.vert.spv (100%) rename {data/shaders => shaders}/hlsl/terraintessellation/skysphere.frag (100%) rename {data/shaders => shaders}/hlsl/terraintessellation/skysphere.frag.spv (100%) rename {data/shaders => shaders}/hlsl/terraintessellation/skysphere.vert (100%) rename {data/shaders => shaders}/hlsl/terraintessellation/skysphere.vert.spv (100%) rename {data/shaders => shaders}/hlsl/terraintessellation/terrain.frag (100%) rename {data/shaders => shaders}/hlsl/terraintessellation/terrain.frag.spv (100%) rename {data/shaders => shaders}/hlsl/terraintessellation/terrain.tesc (100%) rename {data/shaders => shaders}/hlsl/terraintessellation/terrain.tesc.spv (100%) rename {data/shaders => shaders}/hlsl/terraintessellation/terrain.tese (100%) rename {data/shaders => shaders}/hlsl/terraintessellation/terrain.tese.spv (100%) rename {data/shaders => shaders}/hlsl/terraintessellation/terrain.vert (100%) rename {data/shaders => shaders}/hlsl/terraintessellation/terrain.vert.spv (100%) rename {data/shaders => shaders}/hlsl/tessellation/base.frag (100%) rename {data/shaders => shaders}/hlsl/tessellation/base.frag.spv (100%) rename {data/shaders => shaders}/hlsl/tessellation/base.vert (100%) rename {data/shaders => shaders}/hlsl/tessellation/base.vert.spv (100%) rename {data/shaders => shaders}/hlsl/tessellation/passthrough.tesc (100%) rename {data/shaders => shaders}/hlsl/tessellation/passthrough.tesc.spv (100%) rename {data/shaders => shaders}/hlsl/tessellation/passthrough.tese (100%) rename {data/shaders => shaders}/hlsl/tessellation/passthrough.tese.spv (100%) rename {data/shaders => shaders}/hlsl/tessellation/pntriangles.tesc (100%) rename {data/shaders => shaders}/hlsl/tessellation/pntriangles.tesc.spv (100%) rename {data/shaders => shaders}/hlsl/tessellation/pntriangles.tese (100%) rename {data/shaders => shaders}/hlsl/tessellation/pntriangles.tese.spv (100%) rename {data/shaders => shaders}/hlsl/textoverlay/mesh.frag (100%) rename {data/shaders => shaders}/hlsl/textoverlay/mesh.frag.spv (100%) rename {data/shaders => shaders}/hlsl/textoverlay/mesh.vert (100%) rename {data/shaders => shaders}/hlsl/textoverlay/mesh.vert.spv (100%) rename {data/shaders => shaders}/hlsl/textoverlay/text.frag (100%) rename {data/shaders => shaders}/hlsl/textoverlay/text.frag.spv (100%) rename {data/shaders => shaders}/hlsl/textoverlay/text.vert (100%) rename {data/shaders => shaders}/hlsl/textoverlay/text.vert.spv (100%) rename {data/shaders => shaders}/hlsl/texture/texture.frag (100%) rename {data/shaders => shaders}/hlsl/texture/texture.frag.spv (100%) rename {data/shaders => shaders}/hlsl/texture/texture.vert (100%) rename {data/shaders => shaders}/hlsl/texture/texture.vert.spv (100%) rename {data/shaders => shaders}/hlsl/texture3d/texture3d.frag (100%) rename {data/shaders => shaders}/hlsl/texture3d/texture3d.frag.spv (100%) rename {data/shaders => shaders}/hlsl/texture3d/texture3d.vert (100%) rename {data/shaders => shaders}/hlsl/texture3d/texture3d.vert.spv (100%) rename {data/shaders => shaders}/hlsl/texturearray/instancing.frag (100%) rename {data/shaders => shaders}/hlsl/texturearray/instancing.frag.spv (100%) rename {data/shaders => shaders}/hlsl/texturearray/instancing.vert (100%) rename {data/shaders => shaders}/hlsl/texturearray/instancing.vert.spv (100%) rename {data/shaders => shaders}/hlsl/texturecubemap/reflect.frag (100%) rename {data/shaders => shaders}/hlsl/texturecubemap/reflect.frag.spv (100%) rename {data/shaders => shaders}/hlsl/texturecubemap/reflect.vert (100%) rename {data/shaders => shaders}/hlsl/texturecubemap/reflect.vert.spv (100%) rename {data/shaders => shaders}/hlsl/texturecubemap/skybox.frag (100%) rename {data/shaders => shaders}/hlsl/texturecubemap/skybox.frag.spv (100%) rename {data/shaders => shaders}/hlsl/texturecubemap/skybox.vert (100%) rename {data/shaders => shaders}/hlsl/texturecubemap/skybox.vert.spv (100%) rename {data/shaders => shaders}/hlsl/texturecubemaparray/reflect.frag (100%) rename {data/shaders => shaders}/hlsl/texturecubemaparray/reflect.frag.spv (100%) rename {data/shaders => shaders}/hlsl/texturecubemaparray/reflect.vert (100%) rename {data/shaders => shaders}/hlsl/texturecubemaparray/reflect.vert.spv (100%) rename {data/shaders => shaders}/hlsl/texturecubemaparray/skybox.frag (100%) rename {data/shaders => shaders}/hlsl/texturecubemaparray/skybox.frag.spv (100%) rename {data/shaders => shaders}/hlsl/texturecubemaparray/skybox.vert (100%) rename {data/shaders => shaders}/hlsl/texturecubemaparray/skybox.vert.spv (100%) rename {data/shaders => shaders}/hlsl/texturemipmapgen/texture.frag (100%) rename {data/shaders => shaders}/hlsl/texturemipmapgen/texture.frag.spv (100%) rename {data/shaders => shaders}/hlsl/texturemipmapgen/texture.vert (100%) rename {data/shaders => shaders}/hlsl/texturemipmapgen/texture.vert.spv (100%) rename {data/shaders => shaders}/hlsl/texturesparseresidency/sparseresidency.frag (100%) rename {data/shaders => shaders}/hlsl/texturesparseresidency/sparseresidency.frag.spv (100%) rename {data/shaders => shaders}/hlsl/texturesparseresidency/sparseresidency.vert (100%) rename {data/shaders => shaders}/hlsl/texturesparseresidency/sparseresidency.vert.spv (100%) rename {data/shaders => shaders}/hlsl/triangle/triangle.frag (100%) rename {data/shaders => shaders}/hlsl/triangle/triangle.frag.spv (100%) rename {data/shaders => shaders}/hlsl/triangle/triangle.vert (100%) rename {data/shaders => shaders}/hlsl/triangle/triangle.vert.spv (100%) rename {data/shaders => shaders}/hlsl/variablerateshading/scene.frag (100%) rename {data/shaders => shaders}/hlsl/variablerateshading/scene.frag.spv (100%) rename {data/shaders => shaders}/hlsl/variablerateshading/scene.vert (100%) rename {data/shaders => shaders}/hlsl/variablerateshading/scene.vert.spv (100%) rename {data/shaders => shaders}/hlsl/viewportarray/multiview.geom (100%) rename {data/shaders => shaders}/hlsl/viewportarray/multiview.geom.spv (100%) rename {data/shaders => shaders}/hlsl/viewportarray/scene.frag (100%) rename {data/shaders => shaders}/hlsl/viewportarray/scene.frag.spv (100%) rename {data/shaders => shaders}/hlsl/viewportarray/scene.vert (100%) rename {data/shaders => shaders}/hlsl/viewportarray/scene.vert.spv (100%) rename {data/shaders => shaders}/hlsl/vulkanscene/logo.frag (100%) rename {data/shaders => shaders}/hlsl/vulkanscene/logo.frag.spv (100%) rename {data/shaders => shaders}/hlsl/vulkanscene/logo.vert (100%) rename {data/shaders => shaders}/hlsl/vulkanscene/logo.vert.spv (100%) rename {data/shaders => shaders}/hlsl/vulkanscene/mesh.frag (100%) rename {data/shaders => shaders}/hlsl/vulkanscene/mesh.frag.spv (100%) rename {data/shaders => shaders}/hlsl/vulkanscene/mesh.vert (100%) rename {data/shaders => shaders}/hlsl/vulkanscene/mesh.vert.spv (100%) rename {data/shaders => shaders}/hlsl/vulkanscene/skybox.frag (100%) rename {data/shaders => shaders}/hlsl/vulkanscene/skybox.frag.spv (100%) rename {data/shaders => shaders}/hlsl/vulkanscene/skybox.vert (100%) rename {data/shaders => shaders}/hlsl/vulkanscene/skybox.vert.spv (100%) diff --git a/data/shaders/glsl/base/textoverlay.frag b/shaders/glsl/base/textoverlay.frag similarity index 100% rename from data/shaders/glsl/base/textoverlay.frag rename to shaders/glsl/base/textoverlay.frag diff --git a/data/shaders/glsl/base/textoverlay.frag.spv b/shaders/glsl/base/textoverlay.frag.spv similarity index 100% rename from data/shaders/glsl/base/textoverlay.frag.spv rename to shaders/glsl/base/textoverlay.frag.spv diff --git a/data/shaders/glsl/base/textoverlay.vert b/shaders/glsl/base/textoverlay.vert similarity index 100% rename from data/shaders/glsl/base/textoverlay.vert rename to shaders/glsl/base/textoverlay.vert diff --git a/data/shaders/glsl/base/textoverlay.vert.spv b/shaders/glsl/base/textoverlay.vert.spv similarity index 100% rename from data/shaders/glsl/base/textoverlay.vert.spv rename to shaders/glsl/base/textoverlay.vert.spv diff --git a/data/shaders/glsl/base/uioverlay.frag b/shaders/glsl/base/uioverlay.frag similarity index 100% rename from data/shaders/glsl/base/uioverlay.frag rename to shaders/glsl/base/uioverlay.frag diff --git a/data/shaders/glsl/base/uioverlay.frag.spv b/shaders/glsl/base/uioverlay.frag.spv similarity index 100% rename from data/shaders/glsl/base/uioverlay.frag.spv rename to shaders/glsl/base/uioverlay.frag.spv diff --git a/data/shaders/glsl/base/uioverlay.vert b/shaders/glsl/base/uioverlay.vert similarity index 100% rename from data/shaders/glsl/base/uioverlay.vert rename to shaders/glsl/base/uioverlay.vert diff --git a/data/shaders/glsl/base/uioverlay.vert.spv b/shaders/glsl/base/uioverlay.vert.spv similarity index 100% rename from data/shaders/glsl/base/uioverlay.vert.spv rename to shaders/glsl/base/uioverlay.vert.spv diff --git a/data/shaders/glsl/bloom/colorpass.frag b/shaders/glsl/bloom/colorpass.frag similarity index 100% rename from data/shaders/glsl/bloom/colorpass.frag rename to shaders/glsl/bloom/colorpass.frag diff --git a/data/shaders/glsl/bloom/colorpass.frag.spv b/shaders/glsl/bloom/colorpass.frag.spv similarity index 100% rename from data/shaders/glsl/bloom/colorpass.frag.spv rename to shaders/glsl/bloom/colorpass.frag.spv diff --git a/data/shaders/glsl/bloom/colorpass.vert b/shaders/glsl/bloom/colorpass.vert similarity index 100% rename from data/shaders/glsl/bloom/colorpass.vert rename to shaders/glsl/bloom/colorpass.vert diff --git a/data/shaders/glsl/bloom/colorpass.vert.spv b/shaders/glsl/bloom/colorpass.vert.spv similarity index 100% rename from data/shaders/glsl/bloom/colorpass.vert.spv rename to shaders/glsl/bloom/colorpass.vert.spv diff --git a/data/shaders/glsl/bloom/gaussblur.frag b/shaders/glsl/bloom/gaussblur.frag similarity index 100% rename from data/shaders/glsl/bloom/gaussblur.frag rename to shaders/glsl/bloom/gaussblur.frag diff --git a/data/shaders/glsl/bloom/gaussblur.frag.spv b/shaders/glsl/bloom/gaussblur.frag.spv similarity index 100% rename from data/shaders/glsl/bloom/gaussblur.frag.spv rename to shaders/glsl/bloom/gaussblur.frag.spv diff --git a/data/shaders/glsl/bloom/gaussblur.vert b/shaders/glsl/bloom/gaussblur.vert similarity index 100% rename from data/shaders/glsl/bloom/gaussblur.vert rename to shaders/glsl/bloom/gaussblur.vert diff --git a/data/shaders/glsl/bloom/gaussblur.vert.spv b/shaders/glsl/bloom/gaussblur.vert.spv similarity index 100% rename from data/shaders/glsl/bloom/gaussblur.vert.spv rename to shaders/glsl/bloom/gaussblur.vert.spv diff --git a/data/shaders/glsl/bloom/phongpass.frag b/shaders/glsl/bloom/phongpass.frag similarity index 100% rename from data/shaders/glsl/bloom/phongpass.frag rename to shaders/glsl/bloom/phongpass.frag diff --git a/data/shaders/glsl/bloom/phongpass.frag.spv b/shaders/glsl/bloom/phongpass.frag.spv similarity index 100% rename from data/shaders/glsl/bloom/phongpass.frag.spv rename to shaders/glsl/bloom/phongpass.frag.spv diff --git a/data/shaders/glsl/bloom/phongpass.vert b/shaders/glsl/bloom/phongpass.vert similarity index 100% rename from data/shaders/glsl/bloom/phongpass.vert rename to shaders/glsl/bloom/phongpass.vert diff --git a/data/shaders/glsl/bloom/phongpass.vert.spv b/shaders/glsl/bloom/phongpass.vert.spv similarity index 100% rename from data/shaders/glsl/bloom/phongpass.vert.spv rename to shaders/glsl/bloom/phongpass.vert.spv diff --git a/data/shaders/glsl/bloom/skybox.frag b/shaders/glsl/bloom/skybox.frag similarity index 100% rename from data/shaders/glsl/bloom/skybox.frag rename to shaders/glsl/bloom/skybox.frag diff --git a/data/shaders/glsl/bloom/skybox.frag.spv b/shaders/glsl/bloom/skybox.frag.spv similarity index 100% rename from data/shaders/glsl/bloom/skybox.frag.spv rename to shaders/glsl/bloom/skybox.frag.spv diff --git a/data/shaders/glsl/bloom/skybox.vert b/shaders/glsl/bloom/skybox.vert similarity index 100% rename from data/shaders/glsl/bloom/skybox.vert rename to shaders/glsl/bloom/skybox.vert diff --git a/data/shaders/glsl/bloom/skybox.vert.spv b/shaders/glsl/bloom/skybox.vert.spv similarity index 100% rename from data/shaders/glsl/bloom/skybox.vert.spv rename to shaders/glsl/bloom/skybox.vert.spv diff --git a/data/shaders/glsl/compileshaders.py b/shaders/glsl/compileshaders.py similarity index 100% rename from data/shaders/glsl/compileshaders.py rename to shaders/glsl/compileshaders.py diff --git a/data/shaders/glsl/computecloth/cloth.comp b/shaders/glsl/computecloth/cloth.comp similarity index 100% rename from data/shaders/glsl/computecloth/cloth.comp rename to shaders/glsl/computecloth/cloth.comp diff --git a/data/shaders/glsl/computecloth/cloth.comp.spv b/shaders/glsl/computecloth/cloth.comp.spv similarity index 100% rename from data/shaders/glsl/computecloth/cloth.comp.spv rename to shaders/glsl/computecloth/cloth.comp.spv diff --git a/data/shaders/glsl/computecloth/cloth.frag b/shaders/glsl/computecloth/cloth.frag similarity index 100% rename from data/shaders/glsl/computecloth/cloth.frag rename to shaders/glsl/computecloth/cloth.frag diff --git a/data/shaders/glsl/computecloth/cloth.frag.spv b/shaders/glsl/computecloth/cloth.frag.spv similarity index 100% rename from data/shaders/glsl/computecloth/cloth.frag.spv rename to shaders/glsl/computecloth/cloth.frag.spv diff --git a/data/shaders/glsl/computecloth/cloth.vert b/shaders/glsl/computecloth/cloth.vert similarity index 100% rename from data/shaders/glsl/computecloth/cloth.vert rename to shaders/glsl/computecloth/cloth.vert diff --git a/data/shaders/glsl/computecloth/cloth.vert.spv b/shaders/glsl/computecloth/cloth.vert.spv similarity index 100% rename from data/shaders/glsl/computecloth/cloth.vert.spv rename to shaders/glsl/computecloth/cloth.vert.spv diff --git a/data/shaders/glsl/computecloth/sphere.frag b/shaders/glsl/computecloth/sphere.frag similarity index 100% rename from data/shaders/glsl/computecloth/sphere.frag rename to shaders/glsl/computecloth/sphere.frag diff --git a/data/shaders/glsl/computecloth/sphere.frag.spv b/shaders/glsl/computecloth/sphere.frag.spv similarity index 100% rename from data/shaders/glsl/computecloth/sphere.frag.spv rename to shaders/glsl/computecloth/sphere.frag.spv diff --git a/data/shaders/glsl/computecloth/sphere.vert b/shaders/glsl/computecloth/sphere.vert similarity index 100% rename from data/shaders/glsl/computecloth/sphere.vert rename to shaders/glsl/computecloth/sphere.vert diff --git a/data/shaders/glsl/computecloth/sphere.vert.spv b/shaders/glsl/computecloth/sphere.vert.spv similarity index 100% rename from data/shaders/glsl/computecloth/sphere.vert.spv rename to shaders/glsl/computecloth/sphere.vert.spv diff --git a/data/shaders/glsl/computecullandlod/cull.comp b/shaders/glsl/computecullandlod/cull.comp similarity index 100% rename from data/shaders/glsl/computecullandlod/cull.comp rename to shaders/glsl/computecullandlod/cull.comp diff --git a/data/shaders/glsl/computecullandlod/cull.comp.spv b/shaders/glsl/computecullandlod/cull.comp.spv similarity index 100% rename from data/shaders/glsl/computecullandlod/cull.comp.spv rename to shaders/glsl/computecullandlod/cull.comp.spv diff --git a/data/shaders/glsl/computecullandlod/indirectdraw.frag b/shaders/glsl/computecullandlod/indirectdraw.frag similarity index 100% rename from data/shaders/glsl/computecullandlod/indirectdraw.frag rename to shaders/glsl/computecullandlod/indirectdraw.frag diff --git a/data/shaders/glsl/computecullandlod/indirectdraw.frag.spv b/shaders/glsl/computecullandlod/indirectdraw.frag.spv similarity index 100% rename from data/shaders/glsl/computecullandlod/indirectdraw.frag.spv rename to shaders/glsl/computecullandlod/indirectdraw.frag.spv diff --git a/data/shaders/glsl/computecullandlod/indirectdraw.vert b/shaders/glsl/computecullandlod/indirectdraw.vert similarity index 100% rename from data/shaders/glsl/computecullandlod/indirectdraw.vert rename to shaders/glsl/computecullandlod/indirectdraw.vert diff --git a/data/shaders/glsl/computecullandlod/indirectdraw.vert.spv b/shaders/glsl/computecullandlod/indirectdraw.vert.spv similarity index 100% rename from data/shaders/glsl/computecullandlod/indirectdraw.vert.spv rename to shaders/glsl/computecullandlod/indirectdraw.vert.spv diff --git a/data/shaders/glsl/computeheadless/headless.comp b/shaders/glsl/computeheadless/headless.comp similarity index 100% rename from data/shaders/glsl/computeheadless/headless.comp rename to shaders/glsl/computeheadless/headless.comp diff --git a/data/shaders/glsl/computeheadless/headless.comp.spv b/shaders/glsl/computeheadless/headless.comp.spv similarity index 100% rename from data/shaders/glsl/computeheadless/headless.comp.spv rename to shaders/glsl/computeheadless/headless.comp.spv diff --git a/data/shaders/glsl/computenbody/particle.frag b/shaders/glsl/computenbody/particle.frag similarity index 100% rename from data/shaders/glsl/computenbody/particle.frag rename to shaders/glsl/computenbody/particle.frag diff --git a/data/shaders/glsl/computenbody/particle.frag.spv b/shaders/glsl/computenbody/particle.frag.spv similarity index 100% rename from data/shaders/glsl/computenbody/particle.frag.spv rename to shaders/glsl/computenbody/particle.frag.spv diff --git a/data/shaders/glsl/computenbody/particle.vert b/shaders/glsl/computenbody/particle.vert similarity index 100% rename from data/shaders/glsl/computenbody/particle.vert rename to shaders/glsl/computenbody/particle.vert diff --git a/data/shaders/glsl/computenbody/particle.vert.spv b/shaders/glsl/computenbody/particle.vert.spv similarity index 100% rename from data/shaders/glsl/computenbody/particle.vert.spv rename to shaders/glsl/computenbody/particle.vert.spv diff --git a/data/shaders/glsl/computenbody/particle_calculate.comp b/shaders/glsl/computenbody/particle_calculate.comp similarity index 100% rename from data/shaders/glsl/computenbody/particle_calculate.comp rename to shaders/glsl/computenbody/particle_calculate.comp diff --git a/data/shaders/glsl/computenbody/particle_calculate.comp.spv b/shaders/glsl/computenbody/particle_calculate.comp.spv similarity index 100% rename from data/shaders/glsl/computenbody/particle_calculate.comp.spv rename to shaders/glsl/computenbody/particle_calculate.comp.spv diff --git a/data/shaders/glsl/computenbody/particle_integrate.comp b/shaders/glsl/computenbody/particle_integrate.comp similarity index 100% rename from data/shaders/glsl/computenbody/particle_integrate.comp rename to shaders/glsl/computenbody/particle_integrate.comp diff --git a/data/shaders/glsl/computenbody/particle_integrate.comp.spv b/shaders/glsl/computenbody/particle_integrate.comp.spv similarity index 100% rename from data/shaders/glsl/computenbody/particle_integrate.comp.spv rename to shaders/glsl/computenbody/particle_integrate.comp.spv diff --git a/data/shaders/glsl/computeparticles/particle.comp b/shaders/glsl/computeparticles/particle.comp similarity index 100% rename from data/shaders/glsl/computeparticles/particle.comp rename to shaders/glsl/computeparticles/particle.comp diff --git a/data/shaders/glsl/computeparticles/particle.comp.spv b/shaders/glsl/computeparticles/particle.comp.spv similarity index 100% rename from data/shaders/glsl/computeparticles/particle.comp.spv rename to shaders/glsl/computeparticles/particle.comp.spv diff --git a/data/shaders/glsl/computeparticles/particle.frag b/shaders/glsl/computeparticles/particle.frag similarity index 100% rename from data/shaders/glsl/computeparticles/particle.frag rename to shaders/glsl/computeparticles/particle.frag diff --git a/data/shaders/glsl/computeparticles/particle.frag.spv b/shaders/glsl/computeparticles/particle.frag.spv similarity index 100% rename from data/shaders/glsl/computeparticles/particle.frag.spv rename to shaders/glsl/computeparticles/particle.frag.spv diff --git a/data/shaders/glsl/computeparticles/particle.vert b/shaders/glsl/computeparticles/particle.vert similarity index 100% rename from data/shaders/glsl/computeparticles/particle.vert rename to shaders/glsl/computeparticles/particle.vert diff --git a/data/shaders/glsl/computeparticles/particle.vert.spv b/shaders/glsl/computeparticles/particle.vert.spv similarity index 100% rename from data/shaders/glsl/computeparticles/particle.vert.spv rename to shaders/glsl/computeparticles/particle.vert.spv diff --git a/data/shaders/glsl/computeraytracing/raytracing.comp b/shaders/glsl/computeraytracing/raytracing.comp similarity index 100% rename from data/shaders/glsl/computeraytracing/raytracing.comp rename to shaders/glsl/computeraytracing/raytracing.comp diff --git a/data/shaders/glsl/computeraytracing/raytracing.comp.spv b/shaders/glsl/computeraytracing/raytracing.comp.spv similarity index 100% rename from data/shaders/glsl/computeraytracing/raytracing.comp.spv rename to shaders/glsl/computeraytracing/raytracing.comp.spv diff --git a/data/shaders/glsl/computeraytracing/texture.frag b/shaders/glsl/computeraytracing/texture.frag similarity index 100% rename from data/shaders/glsl/computeraytracing/texture.frag rename to shaders/glsl/computeraytracing/texture.frag diff --git a/data/shaders/glsl/computeraytracing/texture.frag.spv b/shaders/glsl/computeraytracing/texture.frag.spv similarity index 100% rename from data/shaders/glsl/computeraytracing/texture.frag.spv rename to shaders/glsl/computeraytracing/texture.frag.spv diff --git a/data/shaders/glsl/computeraytracing/texture.vert b/shaders/glsl/computeraytracing/texture.vert similarity index 100% rename from data/shaders/glsl/computeraytracing/texture.vert rename to shaders/glsl/computeraytracing/texture.vert diff --git a/data/shaders/glsl/computeraytracing/texture.vert.spv b/shaders/glsl/computeraytracing/texture.vert.spv similarity index 100% rename from data/shaders/glsl/computeraytracing/texture.vert.spv rename to shaders/glsl/computeraytracing/texture.vert.spv diff --git a/data/shaders/glsl/computeshader/edgedetect.comp b/shaders/glsl/computeshader/edgedetect.comp similarity index 100% rename from data/shaders/glsl/computeshader/edgedetect.comp rename to shaders/glsl/computeshader/edgedetect.comp diff --git a/data/shaders/glsl/computeshader/edgedetect.comp.spv b/shaders/glsl/computeshader/edgedetect.comp.spv similarity index 100% rename from data/shaders/glsl/computeshader/edgedetect.comp.spv rename to shaders/glsl/computeshader/edgedetect.comp.spv diff --git a/data/shaders/glsl/computeshader/emboss.comp b/shaders/glsl/computeshader/emboss.comp similarity index 100% rename from data/shaders/glsl/computeshader/emboss.comp rename to shaders/glsl/computeshader/emboss.comp diff --git a/data/shaders/glsl/computeshader/emboss.comp.spv b/shaders/glsl/computeshader/emboss.comp.spv similarity index 100% rename from data/shaders/glsl/computeshader/emboss.comp.spv rename to shaders/glsl/computeshader/emboss.comp.spv diff --git a/data/shaders/glsl/computeshader/sharpen.comp b/shaders/glsl/computeshader/sharpen.comp similarity index 100% rename from data/shaders/glsl/computeshader/sharpen.comp rename to shaders/glsl/computeshader/sharpen.comp diff --git a/data/shaders/glsl/computeshader/sharpen.comp.spv b/shaders/glsl/computeshader/sharpen.comp.spv similarity index 100% rename from data/shaders/glsl/computeshader/sharpen.comp.spv rename to shaders/glsl/computeshader/sharpen.comp.spv diff --git a/data/shaders/glsl/computeshader/texture.frag b/shaders/glsl/computeshader/texture.frag similarity index 100% rename from data/shaders/glsl/computeshader/texture.frag rename to shaders/glsl/computeshader/texture.frag diff --git a/data/shaders/glsl/computeshader/texture.frag.spv b/shaders/glsl/computeshader/texture.frag.spv similarity index 100% rename from data/shaders/glsl/computeshader/texture.frag.spv rename to shaders/glsl/computeshader/texture.frag.spv diff --git a/data/shaders/glsl/computeshader/texture.vert b/shaders/glsl/computeshader/texture.vert similarity index 100% rename from data/shaders/glsl/computeshader/texture.vert rename to shaders/glsl/computeshader/texture.vert diff --git a/data/shaders/glsl/computeshader/texture.vert.spv b/shaders/glsl/computeshader/texture.vert.spv similarity index 100% rename from data/shaders/glsl/computeshader/texture.vert.spv rename to shaders/glsl/computeshader/texture.vert.spv diff --git a/data/shaders/glsl/conditionalrender/model.frag b/shaders/glsl/conditionalrender/model.frag similarity index 100% rename from data/shaders/glsl/conditionalrender/model.frag rename to shaders/glsl/conditionalrender/model.frag diff --git a/data/shaders/glsl/conditionalrender/model.frag.spv b/shaders/glsl/conditionalrender/model.frag.spv similarity index 100% rename from data/shaders/glsl/conditionalrender/model.frag.spv rename to shaders/glsl/conditionalrender/model.frag.spv diff --git a/data/shaders/glsl/conditionalrender/model.vert b/shaders/glsl/conditionalrender/model.vert similarity index 100% rename from data/shaders/glsl/conditionalrender/model.vert rename to shaders/glsl/conditionalrender/model.vert diff --git a/data/shaders/glsl/conditionalrender/model.vert.spv b/shaders/glsl/conditionalrender/model.vert.spv similarity index 100% rename from data/shaders/glsl/conditionalrender/model.vert.spv rename to shaders/glsl/conditionalrender/model.vert.spv diff --git a/data/shaders/glsl/conservativeraster/fullscreen.frag b/shaders/glsl/conservativeraster/fullscreen.frag similarity index 100% rename from data/shaders/glsl/conservativeraster/fullscreen.frag rename to shaders/glsl/conservativeraster/fullscreen.frag diff --git a/data/shaders/glsl/conservativeraster/fullscreen.frag.spv b/shaders/glsl/conservativeraster/fullscreen.frag.spv similarity index 100% rename from data/shaders/glsl/conservativeraster/fullscreen.frag.spv rename to shaders/glsl/conservativeraster/fullscreen.frag.spv diff --git a/data/shaders/glsl/conservativeraster/fullscreen.vert b/shaders/glsl/conservativeraster/fullscreen.vert similarity index 100% rename from data/shaders/glsl/conservativeraster/fullscreen.vert rename to shaders/glsl/conservativeraster/fullscreen.vert diff --git a/data/shaders/glsl/conservativeraster/fullscreen.vert.spv b/shaders/glsl/conservativeraster/fullscreen.vert.spv similarity index 100% rename from data/shaders/glsl/conservativeraster/fullscreen.vert.spv rename to shaders/glsl/conservativeraster/fullscreen.vert.spv diff --git a/data/shaders/glsl/conservativeraster/triangle.frag b/shaders/glsl/conservativeraster/triangle.frag similarity index 100% rename from data/shaders/glsl/conservativeraster/triangle.frag rename to shaders/glsl/conservativeraster/triangle.frag diff --git a/data/shaders/glsl/conservativeraster/triangle.frag.spv b/shaders/glsl/conservativeraster/triangle.frag.spv similarity index 100% rename from data/shaders/glsl/conservativeraster/triangle.frag.spv rename to shaders/glsl/conservativeraster/triangle.frag.spv diff --git a/data/shaders/glsl/conservativeraster/triangle.vert b/shaders/glsl/conservativeraster/triangle.vert similarity index 100% rename from data/shaders/glsl/conservativeraster/triangle.vert rename to shaders/glsl/conservativeraster/triangle.vert diff --git a/data/shaders/glsl/conservativeraster/triangle.vert.spv b/shaders/glsl/conservativeraster/triangle.vert.spv similarity index 100% rename from data/shaders/glsl/conservativeraster/triangle.vert.spv rename to shaders/glsl/conservativeraster/triangle.vert.spv diff --git a/data/shaders/glsl/conservativeraster/triangleoverlay.frag b/shaders/glsl/conservativeraster/triangleoverlay.frag similarity index 100% rename from data/shaders/glsl/conservativeraster/triangleoverlay.frag rename to shaders/glsl/conservativeraster/triangleoverlay.frag diff --git a/data/shaders/glsl/conservativeraster/triangleoverlay.frag.spv b/shaders/glsl/conservativeraster/triangleoverlay.frag.spv similarity index 100% rename from data/shaders/glsl/conservativeraster/triangleoverlay.frag.spv rename to shaders/glsl/conservativeraster/triangleoverlay.frag.spv diff --git a/data/shaders/glsl/debugmarker/colorpass.frag b/shaders/glsl/debugmarker/colorpass.frag similarity index 100% rename from data/shaders/glsl/debugmarker/colorpass.frag rename to shaders/glsl/debugmarker/colorpass.frag diff --git a/data/shaders/glsl/debugmarker/colorpass.frag.spv b/shaders/glsl/debugmarker/colorpass.frag.spv similarity index 100% rename from data/shaders/glsl/debugmarker/colorpass.frag.spv rename to shaders/glsl/debugmarker/colorpass.frag.spv diff --git a/data/shaders/glsl/debugmarker/colorpass.vert b/shaders/glsl/debugmarker/colorpass.vert similarity index 100% rename from data/shaders/glsl/debugmarker/colorpass.vert rename to shaders/glsl/debugmarker/colorpass.vert diff --git a/data/shaders/glsl/debugmarker/colorpass.vert.spv b/shaders/glsl/debugmarker/colorpass.vert.spv similarity index 100% rename from data/shaders/glsl/debugmarker/colorpass.vert.spv rename to shaders/glsl/debugmarker/colorpass.vert.spv diff --git a/data/shaders/glsl/debugmarker/postprocess.frag b/shaders/glsl/debugmarker/postprocess.frag similarity index 100% rename from data/shaders/glsl/debugmarker/postprocess.frag rename to shaders/glsl/debugmarker/postprocess.frag diff --git a/data/shaders/glsl/debugmarker/postprocess.frag.spv b/shaders/glsl/debugmarker/postprocess.frag.spv similarity index 100% rename from data/shaders/glsl/debugmarker/postprocess.frag.spv rename to shaders/glsl/debugmarker/postprocess.frag.spv diff --git a/data/shaders/glsl/debugmarker/postprocess.vert b/shaders/glsl/debugmarker/postprocess.vert similarity index 100% rename from data/shaders/glsl/debugmarker/postprocess.vert rename to shaders/glsl/debugmarker/postprocess.vert diff --git a/data/shaders/glsl/debugmarker/postprocess.vert.spv b/shaders/glsl/debugmarker/postprocess.vert.spv similarity index 100% rename from data/shaders/glsl/debugmarker/postprocess.vert.spv rename to shaders/glsl/debugmarker/postprocess.vert.spv diff --git a/data/shaders/glsl/debugmarker/toon.frag b/shaders/glsl/debugmarker/toon.frag similarity index 100% rename from data/shaders/glsl/debugmarker/toon.frag rename to shaders/glsl/debugmarker/toon.frag diff --git a/data/shaders/glsl/debugmarker/toon.frag.spv b/shaders/glsl/debugmarker/toon.frag.spv similarity index 100% rename from data/shaders/glsl/debugmarker/toon.frag.spv rename to shaders/glsl/debugmarker/toon.frag.spv diff --git a/data/shaders/glsl/debugmarker/toon.vert b/shaders/glsl/debugmarker/toon.vert similarity index 100% rename from data/shaders/glsl/debugmarker/toon.vert rename to shaders/glsl/debugmarker/toon.vert diff --git a/data/shaders/glsl/debugmarker/toon.vert.spv b/shaders/glsl/debugmarker/toon.vert.spv similarity index 100% rename from data/shaders/glsl/debugmarker/toon.vert.spv rename to shaders/glsl/debugmarker/toon.vert.spv diff --git a/data/shaders/glsl/deferred/deferred.frag b/shaders/glsl/deferred/deferred.frag similarity index 100% rename from data/shaders/glsl/deferred/deferred.frag rename to shaders/glsl/deferred/deferred.frag diff --git a/data/shaders/glsl/deferred/deferred.frag.spv b/shaders/glsl/deferred/deferred.frag.spv similarity index 100% rename from data/shaders/glsl/deferred/deferred.frag.spv rename to shaders/glsl/deferred/deferred.frag.spv diff --git a/data/shaders/glsl/deferred/deferred.vert b/shaders/glsl/deferred/deferred.vert similarity index 100% rename from data/shaders/glsl/deferred/deferred.vert rename to shaders/glsl/deferred/deferred.vert diff --git a/data/shaders/glsl/deferred/deferred.vert.spv b/shaders/glsl/deferred/deferred.vert.spv similarity index 100% rename from data/shaders/glsl/deferred/deferred.vert.spv rename to shaders/glsl/deferred/deferred.vert.spv diff --git a/data/shaders/glsl/deferred/mrt.frag b/shaders/glsl/deferred/mrt.frag similarity index 100% rename from data/shaders/glsl/deferred/mrt.frag rename to shaders/glsl/deferred/mrt.frag diff --git a/data/shaders/glsl/deferred/mrt.frag.spv b/shaders/glsl/deferred/mrt.frag.spv similarity index 100% rename from data/shaders/glsl/deferred/mrt.frag.spv rename to shaders/glsl/deferred/mrt.frag.spv diff --git a/data/shaders/glsl/deferred/mrt.vert b/shaders/glsl/deferred/mrt.vert similarity index 100% rename from data/shaders/glsl/deferred/mrt.vert rename to shaders/glsl/deferred/mrt.vert diff --git a/data/shaders/glsl/deferred/mrt.vert.spv b/shaders/glsl/deferred/mrt.vert.spv similarity index 100% rename from data/shaders/glsl/deferred/mrt.vert.spv rename to shaders/glsl/deferred/mrt.vert.spv diff --git a/data/shaders/glsl/deferredmultisampling/deferred.frag b/shaders/glsl/deferredmultisampling/deferred.frag similarity index 100% rename from data/shaders/glsl/deferredmultisampling/deferred.frag rename to shaders/glsl/deferredmultisampling/deferred.frag diff --git a/data/shaders/glsl/deferredmultisampling/deferred.frag.spv b/shaders/glsl/deferredmultisampling/deferred.frag.spv similarity index 100% rename from data/shaders/glsl/deferredmultisampling/deferred.frag.spv rename to shaders/glsl/deferredmultisampling/deferred.frag.spv diff --git a/data/shaders/glsl/deferredmultisampling/deferred.vert b/shaders/glsl/deferredmultisampling/deferred.vert similarity index 100% rename from data/shaders/glsl/deferredmultisampling/deferred.vert rename to shaders/glsl/deferredmultisampling/deferred.vert diff --git a/data/shaders/glsl/deferredmultisampling/deferred.vert.spv b/shaders/glsl/deferredmultisampling/deferred.vert.spv similarity index 100% rename from data/shaders/glsl/deferredmultisampling/deferred.vert.spv rename to shaders/glsl/deferredmultisampling/deferred.vert.spv diff --git a/data/shaders/glsl/deferredmultisampling/mrt.frag b/shaders/glsl/deferredmultisampling/mrt.frag similarity index 100% rename from data/shaders/glsl/deferredmultisampling/mrt.frag rename to shaders/glsl/deferredmultisampling/mrt.frag diff --git a/data/shaders/glsl/deferredmultisampling/mrt.frag.spv b/shaders/glsl/deferredmultisampling/mrt.frag.spv similarity index 100% rename from data/shaders/glsl/deferredmultisampling/mrt.frag.spv rename to shaders/glsl/deferredmultisampling/mrt.frag.spv diff --git a/data/shaders/glsl/deferredmultisampling/mrt.vert b/shaders/glsl/deferredmultisampling/mrt.vert similarity index 100% rename from data/shaders/glsl/deferredmultisampling/mrt.vert rename to shaders/glsl/deferredmultisampling/mrt.vert diff --git a/data/shaders/glsl/deferredmultisampling/mrt.vert.spv b/shaders/glsl/deferredmultisampling/mrt.vert.spv similarity index 100% rename from data/shaders/glsl/deferredmultisampling/mrt.vert.spv rename to shaders/glsl/deferredmultisampling/mrt.vert.spv diff --git a/data/shaders/glsl/deferredshadows/deferred.frag b/shaders/glsl/deferredshadows/deferred.frag similarity index 100% rename from data/shaders/glsl/deferredshadows/deferred.frag rename to shaders/glsl/deferredshadows/deferred.frag diff --git a/data/shaders/glsl/deferredshadows/deferred.frag.spv b/shaders/glsl/deferredshadows/deferred.frag.spv similarity index 100% rename from data/shaders/glsl/deferredshadows/deferred.frag.spv rename to shaders/glsl/deferredshadows/deferred.frag.spv diff --git a/data/shaders/glsl/deferredshadows/deferred.vert b/shaders/glsl/deferredshadows/deferred.vert similarity index 100% rename from data/shaders/glsl/deferredshadows/deferred.vert rename to shaders/glsl/deferredshadows/deferred.vert diff --git a/data/shaders/glsl/deferredshadows/deferred.vert.spv b/shaders/glsl/deferredshadows/deferred.vert.spv similarity index 100% rename from data/shaders/glsl/deferredshadows/deferred.vert.spv rename to shaders/glsl/deferredshadows/deferred.vert.spv diff --git a/data/shaders/glsl/deferredshadows/geom.spv b/shaders/glsl/deferredshadows/geom.spv similarity index 100% rename from data/shaders/glsl/deferredshadows/geom.spv rename to shaders/glsl/deferredshadows/geom.spv diff --git a/data/shaders/glsl/deferredshadows/mrt.frag b/shaders/glsl/deferredshadows/mrt.frag similarity index 100% rename from data/shaders/glsl/deferredshadows/mrt.frag rename to shaders/glsl/deferredshadows/mrt.frag diff --git a/data/shaders/glsl/deferredshadows/mrt.frag.spv b/shaders/glsl/deferredshadows/mrt.frag.spv similarity index 100% rename from data/shaders/glsl/deferredshadows/mrt.frag.spv rename to shaders/glsl/deferredshadows/mrt.frag.spv diff --git a/data/shaders/glsl/deferredshadows/mrt.vert b/shaders/glsl/deferredshadows/mrt.vert similarity index 100% rename from data/shaders/glsl/deferredshadows/mrt.vert rename to shaders/glsl/deferredshadows/mrt.vert diff --git a/data/shaders/glsl/deferredshadows/mrt.vert.spv b/shaders/glsl/deferredshadows/mrt.vert.spv similarity index 100% rename from data/shaders/glsl/deferredshadows/mrt.vert.spv rename to shaders/glsl/deferredshadows/mrt.vert.spv diff --git a/data/shaders/glsl/deferredshadows/shadow.geom b/shaders/glsl/deferredshadows/shadow.geom similarity index 100% rename from data/shaders/glsl/deferredshadows/shadow.geom rename to shaders/glsl/deferredshadows/shadow.geom diff --git a/data/shaders/glsl/deferredshadows/shadow.geom.spv b/shaders/glsl/deferredshadows/shadow.geom.spv similarity index 100% rename from data/shaders/glsl/deferredshadows/shadow.geom.spv rename to shaders/glsl/deferredshadows/shadow.geom.spv diff --git a/data/shaders/glsl/deferredshadows/shadow.vert b/shaders/glsl/deferredshadows/shadow.vert similarity index 100% rename from data/shaders/glsl/deferredshadows/shadow.vert rename to shaders/glsl/deferredshadows/shadow.vert diff --git a/data/shaders/glsl/deferredshadows/shadow.vert.spv b/shaders/glsl/deferredshadows/shadow.vert.spv similarity index 100% rename from data/shaders/glsl/deferredshadows/shadow.vert.spv rename to shaders/glsl/deferredshadows/shadow.vert.spv diff --git a/data/shaders/glsl/descriptorbuffer/cube.frag b/shaders/glsl/descriptorbuffer/cube.frag similarity index 100% rename from data/shaders/glsl/descriptorbuffer/cube.frag rename to shaders/glsl/descriptorbuffer/cube.frag diff --git a/data/shaders/glsl/descriptorbuffer/cube.frag.spv b/shaders/glsl/descriptorbuffer/cube.frag.spv similarity index 100% rename from data/shaders/glsl/descriptorbuffer/cube.frag.spv rename to shaders/glsl/descriptorbuffer/cube.frag.spv diff --git a/data/shaders/glsl/descriptorbuffer/cube.vert b/shaders/glsl/descriptorbuffer/cube.vert similarity index 100% rename from data/shaders/glsl/descriptorbuffer/cube.vert rename to shaders/glsl/descriptorbuffer/cube.vert diff --git a/data/shaders/glsl/descriptorbuffer/cube.vert.spv b/shaders/glsl/descriptorbuffer/cube.vert.spv similarity index 100% rename from data/shaders/glsl/descriptorbuffer/cube.vert.spv rename to shaders/glsl/descriptorbuffer/cube.vert.spv diff --git a/data/shaders/glsl/descriptorindexing/descriptorindexing.frag b/shaders/glsl/descriptorindexing/descriptorindexing.frag similarity index 100% rename from data/shaders/glsl/descriptorindexing/descriptorindexing.frag rename to shaders/glsl/descriptorindexing/descriptorindexing.frag diff --git a/data/shaders/glsl/descriptorindexing/descriptorindexing.frag.spv b/shaders/glsl/descriptorindexing/descriptorindexing.frag.spv similarity index 100% rename from data/shaders/glsl/descriptorindexing/descriptorindexing.frag.spv rename to shaders/glsl/descriptorindexing/descriptorindexing.frag.spv diff --git a/data/shaders/glsl/descriptorindexing/descriptorindexing.vert b/shaders/glsl/descriptorindexing/descriptorindexing.vert similarity index 100% rename from data/shaders/glsl/descriptorindexing/descriptorindexing.vert rename to shaders/glsl/descriptorindexing/descriptorindexing.vert diff --git a/data/shaders/glsl/descriptorindexing/descriptorindexing.vert.spv b/shaders/glsl/descriptorindexing/descriptorindexing.vert.spv similarity index 100% rename from data/shaders/glsl/descriptorindexing/descriptorindexing.vert.spv rename to shaders/glsl/descriptorindexing/descriptorindexing.vert.spv diff --git a/data/shaders/glsl/descriptorsets/cube.frag b/shaders/glsl/descriptorsets/cube.frag similarity index 100% rename from data/shaders/glsl/descriptorsets/cube.frag rename to shaders/glsl/descriptorsets/cube.frag diff --git a/data/shaders/glsl/descriptorsets/cube.frag.spv b/shaders/glsl/descriptorsets/cube.frag.spv similarity index 100% rename from data/shaders/glsl/descriptorsets/cube.frag.spv rename to shaders/glsl/descriptorsets/cube.frag.spv diff --git a/data/shaders/glsl/descriptorsets/cube.vert b/shaders/glsl/descriptorsets/cube.vert similarity index 100% rename from data/shaders/glsl/descriptorsets/cube.vert rename to shaders/glsl/descriptorsets/cube.vert diff --git a/data/shaders/glsl/descriptorsets/cube.vert.spv b/shaders/glsl/descriptorsets/cube.vert.spv similarity index 100% rename from data/shaders/glsl/descriptorsets/cube.vert.spv rename to shaders/glsl/descriptorsets/cube.vert.spv diff --git a/data/shaders/glsl/displacement/base.frag b/shaders/glsl/displacement/base.frag similarity index 100% rename from data/shaders/glsl/displacement/base.frag rename to shaders/glsl/displacement/base.frag diff --git a/data/shaders/glsl/displacement/base.frag.spv b/shaders/glsl/displacement/base.frag.spv similarity index 100% rename from data/shaders/glsl/displacement/base.frag.spv rename to shaders/glsl/displacement/base.frag.spv diff --git a/data/shaders/glsl/displacement/base.vert b/shaders/glsl/displacement/base.vert similarity index 100% rename from data/shaders/glsl/displacement/base.vert rename to shaders/glsl/displacement/base.vert diff --git a/data/shaders/glsl/displacement/base.vert.spv b/shaders/glsl/displacement/base.vert.spv similarity index 100% rename from data/shaders/glsl/displacement/base.vert.spv rename to shaders/glsl/displacement/base.vert.spv diff --git a/data/shaders/glsl/displacement/displacement.tesc b/shaders/glsl/displacement/displacement.tesc similarity index 100% rename from data/shaders/glsl/displacement/displacement.tesc rename to shaders/glsl/displacement/displacement.tesc diff --git a/data/shaders/glsl/displacement/displacement.tesc.spv b/shaders/glsl/displacement/displacement.tesc.spv similarity index 100% rename from data/shaders/glsl/displacement/displacement.tesc.spv rename to shaders/glsl/displacement/displacement.tesc.spv diff --git a/data/shaders/glsl/displacement/displacement.tese b/shaders/glsl/displacement/displacement.tese similarity index 100% rename from data/shaders/glsl/displacement/displacement.tese rename to shaders/glsl/displacement/displacement.tese diff --git a/data/shaders/glsl/displacement/displacement.tese.spv b/shaders/glsl/displacement/displacement.tese.spv similarity index 100% rename from data/shaders/glsl/displacement/displacement.tese.spv rename to shaders/glsl/displacement/displacement.tese.spv diff --git a/data/shaders/glsl/distancefieldfonts/bitmap.frag b/shaders/glsl/distancefieldfonts/bitmap.frag similarity index 100% rename from data/shaders/glsl/distancefieldfonts/bitmap.frag rename to shaders/glsl/distancefieldfonts/bitmap.frag diff --git a/data/shaders/glsl/distancefieldfonts/bitmap.frag.spv b/shaders/glsl/distancefieldfonts/bitmap.frag.spv similarity index 100% rename from data/shaders/glsl/distancefieldfonts/bitmap.frag.spv rename to shaders/glsl/distancefieldfonts/bitmap.frag.spv diff --git a/data/shaders/glsl/distancefieldfonts/bitmap.vert b/shaders/glsl/distancefieldfonts/bitmap.vert similarity index 100% rename from data/shaders/glsl/distancefieldfonts/bitmap.vert rename to shaders/glsl/distancefieldfonts/bitmap.vert diff --git a/data/shaders/glsl/distancefieldfonts/bitmap.vert.spv b/shaders/glsl/distancefieldfonts/bitmap.vert.spv similarity index 100% rename from data/shaders/glsl/distancefieldfonts/bitmap.vert.spv rename to shaders/glsl/distancefieldfonts/bitmap.vert.spv diff --git a/data/shaders/glsl/distancefieldfonts/sdf.frag b/shaders/glsl/distancefieldfonts/sdf.frag similarity index 100% rename from data/shaders/glsl/distancefieldfonts/sdf.frag rename to shaders/glsl/distancefieldfonts/sdf.frag diff --git a/data/shaders/glsl/distancefieldfonts/sdf.frag.spv b/shaders/glsl/distancefieldfonts/sdf.frag.spv similarity index 100% rename from data/shaders/glsl/distancefieldfonts/sdf.frag.spv rename to shaders/glsl/distancefieldfonts/sdf.frag.spv diff --git a/data/shaders/glsl/distancefieldfonts/sdf.vert b/shaders/glsl/distancefieldfonts/sdf.vert similarity index 100% rename from data/shaders/glsl/distancefieldfonts/sdf.vert rename to shaders/glsl/distancefieldfonts/sdf.vert diff --git a/data/shaders/glsl/distancefieldfonts/sdf.vert.spv b/shaders/glsl/distancefieldfonts/sdf.vert.spv similarity index 100% rename from data/shaders/glsl/distancefieldfonts/sdf.vert.spv rename to shaders/glsl/distancefieldfonts/sdf.vert.spv diff --git a/data/shaders/glsl/dynamicrendering/texture.frag b/shaders/glsl/dynamicrendering/texture.frag similarity index 100% rename from data/shaders/glsl/dynamicrendering/texture.frag rename to shaders/glsl/dynamicrendering/texture.frag diff --git a/data/shaders/glsl/dynamicrendering/texture.frag.spv b/shaders/glsl/dynamicrendering/texture.frag.spv similarity index 100% rename from data/shaders/glsl/dynamicrendering/texture.frag.spv rename to shaders/glsl/dynamicrendering/texture.frag.spv diff --git a/data/shaders/glsl/dynamicrendering/texture.vert b/shaders/glsl/dynamicrendering/texture.vert similarity index 100% rename from data/shaders/glsl/dynamicrendering/texture.vert rename to shaders/glsl/dynamicrendering/texture.vert diff --git a/data/shaders/glsl/dynamicrendering/texture.vert.spv b/shaders/glsl/dynamicrendering/texture.vert.spv similarity index 100% rename from data/shaders/glsl/dynamicrendering/texture.vert.spv rename to shaders/glsl/dynamicrendering/texture.vert.spv diff --git a/data/shaders/glsl/dynamicuniformbuffer/base.frag b/shaders/glsl/dynamicuniformbuffer/base.frag similarity index 100% rename from data/shaders/glsl/dynamicuniformbuffer/base.frag rename to shaders/glsl/dynamicuniformbuffer/base.frag diff --git a/data/shaders/glsl/dynamicuniformbuffer/base.frag.spv b/shaders/glsl/dynamicuniformbuffer/base.frag.spv similarity index 100% rename from data/shaders/glsl/dynamicuniformbuffer/base.frag.spv rename to shaders/glsl/dynamicuniformbuffer/base.frag.spv diff --git a/data/shaders/glsl/dynamicuniformbuffer/base.vert b/shaders/glsl/dynamicuniformbuffer/base.vert similarity index 100% rename from data/shaders/glsl/dynamicuniformbuffer/base.vert rename to shaders/glsl/dynamicuniformbuffer/base.vert diff --git a/data/shaders/glsl/dynamicuniformbuffer/base.vert.spv b/shaders/glsl/dynamicuniformbuffer/base.vert.spv similarity index 100% rename from data/shaders/glsl/dynamicuniformbuffer/base.vert.spv rename to shaders/glsl/dynamicuniformbuffer/base.vert.spv diff --git a/data/shaders/glsl/gears/gears.frag b/shaders/glsl/gears/gears.frag similarity index 100% rename from data/shaders/glsl/gears/gears.frag rename to shaders/glsl/gears/gears.frag diff --git a/data/shaders/glsl/gears/gears.frag.spv b/shaders/glsl/gears/gears.frag.spv similarity index 100% rename from data/shaders/glsl/gears/gears.frag.spv rename to shaders/glsl/gears/gears.frag.spv diff --git a/data/shaders/glsl/gears/gears.vert b/shaders/glsl/gears/gears.vert similarity index 100% rename from data/shaders/glsl/gears/gears.vert rename to shaders/glsl/gears/gears.vert diff --git a/data/shaders/glsl/gears/gears.vert.spv b/shaders/glsl/gears/gears.vert.spv similarity index 100% rename from data/shaders/glsl/gears/gears.vert.spv rename to shaders/glsl/gears/gears.vert.spv diff --git a/data/shaders/glsl/geometryshader/base.frag b/shaders/glsl/geometryshader/base.frag similarity index 100% rename from data/shaders/glsl/geometryshader/base.frag rename to shaders/glsl/geometryshader/base.frag diff --git a/data/shaders/glsl/geometryshader/base.frag.spv b/shaders/glsl/geometryshader/base.frag.spv similarity index 100% rename from data/shaders/glsl/geometryshader/base.frag.spv rename to shaders/glsl/geometryshader/base.frag.spv diff --git a/data/shaders/glsl/geometryshader/base.vert b/shaders/glsl/geometryshader/base.vert similarity index 100% rename from data/shaders/glsl/geometryshader/base.vert rename to shaders/glsl/geometryshader/base.vert diff --git a/data/shaders/glsl/geometryshader/base.vert.spv b/shaders/glsl/geometryshader/base.vert.spv similarity index 100% rename from data/shaders/glsl/geometryshader/base.vert.spv rename to shaders/glsl/geometryshader/base.vert.spv diff --git a/data/shaders/glsl/geometryshader/mesh.frag b/shaders/glsl/geometryshader/mesh.frag similarity index 100% rename from data/shaders/glsl/geometryshader/mesh.frag rename to shaders/glsl/geometryshader/mesh.frag diff --git a/data/shaders/glsl/geometryshader/mesh.frag.spv b/shaders/glsl/geometryshader/mesh.frag.spv similarity index 100% rename from data/shaders/glsl/geometryshader/mesh.frag.spv rename to shaders/glsl/geometryshader/mesh.frag.spv diff --git a/data/shaders/glsl/geometryshader/mesh.vert b/shaders/glsl/geometryshader/mesh.vert similarity index 100% rename from data/shaders/glsl/geometryshader/mesh.vert rename to shaders/glsl/geometryshader/mesh.vert diff --git a/data/shaders/glsl/geometryshader/mesh.vert.spv b/shaders/glsl/geometryshader/mesh.vert.spv similarity index 100% rename from data/shaders/glsl/geometryshader/mesh.vert.spv rename to shaders/glsl/geometryshader/mesh.vert.spv diff --git a/data/shaders/glsl/geometryshader/normaldebug.geom b/shaders/glsl/geometryshader/normaldebug.geom similarity index 100% rename from data/shaders/glsl/geometryshader/normaldebug.geom rename to shaders/glsl/geometryshader/normaldebug.geom diff --git a/data/shaders/glsl/geometryshader/normaldebug.geom.spv b/shaders/glsl/geometryshader/normaldebug.geom.spv similarity index 100% rename from data/shaders/glsl/geometryshader/normaldebug.geom.spv rename to shaders/glsl/geometryshader/normaldebug.geom.spv diff --git a/data/shaders/glsl/gltfloading/mesh.frag b/shaders/glsl/gltfloading/mesh.frag similarity index 100% rename from data/shaders/glsl/gltfloading/mesh.frag rename to shaders/glsl/gltfloading/mesh.frag diff --git a/data/shaders/glsl/gltfloading/mesh.frag.spv b/shaders/glsl/gltfloading/mesh.frag.spv similarity index 100% rename from data/shaders/glsl/gltfloading/mesh.frag.spv rename to shaders/glsl/gltfloading/mesh.frag.spv diff --git a/data/shaders/glsl/gltfloading/mesh.vert b/shaders/glsl/gltfloading/mesh.vert similarity index 100% rename from data/shaders/glsl/gltfloading/mesh.vert rename to shaders/glsl/gltfloading/mesh.vert diff --git a/data/shaders/glsl/gltfloading/mesh.vert.spv b/shaders/glsl/gltfloading/mesh.vert.spv similarity index 100% rename from data/shaders/glsl/gltfloading/mesh.vert.spv rename to shaders/glsl/gltfloading/mesh.vert.spv diff --git a/data/shaders/glsl/gltfscenerendering/scene.frag b/shaders/glsl/gltfscenerendering/scene.frag similarity index 100% rename from data/shaders/glsl/gltfscenerendering/scene.frag rename to shaders/glsl/gltfscenerendering/scene.frag diff --git a/data/shaders/glsl/gltfscenerendering/scene.frag.spv b/shaders/glsl/gltfscenerendering/scene.frag.spv similarity index 100% rename from data/shaders/glsl/gltfscenerendering/scene.frag.spv rename to shaders/glsl/gltfscenerendering/scene.frag.spv diff --git a/data/shaders/glsl/gltfscenerendering/scene.vert b/shaders/glsl/gltfscenerendering/scene.vert similarity index 100% rename from data/shaders/glsl/gltfscenerendering/scene.vert rename to shaders/glsl/gltfscenerendering/scene.vert diff --git a/data/shaders/glsl/gltfscenerendering/scene.vert.spv b/shaders/glsl/gltfscenerendering/scene.vert.spv similarity index 100% rename from data/shaders/glsl/gltfscenerendering/scene.vert.spv rename to shaders/glsl/gltfscenerendering/scene.vert.spv diff --git a/data/shaders/glsl/gltfskinning/skinnedmodel.frag b/shaders/glsl/gltfskinning/skinnedmodel.frag similarity index 100% rename from data/shaders/glsl/gltfskinning/skinnedmodel.frag rename to shaders/glsl/gltfskinning/skinnedmodel.frag diff --git a/data/shaders/glsl/gltfskinning/skinnedmodel.frag.spv b/shaders/glsl/gltfskinning/skinnedmodel.frag.spv similarity index 100% rename from data/shaders/glsl/gltfskinning/skinnedmodel.frag.spv rename to shaders/glsl/gltfskinning/skinnedmodel.frag.spv diff --git a/data/shaders/glsl/gltfskinning/skinnedmodel.vert b/shaders/glsl/gltfskinning/skinnedmodel.vert similarity index 100% rename from data/shaders/glsl/gltfskinning/skinnedmodel.vert rename to shaders/glsl/gltfskinning/skinnedmodel.vert diff --git a/data/shaders/glsl/gltfskinning/skinnedmodel.vert.spv b/shaders/glsl/gltfskinning/skinnedmodel.vert.spv similarity index 100% rename from data/shaders/glsl/gltfskinning/skinnedmodel.vert.spv rename to shaders/glsl/gltfskinning/skinnedmodel.vert.spv diff --git a/data/shaders/glsl/graphicspipelinelibrary/shared.vert b/shaders/glsl/graphicspipelinelibrary/shared.vert similarity index 100% rename from data/shaders/glsl/graphicspipelinelibrary/shared.vert rename to shaders/glsl/graphicspipelinelibrary/shared.vert diff --git a/data/shaders/glsl/graphicspipelinelibrary/shared.vert.spv b/shaders/glsl/graphicspipelinelibrary/shared.vert.spv similarity index 100% rename from data/shaders/glsl/graphicspipelinelibrary/shared.vert.spv rename to shaders/glsl/graphicspipelinelibrary/shared.vert.spv diff --git a/data/shaders/glsl/graphicspipelinelibrary/uber.frag b/shaders/glsl/graphicspipelinelibrary/uber.frag similarity index 100% rename from data/shaders/glsl/graphicspipelinelibrary/uber.frag rename to shaders/glsl/graphicspipelinelibrary/uber.frag diff --git a/data/shaders/glsl/graphicspipelinelibrary/uber.frag.spv b/shaders/glsl/graphicspipelinelibrary/uber.frag.spv similarity index 100% rename from data/shaders/glsl/graphicspipelinelibrary/uber.frag.spv rename to shaders/glsl/graphicspipelinelibrary/uber.frag.spv diff --git a/data/shaders/glsl/hdr/bloom.frag b/shaders/glsl/hdr/bloom.frag similarity index 100% rename from data/shaders/glsl/hdr/bloom.frag rename to shaders/glsl/hdr/bloom.frag diff --git a/data/shaders/glsl/hdr/bloom.frag.spv b/shaders/glsl/hdr/bloom.frag.spv similarity index 100% rename from data/shaders/glsl/hdr/bloom.frag.spv rename to shaders/glsl/hdr/bloom.frag.spv diff --git a/data/shaders/glsl/hdr/bloom.vert b/shaders/glsl/hdr/bloom.vert similarity index 100% rename from data/shaders/glsl/hdr/bloom.vert rename to shaders/glsl/hdr/bloom.vert diff --git a/data/shaders/glsl/hdr/bloom.vert.spv b/shaders/glsl/hdr/bloom.vert.spv similarity index 100% rename from data/shaders/glsl/hdr/bloom.vert.spv rename to shaders/glsl/hdr/bloom.vert.spv diff --git a/data/shaders/glsl/hdr/composition.frag b/shaders/glsl/hdr/composition.frag similarity index 100% rename from data/shaders/glsl/hdr/composition.frag rename to shaders/glsl/hdr/composition.frag diff --git a/data/shaders/glsl/hdr/composition.frag.spv b/shaders/glsl/hdr/composition.frag.spv similarity index 100% rename from data/shaders/glsl/hdr/composition.frag.spv rename to shaders/glsl/hdr/composition.frag.spv diff --git a/data/shaders/glsl/hdr/composition.vert b/shaders/glsl/hdr/composition.vert similarity index 100% rename from data/shaders/glsl/hdr/composition.vert rename to shaders/glsl/hdr/composition.vert diff --git a/data/shaders/glsl/hdr/composition.vert.spv b/shaders/glsl/hdr/composition.vert.spv similarity index 100% rename from data/shaders/glsl/hdr/composition.vert.spv rename to shaders/glsl/hdr/composition.vert.spv diff --git a/data/shaders/glsl/hdr/gbuffer.frag b/shaders/glsl/hdr/gbuffer.frag similarity index 100% rename from data/shaders/glsl/hdr/gbuffer.frag rename to shaders/glsl/hdr/gbuffer.frag diff --git a/data/shaders/glsl/hdr/gbuffer.frag.spv b/shaders/glsl/hdr/gbuffer.frag.spv similarity index 100% rename from data/shaders/glsl/hdr/gbuffer.frag.spv rename to shaders/glsl/hdr/gbuffer.frag.spv diff --git a/data/shaders/glsl/hdr/gbuffer.vert b/shaders/glsl/hdr/gbuffer.vert similarity index 100% rename from data/shaders/glsl/hdr/gbuffer.vert rename to shaders/glsl/hdr/gbuffer.vert diff --git a/data/shaders/glsl/hdr/gbuffer.vert.spv b/shaders/glsl/hdr/gbuffer.vert.spv similarity index 100% rename from data/shaders/glsl/hdr/gbuffer.vert.spv rename to shaders/glsl/hdr/gbuffer.vert.spv diff --git a/data/shaders/glsl/imgui/scene.frag b/shaders/glsl/imgui/scene.frag similarity index 100% rename from data/shaders/glsl/imgui/scene.frag rename to shaders/glsl/imgui/scene.frag diff --git a/data/shaders/glsl/imgui/scene.frag.spv b/shaders/glsl/imgui/scene.frag.spv similarity index 100% rename from data/shaders/glsl/imgui/scene.frag.spv rename to shaders/glsl/imgui/scene.frag.spv diff --git a/data/shaders/glsl/imgui/scene.vert b/shaders/glsl/imgui/scene.vert similarity index 100% rename from data/shaders/glsl/imgui/scene.vert rename to shaders/glsl/imgui/scene.vert diff --git a/data/shaders/glsl/imgui/scene.vert.spv b/shaders/glsl/imgui/scene.vert.spv similarity index 100% rename from data/shaders/glsl/imgui/scene.vert.spv rename to shaders/glsl/imgui/scene.vert.spv diff --git a/data/shaders/glsl/imgui/ui.frag b/shaders/glsl/imgui/ui.frag similarity index 100% rename from data/shaders/glsl/imgui/ui.frag rename to shaders/glsl/imgui/ui.frag diff --git a/data/shaders/glsl/imgui/ui.frag.spv b/shaders/glsl/imgui/ui.frag.spv similarity index 100% rename from data/shaders/glsl/imgui/ui.frag.spv rename to shaders/glsl/imgui/ui.frag.spv diff --git a/data/shaders/glsl/imgui/ui.vert b/shaders/glsl/imgui/ui.vert similarity index 100% rename from data/shaders/glsl/imgui/ui.vert rename to shaders/glsl/imgui/ui.vert diff --git a/data/shaders/glsl/imgui/ui.vert.spv b/shaders/glsl/imgui/ui.vert.spv similarity index 100% rename from data/shaders/glsl/imgui/ui.vert.spv rename to shaders/glsl/imgui/ui.vert.spv diff --git a/data/shaders/glsl/indirectdraw/ground.frag b/shaders/glsl/indirectdraw/ground.frag similarity index 100% rename from data/shaders/glsl/indirectdraw/ground.frag rename to shaders/glsl/indirectdraw/ground.frag diff --git a/data/shaders/glsl/indirectdraw/ground.frag.spv b/shaders/glsl/indirectdraw/ground.frag.spv similarity index 100% rename from data/shaders/glsl/indirectdraw/ground.frag.spv rename to shaders/glsl/indirectdraw/ground.frag.spv diff --git a/data/shaders/glsl/indirectdraw/ground.vert b/shaders/glsl/indirectdraw/ground.vert similarity index 100% rename from data/shaders/glsl/indirectdraw/ground.vert rename to shaders/glsl/indirectdraw/ground.vert diff --git a/data/shaders/glsl/indirectdraw/ground.vert.spv b/shaders/glsl/indirectdraw/ground.vert.spv similarity index 100% rename from data/shaders/glsl/indirectdraw/ground.vert.spv rename to shaders/glsl/indirectdraw/ground.vert.spv diff --git a/data/shaders/glsl/indirectdraw/indirectdraw.frag b/shaders/glsl/indirectdraw/indirectdraw.frag similarity index 100% rename from data/shaders/glsl/indirectdraw/indirectdraw.frag rename to shaders/glsl/indirectdraw/indirectdraw.frag diff --git a/data/shaders/glsl/indirectdraw/indirectdraw.frag.spv b/shaders/glsl/indirectdraw/indirectdraw.frag.spv similarity index 100% rename from data/shaders/glsl/indirectdraw/indirectdraw.frag.spv rename to shaders/glsl/indirectdraw/indirectdraw.frag.spv diff --git a/data/shaders/glsl/indirectdraw/indirectdraw.vert b/shaders/glsl/indirectdraw/indirectdraw.vert similarity index 100% rename from data/shaders/glsl/indirectdraw/indirectdraw.vert rename to shaders/glsl/indirectdraw/indirectdraw.vert diff --git a/data/shaders/glsl/indirectdraw/indirectdraw.vert.spv b/shaders/glsl/indirectdraw/indirectdraw.vert.spv similarity index 100% rename from data/shaders/glsl/indirectdraw/indirectdraw.vert.spv rename to shaders/glsl/indirectdraw/indirectdraw.vert.spv diff --git a/data/shaders/glsl/indirectdraw/skysphere.frag b/shaders/glsl/indirectdraw/skysphere.frag similarity index 100% rename from data/shaders/glsl/indirectdraw/skysphere.frag rename to shaders/glsl/indirectdraw/skysphere.frag diff --git a/data/shaders/glsl/indirectdraw/skysphere.frag.spv b/shaders/glsl/indirectdraw/skysphere.frag.spv similarity index 100% rename from data/shaders/glsl/indirectdraw/skysphere.frag.spv rename to shaders/glsl/indirectdraw/skysphere.frag.spv diff --git a/data/shaders/glsl/indirectdraw/skysphere.vert b/shaders/glsl/indirectdraw/skysphere.vert similarity index 100% rename from data/shaders/glsl/indirectdraw/skysphere.vert rename to shaders/glsl/indirectdraw/skysphere.vert diff --git a/data/shaders/glsl/indirectdraw/skysphere.vert.spv b/shaders/glsl/indirectdraw/skysphere.vert.spv similarity index 100% rename from data/shaders/glsl/indirectdraw/skysphere.vert.spv rename to shaders/glsl/indirectdraw/skysphere.vert.spv diff --git a/data/shaders/glsl/inlineuniformblocks/pbr.frag b/shaders/glsl/inlineuniformblocks/pbr.frag similarity index 100% rename from data/shaders/glsl/inlineuniformblocks/pbr.frag rename to shaders/glsl/inlineuniformblocks/pbr.frag diff --git a/data/shaders/glsl/inlineuniformblocks/pbr.frag.spv b/shaders/glsl/inlineuniformblocks/pbr.frag.spv similarity index 100% rename from data/shaders/glsl/inlineuniformblocks/pbr.frag.spv rename to shaders/glsl/inlineuniformblocks/pbr.frag.spv diff --git a/data/shaders/glsl/inlineuniformblocks/pbr.vert b/shaders/glsl/inlineuniformblocks/pbr.vert similarity index 100% rename from data/shaders/glsl/inlineuniformblocks/pbr.vert rename to shaders/glsl/inlineuniformblocks/pbr.vert diff --git a/data/shaders/glsl/inlineuniformblocks/pbr.vert.spv b/shaders/glsl/inlineuniformblocks/pbr.vert.spv similarity index 100% rename from data/shaders/glsl/inlineuniformblocks/pbr.vert.spv rename to shaders/glsl/inlineuniformblocks/pbr.vert.spv diff --git a/data/shaders/glsl/inputattachments/attachmentread.frag b/shaders/glsl/inputattachments/attachmentread.frag similarity index 100% rename from data/shaders/glsl/inputattachments/attachmentread.frag rename to shaders/glsl/inputattachments/attachmentread.frag diff --git a/data/shaders/glsl/inputattachments/attachmentread.frag.spv b/shaders/glsl/inputattachments/attachmentread.frag.spv similarity index 100% rename from data/shaders/glsl/inputattachments/attachmentread.frag.spv rename to shaders/glsl/inputattachments/attachmentread.frag.spv diff --git a/data/shaders/glsl/inputattachments/attachmentread.vert b/shaders/glsl/inputattachments/attachmentread.vert similarity index 100% rename from data/shaders/glsl/inputattachments/attachmentread.vert rename to shaders/glsl/inputattachments/attachmentread.vert diff --git a/data/shaders/glsl/inputattachments/attachmentread.vert.spv b/shaders/glsl/inputattachments/attachmentread.vert.spv similarity index 100% rename from data/shaders/glsl/inputattachments/attachmentread.vert.spv rename to shaders/glsl/inputattachments/attachmentread.vert.spv diff --git a/data/shaders/glsl/inputattachments/attachmentwrite.frag b/shaders/glsl/inputattachments/attachmentwrite.frag similarity index 100% rename from data/shaders/glsl/inputattachments/attachmentwrite.frag rename to shaders/glsl/inputattachments/attachmentwrite.frag diff --git a/data/shaders/glsl/inputattachments/attachmentwrite.frag.spv b/shaders/glsl/inputattachments/attachmentwrite.frag.spv similarity index 100% rename from data/shaders/glsl/inputattachments/attachmentwrite.frag.spv rename to shaders/glsl/inputattachments/attachmentwrite.frag.spv diff --git a/data/shaders/glsl/inputattachments/attachmentwrite.vert b/shaders/glsl/inputattachments/attachmentwrite.vert similarity index 100% rename from data/shaders/glsl/inputattachments/attachmentwrite.vert rename to shaders/glsl/inputattachments/attachmentwrite.vert diff --git a/data/shaders/glsl/inputattachments/attachmentwrite.vert.spv b/shaders/glsl/inputattachments/attachmentwrite.vert.spv similarity index 100% rename from data/shaders/glsl/inputattachments/attachmentwrite.vert.spv rename to shaders/glsl/inputattachments/attachmentwrite.vert.spv diff --git a/data/shaders/glsl/instancing/instancing.frag b/shaders/glsl/instancing/instancing.frag similarity index 100% rename from data/shaders/glsl/instancing/instancing.frag rename to shaders/glsl/instancing/instancing.frag diff --git a/data/shaders/glsl/instancing/instancing.frag.spv b/shaders/glsl/instancing/instancing.frag.spv similarity index 100% rename from data/shaders/glsl/instancing/instancing.frag.spv rename to shaders/glsl/instancing/instancing.frag.spv diff --git a/data/shaders/glsl/instancing/instancing.vert b/shaders/glsl/instancing/instancing.vert similarity index 100% rename from data/shaders/glsl/instancing/instancing.vert rename to shaders/glsl/instancing/instancing.vert diff --git a/data/shaders/glsl/instancing/instancing.vert.spv b/shaders/glsl/instancing/instancing.vert.spv similarity index 100% rename from data/shaders/glsl/instancing/instancing.vert.spv rename to shaders/glsl/instancing/instancing.vert.spv diff --git a/data/shaders/glsl/instancing/planet.frag b/shaders/glsl/instancing/planet.frag similarity index 100% rename from data/shaders/glsl/instancing/planet.frag rename to shaders/glsl/instancing/planet.frag diff --git a/data/shaders/glsl/instancing/planet.frag.spv b/shaders/glsl/instancing/planet.frag.spv similarity index 100% rename from data/shaders/glsl/instancing/planet.frag.spv rename to shaders/glsl/instancing/planet.frag.spv diff --git a/data/shaders/glsl/instancing/planet.vert b/shaders/glsl/instancing/planet.vert similarity index 100% rename from data/shaders/glsl/instancing/planet.vert rename to shaders/glsl/instancing/planet.vert diff --git a/data/shaders/glsl/instancing/planet.vert.spv b/shaders/glsl/instancing/planet.vert.spv similarity index 100% rename from data/shaders/glsl/instancing/planet.vert.spv rename to shaders/glsl/instancing/planet.vert.spv diff --git a/data/shaders/glsl/instancing/starfield.frag b/shaders/glsl/instancing/starfield.frag similarity index 100% rename from data/shaders/glsl/instancing/starfield.frag rename to shaders/glsl/instancing/starfield.frag diff --git a/data/shaders/glsl/instancing/starfield.frag.spv b/shaders/glsl/instancing/starfield.frag.spv similarity index 100% rename from data/shaders/glsl/instancing/starfield.frag.spv rename to shaders/glsl/instancing/starfield.frag.spv diff --git a/data/shaders/glsl/instancing/starfield.vert b/shaders/glsl/instancing/starfield.vert similarity index 100% rename from data/shaders/glsl/instancing/starfield.vert rename to shaders/glsl/instancing/starfield.vert diff --git a/data/shaders/glsl/instancing/starfield.vert.spv b/shaders/glsl/instancing/starfield.vert.spv similarity index 100% rename from data/shaders/glsl/instancing/starfield.vert.spv rename to shaders/glsl/instancing/starfield.vert.spv diff --git a/data/shaders/glsl/meshshader/meshshader.frag b/shaders/glsl/meshshader/meshshader.frag similarity index 100% rename from data/shaders/glsl/meshshader/meshshader.frag rename to shaders/glsl/meshshader/meshshader.frag diff --git a/data/shaders/glsl/meshshader/meshshader.frag.spv b/shaders/glsl/meshshader/meshshader.frag.spv similarity index 100% rename from data/shaders/glsl/meshshader/meshshader.frag.spv rename to shaders/glsl/meshshader/meshshader.frag.spv diff --git a/data/shaders/glsl/meshshader/meshshader.mesh b/shaders/glsl/meshshader/meshshader.mesh similarity index 100% rename from data/shaders/glsl/meshshader/meshshader.mesh rename to shaders/glsl/meshshader/meshshader.mesh diff --git a/data/shaders/glsl/meshshader/meshshader.mesh.spv b/shaders/glsl/meshshader/meshshader.mesh.spv similarity index 100% rename from data/shaders/glsl/meshshader/meshshader.mesh.spv rename to shaders/glsl/meshshader/meshshader.mesh.spv diff --git a/data/shaders/glsl/meshshader/meshshader.task b/shaders/glsl/meshshader/meshshader.task similarity index 100% rename from data/shaders/glsl/meshshader/meshshader.task rename to shaders/glsl/meshshader/meshshader.task diff --git a/data/shaders/glsl/meshshader/meshshader.task.spv b/shaders/glsl/meshshader/meshshader.task.spv similarity index 100% rename from data/shaders/glsl/meshshader/meshshader.task.spv rename to shaders/glsl/meshshader/meshshader.task.spv diff --git a/data/shaders/glsl/multisampling/mesh.frag b/shaders/glsl/multisampling/mesh.frag similarity index 100% rename from data/shaders/glsl/multisampling/mesh.frag rename to shaders/glsl/multisampling/mesh.frag diff --git a/data/shaders/glsl/multisampling/mesh.frag.spv b/shaders/glsl/multisampling/mesh.frag.spv similarity index 100% rename from data/shaders/glsl/multisampling/mesh.frag.spv rename to shaders/glsl/multisampling/mesh.frag.spv diff --git a/data/shaders/glsl/multisampling/mesh.vert b/shaders/glsl/multisampling/mesh.vert similarity index 100% rename from data/shaders/glsl/multisampling/mesh.vert rename to shaders/glsl/multisampling/mesh.vert diff --git a/data/shaders/glsl/multisampling/mesh.vert.spv b/shaders/glsl/multisampling/mesh.vert.spv similarity index 100% rename from data/shaders/glsl/multisampling/mesh.vert.spv rename to shaders/glsl/multisampling/mesh.vert.spv diff --git a/data/shaders/glsl/multithreading/phong.frag b/shaders/glsl/multithreading/phong.frag similarity index 100% rename from data/shaders/glsl/multithreading/phong.frag rename to shaders/glsl/multithreading/phong.frag diff --git a/data/shaders/glsl/multithreading/phong.frag.spv b/shaders/glsl/multithreading/phong.frag.spv similarity index 100% rename from data/shaders/glsl/multithreading/phong.frag.spv rename to shaders/glsl/multithreading/phong.frag.spv diff --git a/data/shaders/glsl/multithreading/phong.vert b/shaders/glsl/multithreading/phong.vert similarity index 100% rename from data/shaders/glsl/multithreading/phong.vert rename to shaders/glsl/multithreading/phong.vert diff --git a/data/shaders/glsl/multithreading/phong.vert.spv b/shaders/glsl/multithreading/phong.vert.spv similarity index 100% rename from data/shaders/glsl/multithreading/phong.vert.spv rename to shaders/glsl/multithreading/phong.vert.spv diff --git a/data/shaders/glsl/multithreading/starsphere.frag b/shaders/glsl/multithreading/starsphere.frag similarity index 100% rename from data/shaders/glsl/multithreading/starsphere.frag rename to shaders/glsl/multithreading/starsphere.frag diff --git a/data/shaders/glsl/multithreading/starsphere.frag.spv b/shaders/glsl/multithreading/starsphere.frag.spv similarity index 100% rename from data/shaders/glsl/multithreading/starsphere.frag.spv rename to shaders/glsl/multithreading/starsphere.frag.spv diff --git a/data/shaders/glsl/multithreading/starsphere.vert b/shaders/glsl/multithreading/starsphere.vert similarity index 100% rename from data/shaders/glsl/multithreading/starsphere.vert rename to shaders/glsl/multithreading/starsphere.vert diff --git a/data/shaders/glsl/multithreading/starsphere.vert.spv b/shaders/glsl/multithreading/starsphere.vert.spv similarity index 100% rename from data/shaders/glsl/multithreading/starsphere.vert.spv rename to shaders/glsl/multithreading/starsphere.vert.spv diff --git a/data/shaders/glsl/multiview/multiview.frag b/shaders/glsl/multiview/multiview.frag similarity index 100% rename from data/shaders/glsl/multiview/multiview.frag rename to shaders/glsl/multiview/multiview.frag diff --git a/data/shaders/glsl/multiview/multiview.frag.spv b/shaders/glsl/multiview/multiview.frag.spv similarity index 100% rename from data/shaders/glsl/multiview/multiview.frag.spv rename to shaders/glsl/multiview/multiview.frag.spv diff --git a/data/shaders/glsl/multiview/multiview.vert b/shaders/glsl/multiview/multiview.vert similarity index 100% rename from data/shaders/glsl/multiview/multiview.vert rename to shaders/glsl/multiview/multiview.vert diff --git a/data/shaders/glsl/multiview/multiview.vert.spv b/shaders/glsl/multiview/multiview.vert.spv similarity index 100% rename from data/shaders/glsl/multiview/multiview.vert.spv rename to shaders/glsl/multiview/multiview.vert.spv diff --git a/data/shaders/glsl/multiview/viewdisplay.frag b/shaders/glsl/multiview/viewdisplay.frag similarity index 100% rename from data/shaders/glsl/multiview/viewdisplay.frag rename to shaders/glsl/multiview/viewdisplay.frag diff --git a/data/shaders/glsl/multiview/viewdisplay.frag.spv b/shaders/glsl/multiview/viewdisplay.frag.spv similarity index 100% rename from data/shaders/glsl/multiview/viewdisplay.frag.spv rename to shaders/glsl/multiview/viewdisplay.frag.spv diff --git a/data/shaders/glsl/multiview/viewdisplay.vert b/shaders/glsl/multiview/viewdisplay.vert similarity index 100% rename from data/shaders/glsl/multiview/viewdisplay.vert rename to shaders/glsl/multiview/viewdisplay.vert diff --git a/data/shaders/glsl/multiview/viewdisplay.vert.spv b/shaders/glsl/multiview/viewdisplay.vert.spv similarity index 100% rename from data/shaders/glsl/multiview/viewdisplay.vert.spv rename to shaders/glsl/multiview/viewdisplay.vert.spv diff --git a/data/shaders/glsl/negativeviewportheight/quad.frag b/shaders/glsl/negativeviewportheight/quad.frag similarity index 100% rename from data/shaders/glsl/negativeviewportheight/quad.frag rename to shaders/glsl/negativeviewportheight/quad.frag diff --git a/data/shaders/glsl/negativeviewportheight/quad.frag.spv b/shaders/glsl/negativeviewportheight/quad.frag.spv similarity index 100% rename from data/shaders/glsl/negativeviewportheight/quad.frag.spv rename to shaders/glsl/negativeviewportheight/quad.frag.spv diff --git a/data/shaders/glsl/negativeviewportheight/quad.vert b/shaders/glsl/negativeviewportheight/quad.vert similarity index 100% rename from data/shaders/glsl/negativeviewportheight/quad.vert rename to shaders/glsl/negativeviewportheight/quad.vert diff --git a/data/shaders/glsl/negativeviewportheight/quad.vert.spv b/shaders/glsl/negativeviewportheight/quad.vert.spv similarity index 100% rename from data/shaders/glsl/negativeviewportheight/quad.vert.spv rename to shaders/glsl/negativeviewportheight/quad.vert.spv diff --git a/data/shaders/glsl/occlusionquery/mesh.frag b/shaders/glsl/occlusionquery/mesh.frag similarity index 100% rename from data/shaders/glsl/occlusionquery/mesh.frag rename to shaders/glsl/occlusionquery/mesh.frag diff --git a/data/shaders/glsl/occlusionquery/mesh.frag.spv b/shaders/glsl/occlusionquery/mesh.frag.spv similarity index 100% rename from data/shaders/glsl/occlusionquery/mesh.frag.spv rename to shaders/glsl/occlusionquery/mesh.frag.spv diff --git a/data/shaders/glsl/occlusionquery/mesh.vert b/shaders/glsl/occlusionquery/mesh.vert similarity index 100% rename from data/shaders/glsl/occlusionquery/mesh.vert rename to shaders/glsl/occlusionquery/mesh.vert diff --git a/data/shaders/glsl/occlusionquery/mesh.vert.spv b/shaders/glsl/occlusionquery/mesh.vert.spv similarity index 100% rename from data/shaders/glsl/occlusionquery/mesh.vert.spv rename to shaders/glsl/occlusionquery/mesh.vert.spv diff --git a/data/shaders/glsl/occlusionquery/occluder.frag b/shaders/glsl/occlusionquery/occluder.frag similarity index 100% rename from data/shaders/glsl/occlusionquery/occluder.frag rename to shaders/glsl/occlusionquery/occluder.frag diff --git a/data/shaders/glsl/occlusionquery/occluder.frag.spv b/shaders/glsl/occlusionquery/occluder.frag.spv similarity index 100% rename from data/shaders/glsl/occlusionquery/occluder.frag.spv rename to shaders/glsl/occlusionquery/occluder.frag.spv diff --git a/data/shaders/glsl/occlusionquery/occluder.vert b/shaders/glsl/occlusionquery/occluder.vert similarity index 100% rename from data/shaders/glsl/occlusionquery/occluder.vert rename to shaders/glsl/occlusionquery/occluder.vert diff --git a/data/shaders/glsl/occlusionquery/occluder.vert.spv b/shaders/glsl/occlusionquery/occluder.vert.spv similarity index 100% rename from data/shaders/glsl/occlusionquery/occluder.vert.spv rename to shaders/glsl/occlusionquery/occluder.vert.spv diff --git a/data/shaders/glsl/occlusionquery/simple.frag b/shaders/glsl/occlusionquery/simple.frag similarity index 100% rename from data/shaders/glsl/occlusionquery/simple.frag rename to shaders/glsl/occlusionquery/simple.frag diff --git a/data/shaders/glsl/occlusionquery/simple.frag.spv b/shaders/glsl/occlusionquery/simple.frag.spv similarity index 100% rename from data/shaders/glsl/occlusionquery/simple.frag.spv rename to shaders/glsl/occlusionquery/simple.frag.spv diff --git a/data/shaders/glsl/occlusionquery/simple.vert b/shaders/glsl/occlusionquery/simple.vert similarity index 100% rename from data/shaders/glsl/occlusionquery/simple.vert rename to shaders/glsl/occlusionquery/simple.vert diff --git a/data/shaders/glsl/occlusionquery/simple.vert.spv b/shaders/glsl/occlusionquery/simple.vert.spv similarity index 100% rename from data/shaders/glsl/occlusionquery/simple.vert.spv rename to shaders/glsl/occlusionquery/simple.vert.spv diff --git a/data/shaders/glsl/offscreen/mirror.frag b/shaders/glsl/offscreen/mirror.frag similarity index 100% rename from data/shaders/glsl/offscreen/mirror.frag rename to shaders/glsl/offscreen/mirror.frag diff --git a/data/shaders/glsl/offscreen/mirror.frag.spv b/shaders/glsl/offscreen/mirror.frag.spv similarity index 100% rename from data/shaders/glsl/offscreen/mirror.frag.spv rename to shaders/glsl/offscreen/mirror.frag.spv diff --git a/data/shaders/glsl/offscreen/mirror.vert b/shaders/glsl/offscreen/mirror.vert similarity index 100% rename from data/shaders/glsl/offscreen/mirror.vert rename to shaders/glsl/offscreen/mirror.vert diff --git a/data/shaders/glsl/offscreen/mirror.vert.spv b/shaders/glsl/offscreen/mirror.vert.spv similarity index 100% rename from data/shaders/glsl/offscreen/mirror.vert.spv rename to shaders/glsl/offscreen/mirror.vert.spv diff --git a/data/shaders/glsl/offscreen/phong.frag b/shaders/glsl/offscreen/phong.frag similarity index 100% rename from data/shaders/glsl/offscreen/phong.frag rename to shaders/glsl/offscreen/phong.frag diff --git a/data/shaders/glsl/offscreen/phong.frag.spv b/shaders/glsl/offscreen/phong.frag.spv similarity index 100% rename from data/shaders/glsl/offscreen/phong.frag.spv rename to shaders/glsl/offscreen/phong.frag.spv diff --git a/data/shaders/glsl/offscreen/phong.vert b/shaders/glsl/offscreen/phong.vert similarity index 100% rename from data/shaders/glsl/offscreen/phong.vert rename to shaders/glsl/offscreen/phong.vert diff --git a/data/shaders/glsl/offscreen/phong.vert.spv b/shaders/glsl/offscreen/phong.vert.spv similarity index 100% rename from data/shaders/glsl/offscreen/phong.vert.spv rename to shaders/glsl/offscreen/phong.vert.spv diff --git a/data/shaders/glsl/offscreen/quad.frag b/shaders/glsl/offscreen/quad.frag similarity index 100% rename from data/shaders/glsl/offscreen/quad.frag rename to shaders/glsl/offscreen/quad.frag diff --git a/data/shaders/glsl/offscreen/quad.frag.spv b/shaders/glsl/offscreen/quad.frag.spv similarity index 100% rename from data/shaders/glsl/offscreen/quad.frag.spv rename to shaders/glsl/offscreen/quad.frag.spv diff --git a/data/shaders/glsl/offscreen/quad.vert b/shaders/glsl/offscreen/quad.vert similarity index 100% rename from data/shaders/glsl/offscreen/quad.vert rename to shaders/glsl/offscreen/quad.vert diff --git a/data/shaders/glsl/offscreen/quad.vert.spv b/shaders/glsl/offscreen/quad.vert.spv similarity index 100% rename from data/shaders/glsl/offscreen/quad.vert.spv rename to shaders/glsl/offscreen/quad.vert.spv diff --git a/data/shaders/glsl/oit/color.frag b/shaders/glsl/oit/color.frag similarity index 100% rename from data/shaders/glsl/oit/color.frag rename to shaders/glsl/oit/color.frag diff --git a/data/shaders/glsl/oit/color.frag.spv b/shaders/glsl/oit/color.frag.spv similarity index 100% rename from data/shaders/glsl/oit/color.frag.spv rename to shaders/glsl/oit/color.frag.spv diff --git a/data/shaders/glsl/oit/color.vert b/shaders/glsl/oit/color.vert similarity index 100% rename from data/shaders/glsl/oit/color.vert rename to shaders/glsl/oit/color.vert diff --git a/data/shaders/glsl/oit/color.vert.spv b/shaders/glsl/oit/color.vert.spv similarity index 100% rename from data/shaders/glsl/oit/color.vert.spv rename to shaders/glsl/oit/color.vert.spv diff --git a/data/shaders/glsl/oit/geometry.frag b/shaders/glsl/oit/geometry.frag similarity index 100% rename from data/shaders/glsl/oit/geometry.frag rename to shaders/glsl/oit/geometry.frag diff --git a/data/shaders/glsl/oit/geometry.frag.spv b/shaders/glsl/oit/geometry.frag.spv similarity index 100% rename from data/shaders/glsl/oit/geometry.frag.spv rename to shaders/glsl/oit/geometry.frag.spv diff --git a/data/shaders/glsl/oit/geometry.vert b/shaders/glsl/oit/geometry.vert similarity index 100% rename from data/shaders/glsl/oit/geometry.vert rename to shaders/glsl/oit/geometry.vert diff --git a/data/shaders/glsl/oit/geometry.vert.spv b/shaders/glsl/oit/geometry.vert.spv similarity index 100% rename from data/shaders/glsl/oit/geometry.vert.spv rename to shaders/glsl/oit/geometry.vert.spv diff --git a/data/shaders/glsl/parallaxmapping/parallax.frag b/shaders/glsl/parallaxmapping/parallax.frag similarity index 100% rename from data/shaders/glsl/parallaxmapping/parallax.frag rename to shaders/glsl/parallaxmapping/parallax.frag diff --git a/data/shaders/glsl/parallaxmapping/parallax.frag.spv b/shaders/glsl/parallaxmapping/parallax.frag.spv similarity index 100% rename from data/shaders/glsl/parallaxmapping/parallax.frag.spv rename to shaders/glsl/parallaxmapping/parallax.frag.spv diff --git a/data/shaders/glsl/parallaxmapping/parallax.vert b/shaders/glsl/parallaxmapping/parallax.vert similarity index 100% rename from data/shaders/glsl/parallaxmapping/parallax.vert rename to shaders/glsl/parallaxmapping/parallax.vert diff --git a/data/shaders/glsl/parallaxmapping/parallax.vert.spv b/shaders/glsl/parallaxmapping/parallax.vert.spv similarity index 100% rename from data/shaders/glsl/parallaxmapping/parallax.vert.spv rename to shaders/glsl/parallaxmapping/parallax.vert.spv diff --git a/data/shaders/glsl/particlefire/normalmap.frag b/shaders/glsl/particlefire/normalmap.frag similarity index 100% rename from data/shaders/glsl/particlefire/normalmap.frag rename to shaders/glsl/particlefire/normalmap.frag diff --git a/data/shaders/glsl/particlefire/normalmap.frag.spv b/shaders/glsl/particlefire/normalmap.frag.spv similarity index 100% rename from data/shaders/glsl/particlefire/normalmap.frag.spv rename to shaders/glsl/particlefire/normalmap.frag.spv diff --git a/data/shaders/glsl/particlefire/normalmap.vert b/shaders/glsl/particlefire/normalmap.vert similarity index 100% rename from data/shaders/glsl/particlefire/normalmap.vert rename to shaders/glsl/particlefire/normalmap.vert diff --git a/data/shaders/glsl/particlefire/normalmap.vert.spv b/shaders/glsl/particlefire/normalmap.vert.spv similarity index 100% rename from data/shaders/glsl/particlefire/normalmap.vert.spv rename to shaders/glsl/particlefire/normalmap.vert.spv diff --git a/data/shaders/glsl/particlefire/particle.frag b/shaders/glsl/particlefire/particle.frag similarity index 100% rename from data/shaders/glsl/particlefire/particle.frag rename to shaders/glsl/particlefire/particle.frag diff --git a/data/shaders/glsl/particlefire/particle.frag.spv b/shaders/glsl/particlefire/particle.frag.spv similarity index 100% rename from data/shaders/glsl/particlefire/particle.frag.spv rename to shaders/glsl/particlefire/particle.frag.spv diff --git a/data/shaders/glsl/particlefire/particle.vert b/shaders/glsl/particlefire/particle.vert similarity index 100% rename from data/shaders/glsl/particlefire/particle.vert rename to shaders/glsl/particlefire/particle.vert diff --git a/data/shaders/glsl/particlefire/particle.vert.spv b/shaders/glsl/particlefire/particle.vert.spv similarity index 100% rename from data/shaders/glsl/particlefire/particle.vert.spv rename to shaders/glsl/particlefire/particle.vert.spv diff --git a/data/shaders/glsl/pbrbasic/pbr.frag b/shaders/glsl/pbrbasic/pbr.frag similarity index 100% rename from data/shaders/glsl/pbrbasic/pbr.frag rename to shaders/glsl/pbrbasic/pbr.frag diff --git a/data/shaders/glsl/pbrbasic/pbr.frag.spv b/shaders/glsl/pbrbasic/pbr.frag.spv similarity index 100% rename from data/shaders/glsl/pbrbasic/pbr.frag.spv rename to shaders/glsl/pbrbasic/pbr.frag.spv diff --git a/data/shaders/glsl/pbrbasic/pbr.vert b/shaders/glsl/pbrbasic/pbr.vert similarity index 100% rename from data/shaders/glsl/pbrbasic/pbr.vert rename to shaders/glsl/pbrbasic/pbr.vert diff --git a/data/shaders/glsl/pbrbasic/pbr.vert.spv b/shaders/glsl/pbrbasic/pbr.vert.spv similarity index 100% rename from data/shaders/glsl/pbrbasic/pbr.vert.spv rename to shaders/glsl/pbrbasic/pbr.vert.spv diff --git a/data/shaders/glsl/pbribl/filtercube.vert b/shaders/glsl/pbribl/filtercube.vert similarity index 100% rename from data/shaders/glsl/pbribl/filtercube.vert rename to shaders/glsl/pbribl/filtercube.vert diff --git a/data/shaders/glsl/pbribl/filtercube.vert.spv b/shaders/glsl/pbribl/filtercube.vert.spv similarity index 100% rename from data/shaders/glsl/pbribl/filtercube.vert.spv rename to shaders/glsl/pbribl/filtercube.vert.spv diff --git a/data/shaders/glsl/pbribl/genbrdflut.frag b/shaders/glsl/pbribl/genbrdflut.frag similarity index 100% rename from data/shaders/glsl/pbribl/genbrdflut.frag rename to shaders/glsl/pbribl/genbrdflut.frag diff --git a/data/shaders/glsl/pbribl/genbrdflut.frag.spv b/shaders/glsl/pbribl/genbrdflut.frag.spv similarity index 100% rename from data/shaders/glsl/pbribl/genbrdflut.frag.spv rename to shaders/glsl/pbribl/genbrdflut.frag.spv diff --git a/data/shaders/glsl/pbribl/genbrdflut.vert b/shaders/glsl/pbribl/genbrdflut.vert similarity index 100% rename from data/shaders/glsl/pbribl/genbrdflut.vert rename to shaders/glsl/pbribl/genbrdflut.vert diff --git a/data/shaders/glsl/pbribl/genbrdflut.vert.spv b/shaders/glsl/pbribl/genbrdflut.vert.spv similarity index 100% rename from data/shaders/glsl/pbribl/genbrdflut.vert.spv rename to shaders/glsl/pbribl/genbrdflut.vert.spv diff --git a/data/shaders/glsl/pbribl/irradiancecube.frag b/shaders/glsl/pbribl/irradiancecube.frag similarity index 100% rename from data/shaders/glsl/pbribl/irradiancecube.frag rename to shaders/glsl/pbribl/irradiancecube.frag diff --git a/data/shaders/glsl/pbribl/irradiancecube.frag.spv b/shaders/glsl/pbribl/irradiancecube.frag.spv similarity index 100% rename from data/shaders/glsl/pbribl/irradiancecube.frag.spv rename to shaders/glsl/pbribl/irradiancecube.frag.spv diff --git a/data/shaders/glsl/pbribl/pbribl.frag b/shaders/glsl/pbribl/pbribl.frag similarity index 100% rename from data/shaders/glsl/pbribl/pbribl.frag rename to shaders/glsl/pbribl/pbribl.frag diff --git a/data/shaders/glsl/pbribl/pbribl.frag.spv b/shaders/glsl/pbribl/pbribl.frag.spv similarity index 100% rename from data/shaders/glsl/pbribl/pbribl.frag.spv rename to shaders/glsl/pbribl/pbribl.frag.spv diff --git a/data/shaders/glsl/pbribl/pbribl.vert b/shaders/glsl/pbribl/pbribl.vert similarity index 100% rename from data/shaders/glsl/pbribl/pbribl.vert rename to shaders/glsl/pbribl/pbribl.vert diff --git a/data/shaders/glsl/pbribl/pbribl.vert.spv b/shaders/glsl/pbribl/pbribl.vert.spv similarity index 100% rename from data/shaders/glsl/pbribl/pbribl.vert.spv rename to shaders/glsl/pbribl/pbribl.vert.spv diff --git a/data/shaders/glsl/pbribl/prefilterenvmap.frag b/shaders/glsl/pbribl/prefilterenvmap.frag similarity index 100% rename from data/shaders/glsl/pbribl/prefilterenvmap.frag rename to shaders/glsl/pbribl/prefilterenvmap.frag diff --git a/data/shaders/glsl/pbribl/prefilterenvmap.frag.spv b/shaders/glsl/pbribl/prefilterenvmap.frag.spv similarity index 100% rename from data/shaders/glsl/pbribl/prefilterenvmap.frag.spv rename to shaders/glsl/pbribl/prefilterenvmap.frag.spv diff --git a/data/shaders/glsl/pbribl/skybox.frag b/shaders/glsl/pbribl/skybox.frag similarity index 100% rename from data/shaders/glsl/pbribl/skybox.frag rename to shaders/glsl/pbribl/skybox.frag diff --git a/data/shaders/glsl/pbribl/skybox.frag.spv b/shaders/glsl/pbribl/skybox.frag.spv similarity index 100% rename from data/shaders/glsl/pbribl/skybox.frag.spv rename to shaders/glsl/pbribl/skybox.frag.spv diff --git a/data/shaders/glsl/pbribl/skybox.vert b/shaders/glsl/pbribl/skybox.vert similarity index 100% rename from data/shaders/glsl/pbribl/skybox.vert rename to shaders/glsl/pbribl/skybox.vert diff --git a/data/shaders/glsl/pbribl/skybox.vert.spv b/shaders/glsl/pbribl/skybox.vert.spv similarity index 100% rename from data/shaders/glsl/pbribl/skybox.vert.spv rename to shaders/glsl/pbribl/skybox.vert.spv diff --git a/data/shaders/glsl/pbrtexture/filtercube.vert b/shaders/glsl/pbrtexture/filtercube.vert similarity index 100% rename from data/shaders/glsl/pbrtexture/filtercube.vert rename to shaders/glsl/pbrtexture/filtercube.vert diff --git a/data/shaders/glsl/pbrtexture/filtercube.vert.spv b/shaders/glsl/pbrtexture/filtercube.vert.spv similarity index 100% rename from data/shaders/glsl/pbrtexture/filtercube.vert.spv rename to shaders/glsl/pbrtexture/filtercube.vert.spv diff --git a/data/shaders/glsl/pbrtexture/genbrdflut.frag b/shaders/glsl/pbrtexture/genbrdflut.frag similarity index 100% rename from data/shaders/glsl/pbrtexture/genbrdflut.frag rename to shaders/glsl/pbrtexture/genbrdflut.frag diff --git a/data/shaders/glsl/pbrtexture/genbrdflut.frag.spv b/shaders/glsl/pbrtexture/genbrdflut.frag.spv similarity index 100% rename from data/shaders/glsl/pbrtexture/genbrdflut.frag.spv rename to shaders/glsl/pbrtexture/genbrdflut.frag.spv diff --git a/data/shaders/glsl/pbrtexture/genbrdflut.vert b/shaders/glsl/pbrtexture/genbrdflut.vert similarity index 100% rename from data/shaders/glsl/pbrtexture/genbrdflut.vert rename to shaders/glsl/pbrtexture/genbrdflut.vert diff --git a/data/shaders/glsl/pbrtexture/genbrdflut.vert.spv b/shaders/glsl/pbrtexture/genbrdflut.vert.spv similarity index 100% rename from data/shaders/glsl/pbrtexture/genbrdflut.vert.spv rename to shaders/glsl/pbrtexture/genbrdflut.vert.spv diff --git a/data/shaders/glsl/pbrtexture/irradiancecube.frag b/shaders/glsl/pbrtexture/irradiancecube.frag similarity index 100% rename from data/shaders/glsl/pbrtexture/irradiancecube.frag rename to shaders/glsl/pbrtexture/irradiancecube.frag diff --git a/data/shaders/glsl/pbrtexture/irradiancecube.frag.spv b/shaders/glsl/pbrtexture/irradiancecube.frag.spv similarity index 100% rename from data/shaders/glsl/pbrtexture/irradiancecube.frag.spv rename to shaders/glsl/pbrtexture/irradiancecube.frag.spv diff --git a/data/shaders/glsl/pbrtexture/pbrtexture.frag b/shaders/glsl/pbrtexture/pbrtexture.frag similarity index 100% rename from data/shaders/glsl/pbrtexture/pbrtexture.frag rename to shaders/glsl/pbrtexture/pbrtexture.frag diff --git a/data/shaders/glsl/pbrtexture/pbrtexture.frag.spv b/shaders/glsl/pbrtexture/pbrtexture.frag.spv similarity index 100% rename from data/shaders/glsl/pbrtexture/pbrtexture.frag.spv rename to shaders/glsl/pbrtexture/pbrtexture.frag.spv diff --git a/data/shaders/glsl/pbrtexture/pbrtexture.vert b/shaders/glsl/pbrtexture/pbrtexture.vert similarity index 100% rename from data/shaders/glsl/pbrtexture/pbrtexture.vert rename to shaders/glsl/pbrtexture/pbrtexture.vert diff --git a/data/shaders/glsl/pbrtexture/pbrtexture.vert.spv b/shaders/glsl/pbrtexture/pbrtexture.vert.spv similarity index 100% rename from data/shaders/glsl/pbrtexture/pbrtexture.vert.spv rename to shaders/glsl/pbrtexture/pbrtexture.vert.spv diff --git a/data/shaders/glsl/pbrtexture/prefilterenvmap.frag b/shaders/glsl/pbrtexture/prefilterenvmap.frag similarity index 100% rename from data/shaders/glsl/pbrtexture/prefilterenvmap.frag rename to shaders/glsl/pbrtexture/prefilterenvmap.frag diff --git a/data/shaders/glsl/pbrtexture/prefilterenvmap.frag.spv b/shaders/glsl/pbrtexture/prefilterenvmap.frag.spv similarity index 100% rename from data/shaders/glsl/pbrtexture/prefilterenvmap.frag.spv rename to shaders/glsl/pbrtexture/prefilterenvmap.frag.spv diff --git a/data/shaders/glsl/pbrtexture/skybox.frag b/shaders/glsl/pbrtexture/skybox.frag similarity index 100% rename from data/shaders/glsl/pbrtexture/skybox.frag rename to shaders/glsl/pbrtexture/skybox.frag diff --git a/data/shaders/glsl/pbrtexture/skybox.frag.spv b/shaders/glsl/pbrtexture/skybox.frag.spv similarity index 100% rename from data/shaders/glsl/pbrtexture/skybox.frag.spv rename to shaders/glsl/pbrtexture/skybox.frag.spv diff --git a/data/shaders/glsl/pbrtexture/skybox.vert b/shaders/glsl/pbrtexture/skybox.vert similarity index 100% rename from data/shaders/glsl/pbrtexture/skybox.vert rename to shaders/glsl/pbrtexture/skybox.vert diff --git a/data/shaders/glsl/pbrtexture/skybox.vert.spv b/shaders/glsl/pbrtexture/skybox.vert.spv similarity index 100% rename from data/shaders/glsl/pbrtexture/skybox.vert.spv rename to shaders/glsl/pbrtexture/skybox.vert.spv diff --git a/data/shaders/glsl/pipelines/phong.frag b/shaders/glsl/pipelines/phong.frag similarity index 100% rename from data/shaders/glsl/pipelines/phong.frag rename to shaders/glsl/pipelines/phong.frag diff --git a/data/shaders/glsl/pipelines/phong.frag.spv b/shaders/glsl/pipelines/phong.frag.spv similarity index 100% rename from data/shaders/glsl/pipelines/phong.frag.spv rename to shaders/glsl/pipelines/phong.frag.spv diff --git a/data/shaders/glsl/pipelines/phong.vert b/shaders/glsl/pipelines/phong.vert similarity index 100% rename from data/shaders/glsl/pipelines/phong.vert rename to shaders/glsl/pipelines/phong.vert diff --git a/data/shaders/glsl/pipelines/phong.vert.spv b/shaders/glsl/pipelines/phong.vert.spv similarity index 100% rename from data/shaders/glsl/pipelines/phong.vert.spv rename to shaders/glsl/pipelines/phong.vert.spv diff --git a/data/shaders/glsl/pipelines/toon.frag b/shaders/glsl/pipelines/toon.frag similarity index 100% rename from data/shaders/glsl/pipelines/toon.frag rename to shaders/glsl/pipelines/toon.frag diff --git a/data/shaders/glsl/pipelines/toon.frag.spv b/shaders/glsl/pipelines/toon.frag.spv similarity index 100% rename from data/shaders/glsl/pipelines/toon.frag.spv rename to shaders/glsl/pipelines/toon.frag.spv diff --git a/data/shaders/glsl/pipelines/toon.vert b/shaders/glsl/pipelines/toon.vert similarity index 100% rename from data/shaders/glsl/pipelines/toon.vert rename to shaders/glsl/pipelines/toon.vert diff --git a/data/shaders/glsl/pipelines/toon.vert.spv b/shaders/glsl/pipelines/toon.vert.spv similarity index 100% rename from data/shaders/glsl/pipelines/toon.vert.spv rename to shaders/glsl/pipelines/toon.vert.spv diff --git a/data/shaders/glsl/pipelines/wireframe.frag b/shaders/glsl/pipelines/wireframe.frag similarity index 100% rename from data/shaders/glsl/pipelines/wireframe.frag rename to shaders/glsl/pipelines/wireframe.frag diff --git a/data/shaders/glsl/pipelines/wireframe.frag.spv b/shaders/glsl/pipelines/wireframe.frag.spv similarity index 100% rename from data/shaders/glsl/pipelines/wireframe.frag.spv rename to shaders/glsl/pipelines/wireframe.frag.spv diff --git a/data/shaders/glsl/pipelines/wireframe.vert b/shaders/glsl/pipelines/wireframe.vert similarity index 100% rename from data/shaders/glsl/pipelines/wireframe.vert rename to shaders/glsl/pipelines/wireframe.vert diff --git a/data/shaders/glsl/pipelines/wireframe.vert.spv b/shaders/glsl/pipelines/wireframe.vert.spv similarity index 100% rename from data/shaders/glsl/pipelines/wireframe.vert.spv rename to shaders/glsl/pipelines/wireframe.vert.spv diff --git a/data/shaders/glsl/pipelinestatistics/scene.frag b/shaders/glsl/pipelinestatistics/scene.frag similarity index 100% rename from data/shaders/glsl/pipelinestatistics/scene.frag rename to shaders/glsl/pipelinestatistics/scene.frag diff --git a/data/shaders/glsl/pipelinestatistics/scene.frag.spv b/shaders/glsl/pipelinestatistics/scene.frag.spv similarity index 100% rename from data/shaders/glsl/pipelinestatistics/scene.frag.spv rename to shaders/glsl/pipelinestatistics/scene.frag.spv diff --git a/data/shaders/glsl/pipelinestatistics/scene.tesc b/shaders/glsl/pipelinestatistics/scene.tesc similarity index 100% rename from data/shaders/glsl/pipelinestatistics/scene.tesc rename to shaders/glsl/pipelinestatistics/scene.tesc diff --git a/data/shaders/glsl/pipelinestatistics/scene.tesc.spv b/shaders/glsl/pipelinestatistics/scene.tesc.spv similarity index 100% rename from data/shaders/glsl/pipelinestatistics/scene.tesc.spv rename to shaders/glsl/pipelinestatistics/scene.tesc.spv diff --git a/data/shaders/glsl/pipelinestatistics/scene.tese b/shaders/glsl/pipelinestatistics/scene.tese similarity index 100% rename from data/shaders/glsl/pipelinestatistics/scene.tese rename to shaders/glsl/pipelinestatistics/scene.tese diff --git a/data/shaders/glsl/pipelinestatistics/scene.tese.spv b/shaders/glsl/pipelinestatistics/scene.tese.spv similarity index 100% rename from data/shaders/glsl/pipelinestatistics/scene.tese.spv rename to shaders/glsl/pipelinestatistics/scene.tese.spv diff --git a/data/shaders/glsl/pipelinestatistics/scene.vert b/shaders/glsl/pipelinestatistics/scene.vert similarity index 100% rename from data/shaders/glsl/pipelinestatistics/scene.vert rename to shaders/glsl/pipelinestatistics/scene.vert diff --git a/data/shaders/glsl/pipelinestatistics/scene.vert.spv b/shaders/glsl/pipelinestatistics/scene.vert.spv similarity index 100% rename from data/shaders/glsl/pipelinestatistics/scene.vert.spv rename to shaders/glsl/pipelinestatistics/scene.vert.spv diff --git a/data/shaders/glsl/pushconstants/pushconstants.frag b/shaders/glsl/pushconstants/pushconstants.frag similarity index 100% rename from data/shaders/glsl/pushconstants/pushconstants.frag rename to shaders/glsl/pushconstants/pushconstants.frag diff --git a/data/shaders/glsl/pushconstants/pushconstants.frag.spv b/shaders/glsl/pushconstants/pushconstants.frag.spv similarity index 100% rename from data/shaders/glsl/pushconstants/pushconstants.frag.spv rename to shaders/glsl/pushconstants/pushconstants.frag.spv diff --git a/data/shaders/glsl/pushconstants/pushconstants.vert b/shaders/glsl/pushconstants/pushconstants.vert similarity index 100% rename from data/shaders/glsl/pushconstants/pushconstants.vert rename to shaders/glsl/pushconstants/pushconstants.vert diff --git a/data/shaders/glsl/pushconstants/pushconstants.vert.spv b/shaders/glsl/pushconstants/pushconstants.vert.spv similarity index 100% rename from data/shaders/glsl/pushconstants/pushconstants.vert.spv rename to shaders/glsl/pushconstants/pushconstants.vert.spv diff --git a/data/shaders/glsl/pushdescriptors/cube.frag b/shaders/glsl/pushdescriptors/cube.frag similarity index 100% rename from data/shaders/glsl/pushdescriptors/cube.frag rename to shaders/glsl/pushdescriptors/cube.frag diff --git a/data/shaders/glsl/pushdescriptors/cube.frag.spv b/shaders/glsl/pushdescriptors/cube.frag.spv similarity index 100% rename from data/shaders/glsl/pushdescriptors/cube.frag.spv rename to shaders/glsl/pushdescriptors/cube.frag.spv diff --git a/data/shaders/glsl/pushdescriptors/cube.vert b/shaders/glsl/pushdescriptors/cube.vert similarity index 100% rename from data/shaders/glsl/pushdescriptors/cube.vert rename to shaders/glsl/pushdescriptors/cube.vert diff --git a/data/shaders/glsl/pushdescriptors/cube.vert.spv b/shaders/glsl/pushdescriptors/cube.vert.spv similarity index 100% rename from data/shaders/glsl/pushdescriptors/cube.vert.spv rename to shaders/glsl/pushdescriptors/cube.vert.spv diff --git a/data/shaders/glsl/radialblur/colorpass.frag b/shaders/glsl/radialblur/colorpass.frag similarity index 100% rename from data/shaders/glsl/radialblur/colorpass.frag rename to shaders/glsl/radialblur/colorpass.frag diff --git a/data/shaders/glsl/radialblur/colorpass.frag.spv b/shaders/glsl/radialblur/colorpass.frag.spv similarity index 100% rename from data/shaders/glsl/radialblur/colorpass.frag.spv rename to shaders/glsl/radialblur/colorpass.frag.spv diff --git a/data/shaders/glsl/radialblur/colorpass.vert b/shaders/glsl/radialblur/colorpass.vert similarity index 100% rename from data/shaders/glsl/radialblur/colorpass.vert rename to shaders/glsl/radialblur/colorpass.vert diff --git a/data/shaders/glsl/radialblur/colorpass.vert.spv b/shaders/glsl/radialblur/colorpass.vert.spv similarity index 100% rename from data/shaders/glsl/radialblur/colorpass.vert.spv rename to shaders/glsl/radialblur/colorpass.vert.spv diff --git a/data/shaders/glsl/radialblur/phongpass.frag b/shaders/glsl/radialblur/phongpass.frag similarity index 100% rename from data/shaders/glsl/radialblur/phongpass.frag rename to shaders/glsl/radialblur/phongpass.frag diff --git a/data/shaders/glsl/radialblur/phongpass.frag.spv b/shaders/glsl/radialblur/phongpass.frag.spv similarity index 100% rename from data/shaders/glsl/radialblur/phongpass.frag.spv rename to shaders/glsl/radialblur/phongpass.frag.spv diff --git a/data/shaders/glsl/radialblur/phongpass.vert b/shaders/glsl/radialblur/phongpass.vert similarity index 100% rename from data/shaders/glsl/radialblur/phongpass.vert rename to shaders/glsl/radialblur/phongpass.vert diff --git a/data/shaders/glsl/radialblur/phongpass.vert.spv b/shaders/glsl/radialblur/phongpass.vert.spv similarity index 100% rename from data/shaders/glsl/radialblur/phongpass.vert.spv rename to shaders/glsl/radialblur/phongpass.vert.spv diff --git a/data/shaders/glsl/radialblur/radialblur.frag b/shaders/glsl/radialblur/radialblur.frag similarity index 100% rename from data/shaders/glsl/radialblur/radialblur.frag rename to shaders/glsl/radialblur/radialblur.frag diff --git a/data/shaders/glsl/radialblur/radialblur.frag.spv b/shaders/glsl/radialblur/radialblur.frag.spv similarity index 100% rename from data/shaders/glsl/radialblur/radialblur.frag.spv rename to shaders/glsl/radialblur/radialblur.frag.spv diff --git a/data/shaders/glsl/radialblur/radialblur.vert b/shaders/glsl/radialblur/radialblur.vert similarity index 100% rename from data/shaders/glsl/radialblur/radialblur.vert rename to shaders/glsl/radialblur/radialblur.vert diff --git a/data/shaders/glsl/radialblur/radialblur.vert.spv b/shaders/glsl/radialblur/radialblur.vert.spv similarity index 100% rename from data/shaders/glsl/radialblur/radialblur.vert.spv rename to shaders/glsl/radialblur/radialblur.vert.spv diff --git a/data/shaders/glsl/rayquery/scene.frag b/shaders/glsl/rayquery/scene.frag similarity index 100% rename from data/shaders/glsl/rayquery/scene.frag rename to shaders/glsl/rayquery/scene.frag diff --git a/data/shaders/glsl/rayquery/scene.frag.spv b/shaders/glsl/rayquery/scene.frag.spv similarity index 100% rename from data/shaders/glsl/rayquery/scene.frag.spv rename to shaders/glsl/rayquery/scene.frag.spv diff --git a/data/shaders/glsl/rayquery/scene.vert b/shaders/glsl/rayquery/scene.vert similarity index 100% rename from data/shaders/glsl/rayquery/scene.vert rename to shaders/glsl/rayquery/scene.vert diff --git a/data/shaders/glsl/rayquery/scene.vert.spv b/shaders/glsl/rayquery/scene.vert.spv similarity index 100% rename from data/shaders/glsl/rayquery/scene.vert.spv rename to shaders/glsl/rayquery/scene.vert.spv diff --git a/data/shaders/glsl/raytracingbasic/closesthit.rchit b/shaders/glsl/raytracingbasic/closesthit.rchit similarity index 100% rename from data/shaders/glsl/raytracingbasic/closesthit.rchit rename to shaders/glsl/raytracingbasic/closesthit.rchit diff --git a/data/shaders/glsl/raytracingbasic/closesthit.rchit.spv b/shaders/glsl/raytracingbasic/closesthit.rchit.spv similarity index 100% rename from data/shaders/glsl/raytracingbasic/closesthit.rchit.spv rename to shaders/glsl/raytracingbasic/closesthit.rchit.spv diff --git a/data/shaders/glsl/raytracingbasic/miss.rmiss b/shaders/glsl/raytracingbasic/miss.rmiss similarity index 100% rename from data/shaders/glsl/raytracingbasic/miss.rmiss rename to shaders/glsl/raytracingbasic/miss.rmiss diff --git a/data/shaders/glsl/raytracingbasic/miss.rmiss.spv b/shaders/glsl/raytracingbasic/miss.rmiss.spv similarity index 100% rename from data/shaders/glsl/raytracingbasic/miss.rmiss.spv rename to shaders/glsl/raytracingbasic/miss.rmiss.spv diff --git a/data/shaders/glsl/raytracingbasic/raygen.rgen b/shaders/glsl/raytracingbasic/raygen.rgen similarity index 100% rename from data/shaders/glsl/raytracingbasic/raygen.rgen rename to shaders/glsl/raytracingbasic/raygen.rgen diff --git a/data/shaders/glsl/raytracingbasic/raygen.rgen.spv b/shaders/glsl/raytracingbasic/raygen.rgen.spv similarity index 100% rename from data/shaders/glsl/raytracingbasic/raygen.rgen.spv rename to shaders/glsl/raytracingbasic/raygen.rgen.spv diff --git a/data/shaders/glsl/raytracingcallable/callable1.rcall b/shaders/glsl/raytracingcallable/callable1.rcall similarity index 100% rename from data/shaders/glsl/raytracingcallable/callable1.rcall rename to shaders/glsl/raytracingcallable/callable1.rcall diff --git a/data/shaders/glsl/raytracingcallable/callable1.rcall.spv b/shaders/glsl/raytracingcallable/callable1.rcall.spv similarity index 100% rename from data/shaders/glsl/raytracingcallable/callable1.rcall.spv rename to shaders/glsl/raytracingcallable/callable1.rcall.spv diff --git a/data/shaders/glsl/raytracingcallable/callable2.rcall b/shaders/glsl/raytracingcallable/callable2.rcall similarity index 100% rename from data/shaders/glsl/raytracingcallable/callable2.rcall rename to shaders/glsl/raytracingcallable/callable2.rcall diff --git a/data/shaders/glsl/raytracingcallable/callable2.rcall.spv b/shaders/glsl/raytracingcallable/callable2.rcall.spv similarity index 100% rename from data/shaders/glsl/raytracingcallable/callable2.rcall.spv rename to shaders/glsl/raytracingcallable/callable2.rcall.spv diff --git a/data/shaders/glsl/raytracingcallable/callable3.rcall b/shaders/glsl/raytracingcallable/callable3.rcall similarity index 100% rename from data/shaders/glsl/raytracingcallable/callable3.rcall rename to shaders/glsl/raytracingcallable/callable3.rcall diff --git a/data/shaders/glsl/raytracingcallable/callable3.rcall.spv b/shaders/glsl/raytracingcallable/callable3.rcall.spv similarity index 100% rename from data/shaders/glsl/raytracingcallable/callable3.rcall.spv rename to shaders/glsl/raytracingcallable/callable3.rcall.spv diff --git a/data/shaders/glsl/raytracingcallable/closesthit.rchit b/shaders/glsl/raytracingcallable/closesthit.rchit similarity index 100% rename from data/shaders/glsl/raytracingcallable/closesthit.rchit rename to shaders/glsl/raytracingcallable/closesthit.rchit diff --git a/data/shaders/glsl/raytracingcallable/closesthit.rchit.spv b/shaders/glsl/raytracingcallable/closesthit.rchit.spv similarity index 100% rename from data/shaders/glsl/raytracingcallable/closesthit.rchit.spv rename to shaders/glsl/raytracingcallable/closesthit.rchit.spv diff --git a/data/shaders/glsl/raytracingcallable/miss.rmiss b/shaders/glsl/raytracingcallable/miss.rmiss similarity index 100% rename from data/shaders/glsl/raytracingcallable/miss.rmiss rename to shaders/glsl/raytracingcallable/miss.rmiss diff --git a/data/shaders/glsl/raytracingcallable/miss.rmiss.spv b/shaders/glsl/raytracingcallable/miss.rmiss.spv similarity index 100% rename from data/shaders/glsl/raytracingcallable/miss.rmiss.spv rename to shaders/glsl/raytracingcallable/miss.rmiss.spv diff --git a/data/shaders/glsl/raytracingcallable/raygen.rgen b/shaders/glsl/raytracingcallable/raygen.rgen similarity index 100% rename from data/shaders/glsl/raytracingcallable/raygen.rgen rename to shaders/glsl/raytracingcallable/raygen.rgen diff --git a/data/shaders/glsl/raytracingcallable/raygen.rgen.spv b/shaders/glsl/raytracingcallable/raygen.rgen.spv similarity index 100% rename from data/shaders/glsl/raytracingcallable/raygen.rgen.spv rename to shaders/glsl/raytracingcallable/raygen.rgen.spv diff --git a/data/shaders/glsl/raytracingreflections/closesthit.rchit b/shaders/glsl/raytracingreflections/closesthit.rchit similarity index 100% rename from data/shaders/glsl/raytracingreflections/closesthit.rchit rename to shaders/glsl/raytracingreflections/closesthit.rchit diff --git a/data/shaders/glsl/raytracingreflections/closesthit.rchit.spv b/shaders/glsl/raytracingreflections/closesthit.rchit.spv similarity index 100% rename from data/shaders/glsl/raytracingreflections/closesthit.rchit.spv rename to shaders/glsl/raytracingreflections/closesthit.rchit.spv diff --git a/data/shaders/glsl/raytracingreflections/miss.rmiss b/shaders/glsl/raytracingreflections/miss.rmiss similarity index 100% rename from data/shaders/glsl/raytracingreflections/miss.rmiss rename to shaders/glsl/raytracingreflections/miss.rmiss diff --git a/data/shaders/glsl/raytracingreflections/miss.rmiss.spv b/shaders/glsl/raytracingreflections/miss.rmiss.spv similarity index 100% rename from data/shaders/glsl/raytracingreflections/miss.rmiss.spv rename to shaders/glsl/raytracingreflections/miss.rmiss.spv diff --git a/data/shaders/glsl/raytracingreflections/raygen.rgen b/shaders/glsl/raytracingreflections/raygen.rgen similarity index 100% rename from data/shaders/glsl/raytracingreflections/raygen.rgen rename to shaders/glsl/raytracingreflections/raygen.rgen diff --git a/data/shaders/glsl/raytracingreflections/raygen.rgen.spv b/shaders/glsl/raytracingreflections/raygen.rgen.spv similarity index 100% rename from data/shaders/glsl/raytracingreflections/raygen.rgen.spv rename to shaders/glsl/raytracingreflections/raygen.rgen.spv diff --git a/data/shaders/glsl/raytracingsbtdata/closesthit.rchit b/shaders/glsl/raytracingsbtdata/closesthit.rchit similarity index 100% rename from data/shaders/glsl/raytracingsbtdata/closesthit.rchit rename to shaders/glsl/raytracingsbtdata/closesthit.rchit diff --git a/data/shaders/glsl/raytracingsbtdata/closesthit.rchit.spv b/shaders/glsl/raytracingsbtdata/closesthit.rchit.spv similarity index 100% rename from data/shaders/glsl/raytracingsbtdata/closesthit.rchit.spv rename to shaders/glsl/raytracingsbtdata/closesthit.rchit.spv diff --git a/data/shaders/glsl/raytracingsbtdata/miss.rmiss b/shaders/glsl/raytracingsbtdata/miss.rmiss similarity index 100% rename from data/shaders/glsl/raytracingsbtdata/miss.rmiss rename to shaders/glsl/raytracingsbtdata/miss.rmiss diff --git a/data/shaders/glsl/raytracingsbtdata/miss.rmiss.spv b/shaders/glsl/raytracingsbtdata/miss.rmiss.spv similarity index 100% rename from data/shaders/glsl/raytracingsbtdata/miss.rmiss.spv rename to shaders/glsl/raytracingsbtdata/miss.rmiss.spv diff --git a/data/shaders/glsl/raytracingsbtdata/raygen.rgen b/shaders/glsl/raytracingsbtdata/raygen.rgen similarity index 100% rename from data/shaders/glsl/raytracingsbtdata/raygen.rgen rename to shaders/glsl/raytracingsbtdata/raygen.rgen diff --git a/data/shaders/glsl/raytracingsbtdata/raygen.rgen.spv b/shaders/glsl/raytracingsbtdata/raygen.rgen.spv similarity index 100% rename from data/shaders/glsl/raytracingsbtdata/raygen.rgen.spv rename to shaders/glsl/raytracingsbtdata/raygen.rgen.spv diff --git a/data/shaders/glsl/raytracingshadows/closesthit.rchit b/shaders/glsl/raytracingshadows/closesthit.rchit similarity index 100% rename from data/shaders/glsl/raytracingshadows/closesthit.rchit rename to shaders/glsl/raytracingshadows/closesthit.rchit diff --git a/data/shaders/glsl/raytracingshadows/closesthit.rchit.spv b/shaders/glsl/raytracingshadows/closesthit.rchit.spv similarity index 100% rename from data/shaders/glsl/raytracingshadows/closesthit.rchit.spv rename to shaders/glsl/raytracingshadows/closesthit.rchit.spv diff --git a/data/shaders/glsl/raytracingshadows/miss.rmiss b/shaders/glsl/raytracingshadows/miss.rmiss similarity index 100% rename from data/shaders/glsl/raytracingshadows/miss.rmiss rename to shaders/glsl/raytracingshadows/miss.rmiss diff --git a/data/shaders/glsl/raytracingshadows/miss.rmiss.spv b/shaders/glsl/raytracingshadows/miss.rmiss.spv similarity index 100% rename from data/shaders/glsl/raytracingshadows/miss.rmiss.spv rename to shaders/glsl/raytracingshadows/miss.rmiss.spv diff --git a/data/shaders/glsl/raytracingshadows/raygen.rgen b/shaders/glsl/raytracingshadows/raygen.rgen similarity index 100% rename from data/shaders/glsl/raytracingshadows/raygen.rgen rename to shaders/glsl/raytracingshadows/raygen.rgen diff --git a/data/shaders/glsl/raytracingshadows/raygen.rgen.spv b/shaders/glsl/raytracingshadows/raygen.rgen.spv similarity index 100% rename from data/shaders/glsl/raytracingshadows/raygen.rgen.spv rename to shaders/glsl/raytracingshadows/raygen.rgen.spv diff --git a/data/shaders/glsl/raytracingshadows/shadow.rmiss b/shaders/glsl/raytracingshadows/shadow.rmiss similarity index 100% rename from data/shaders/glsl/raytracingshadows/shadow.rmiss rename to shaders/glsl/raytracingshadows/shadow.rmiss diff --git a/data/shaders/glsl/raytracingshadows/shadow.rmiss.spv b/shaders/glsl/raytracingshadows/shadow.rmiss.spv similarity index 100% rename from data/shaders/glsl/raytracingshadows/shadow.rmiss.spv rename to shaders/glsl/raytracingshadows/shadow.rmiss.spv diff --git a/data/shaders/glsl/raytracingtextures/anyhit.rahit b/shaders/glsl/raytracingtextures/anyhit.rahit similarity index 100% rename from data/shaders/glsl/raytracingtextures/anyhit.rahit rename to shaders/glsl/raytracingtextures/anyhit.rahit diff --git a/data/shaders/glsl/raytracingtextures/anyhit.rahit.spv b/shaders/glsl/raytracingtextures/anyhit.rahit.spv similarity index 100% rename from data/shaders/glsl/raytracingtextures/anyhit.rahit.spv rename to shaders/glsl/raytracingtextures/anyhit.rahit.spv diff --git a/data/shaders/glsl/raytracingtextures/bufferreferences.glsl b/shaders/glsl/raytracingtextures/bufferreferences.glsl similarity index 100% rename from data/shaders/glsl/raytracingtextures/bufferreferences.glsl rename to shaders/glsl/raytracingtextures/bufferreferences.glsl diff --git a/data/shaders/glsl/raytracingtextures/closesthit.rchit b/shaders/glsl/raytracingtextures/closesthit.rchit similarity index 100% rename from data/shaders/glsl/raytracingtextures/closesthit.rchit rename to shaders/glsl/raytracingtextures/closesthit.rchit diff --git a/data/shaders/glsl/raytracingtextures/closesthit.rchit.spv b/shaders/glsl/raytracingtextures/closesthit.rchit.spv similarity index 100% rename from data/shaders/glsl/raytracingtextures/closesthit.rchit.spv rename to shaders/glsl/raytracingtextures/closesthit.rchit.spv diff --git a/data/shaders/glsl/raytracingtextures/geometrytypes.glsl b/shaders/glsl/raytracingtextures/geometrytypes.glsl similarity index 100% rename from data/shaders/glsl/raytracingtextures/geometrytypes.glsl rename to shaders/glsl/raytracingtextures/geometrytypes.glsl diff --git a/data/shaders/glsl/raytracingtextures/miss.rmiss b/shaders/glsl/raytracingtextures/miss.rmiss similarity index 100% rename from data/shaders/glsl/raytracingtextures/miss.rmiss rename to shaders/glsl/raytracingtextures/miss.rmiss diff --git a/data/shaders/glsl/raytracingtextures/miss.rmiss.spv b/shaders/glsl/raytracingtextures/miss.rmiss.spv similarity index 100% rename from data/shaders/glsl/raytracingtextures/miss.rmiss.spv rename to shaders/glsl/raytracingtextures/miss.rmiss.spv diff --git a/data/shaders/glsl/raytracingtextures/raygen.rgen b/shaders/glsl/raytracingtextures/raygen.rgen similarity index 100% rename from data/shaders/glsl/raytracingtextures/raygen.rgen rename to shaders/glsl/raytracingtextures/raygen.rgen diff --git a/data/shaders/glsl/raytracingtextures/raygen.rgen.spv b/shaders/glsl/raytracingtextures/raygen.rgen.spv similarity index 100% rename from data/shaders/glsl/raytracingtextures/raygen.rgen.spv rename to shaders/glsl/raytracingtextures/raygen.rgen.spv diff --git a/data/shaders/glsl/renderheadless/triangle.frag b/shaders/glsl/renderheadless/triangle.frag similarity index 100% rename from data/shaders/glsl/renderheadless/triangle.frag rename to shaders/glsl/renderheadless/triangle.frag diff --git a/data/shaders/glsl/renderheadless/triangle.frag.spv b/shaders/glsl/renderheadless/triangle.frag.spv similarity index 100% rename from data/shaders/glsl/renderheadless/triangle.frag.spv rename to shaders/glsl/renderheadless/triangle.frag.spv diff --git a/data/shaders/glsl/renderheadless/triangle.vert b/shaders/glsl/renderheadless/triangle.vert similarity index 100% rename from data/shaders/glsl/renderheadless/triangle.vert rename to shaders/glsl/renderheadless/triangle.vert diff --git a/data/shaders/glsl/renderheadless/triangle.vert.spv b/shaders/glsl/renderheadless/triangle.vert.spv similarity index 100% rename from data/shaders/glsl/renderheadless/triangle.vert.spv rename to shaders/glsl/renderheadless/triangle.vert.spv diff --git a/data/shaders/glsl/screenshot/mesh.frag b/shaders/glsl/screenshot/mesh.frag similarity index 100% rename from data/shaders/glsl/screenshot/mesh.frag rename to shaders/glsl/screenshot/mesh.frag diff --git a/data/shaders/glsl/screenshot/mesh.frag.spv b/shaders/glsl/screenshot/mesh.frag.spv similarity index 100% rename from data/shaders/glsl/screenshot/mesh.frag.spv rename to shaders/glsl/screenshot/mesh.frag.spv diff --git a/data/shaders/glsl/screenshot/mesh.vert b/shaders/glsl/screenshot/mesh.vert similarity index 100% rename from data/shaders/glsl/screenshot/mesh.vert rename to shaders/glsl/screenshot/mesh.vert diff --git a/data/shaders/glsl/screenshot/mesh.vert.spv b/shaders/glsl/screenshot/mesh.vert.spv similarity index 100% rename from data/shaders/glsl/screenshot/mesh.vert.spv rename to shaders/glsl/screenshot/mesh.vert.spv diff --git a/data/shaders/glsl/shaderobjects/phong.frag b/shaders/glsl/shaderobjects/phong.frag similarity index 100% rename from data/shaders/glsl/shaderobjects/phong.frag rename to shaders/glsl/shaderobjects/phong.frag diff --git a/data/shaders/glsl/shaderobjects/phong.frag.spv b/shaders/glsl/shaderobjects/phong.frag.spv similarity index 100% rename from data/shaders/glsl/shaderobjects/phong.frag.spv rename to shaders/glsl/shaderobjects/phong.frag.spv diff --git a/data/shaders/glsl/shaderobjects/phong.vert b/shaders/glsl/shaderobjects/phong.vert similarity index 100% rename from data/shaders/glsl/shaderobjects/phong.vert rename to shaders/glsl/shaderobjects/phong.vert diff --git a/data/shaders/glsl/shaderobjects/phong.vert.spv b/shaders/glsl/shaderobjects/phong.vert.spv similarity index 100% rename from data/shaders/glsl/shaderobjects/phong.vert.spv rename to shaders/glsl/shaderobjects/phong.vert.spv diff --git a/data/shaders/glsl/shadowmapping/offscreen.frag b/shaders/glsl/shadowmapping/offscreen.frag similarity index 100% rename from data/shaders/glsl/shadowmapping/offscreen.frag rename to shaders/glsl/shadowmapping/offscreen.frag diff --git a/data/shaders/glsl/shadowmapping/offscreen.frag.spv b/shaders/glsl/shadowmapping/offscreen.frag.spv similarity index 100% rename from data/shaders/glsl/shadowmapping/offscreen.frag.spv rename to shaders/glsl/shadowmapping/offscreen.frag.spv diff --git a/data/shaders/glsl/shadowmapping/offscreen.vert b/shaders/glsl/shadowmapping/offscreen.vert similarity index 100% rename from data/shaders/glsl/shadowmapping/offscreen.vert rename to shaders/glsl/shadowmapping/offscreen.vert diff --git a/data/shaders/glsl/shadowmapping/offscreen.vert.spv b/shaders/glsl/shadowmapping/offscreen.vert.spv similarity index 100% rename from data/shaders/glsl/shadowmapping/offscreen.vert.spv rename to shaders/glsl/shadowmapping/offscreen.vert.spv diff --git a/data/shaders/glsl/shadowmapping/quad.frag b/shaders/glsl/shadowmapping/quad.frag similarity index 100% rename from data/shaders/glsl/shadowmapping/quad.frag rename to shaders/glsl/shadowmapping/quad.frag diff --git a/data/shaders/glsl/shadowmapping/quad.frag.spv b/shaders/glsl/shadowmapping/quad.frag.spv similarity index 100% rename from data/shaders/glsl/shadowmapping/quad.frag.spv rename to shaders/glsl/shadowmapping/quad.frag.spv diff --git a/data/shaders/glsl/shadowmapping/quad.vert b/shaders/glsl/shadowmapping/quad.vert similarity index 100% rename from data/shaders/glsl/shadowmapping/quad.vert rename to shaders/glsl/shadowmapping/quad.vert diff --git a/data/shaders/glsl/shadowmapping/quad.vert.spv b/shaders/glsl/shadowmapping/quad.vert.spv similarity index 100% rename from data/shaders/glsl/shadowmapping/quad.vert.spv rename to shaders/glsl/shadowmapping/quad.vert.spv diff --git a/data/shaders/glsl/shadowmapping/scene.frag b/shaders/glsl/shadowmapping/scene.frag similarity index 100% rename from data/shaders/glsl/shadowmapping/scene.frag rename to shaders/glsl/shadowmapping/scene.frag diff --git a/data/shaders/glsl/shadowmapping/scene.frag.spv b/shaders/glsl/shadowmapping/scene.frag.spv similarity index 100% rename from data/shaders/glsl/shadowmapping/scene.frag.spv rename to shaders/glsl/shadowmapping/scene.frag.spv diff --git a/data/shaders/glsl/shadowmapping/scene.vert b/shaders/glsl/shadowmapping/scene.vert similarity index 100% rename from data/shaders/glsl/shadowmapping/scene.vert rename to shaders/glsl/shadowmapping/scene.vert diff --git a/data/shaders/glsl/shadowmapping/scene.vert.spv b/shaders/glsl/shadowmapping/scene.vert.spv similarity index 100% rename from data/shaders/glsl/shadowmapping/scene.vert.spv rename to shaders/glsl/shadowmapping/scene.vert.spv diff --git a/data/shaders/glsl/shadowmappingcascade/debugshadowmap.frag b/shaders/glsl/shadowmappingcascade/debugshadowmap.frag similarity index 100% rename from data/shaders/glsl/shadowmappingcascade/debugshadowmap.frag rename to shaders/glsl/shadowmappingcascade/debugshadowmap.frag diff --git a/data/shaders/glsl/shadowmappingcascade/debugshadowmap.frag.spv b/shaders/glsl/shadowmappingcascade/debugshadowmap.frag.spv similarity index 100% rename from data/shaders/glsl/shadowmappingcascade/debugshadowmap.frag.spv rename to shaders/glsl/shadowmappingcascade/debugshadowmap.frag.spv diff --git a/data/shaders/glsl/shadowmappingcascade/debugshadowmap.vert b/shaders/glsl/shadowmappingcascade/debugshadowmap.vert similarity index 100% rename from data/shaders/glsl/shadowmappingcascade/debugshadowmap.vert rename to shaders/glsl/shadowmappingcascade/debugshadowmap.vert diff --git a/data/shaders/glsl/shadowmappingcascade/debugshadowmap.vert.spv b/shaders/glsl/shadowmappingcascade/debugshadowmap.vert.spv similarity index 100% rename from data/shaders/glsl/shadowmappingcascade/debugshadowmap.vert.spv rename to shaders/glsl/shadowmappingcascade/debugshadowmap.vert.spv diff --git a/data/shaders/glsl/shadowmappingcascade/depthpass.frag b/shaders/glsl/shadowmappingcascade/depthpass.frag similarity index 100% rename from data/shaders/glsl/shadowmappingcascade/depthpass.frag rename to shaders/glsl/shadowmappingcascade/depthpass.frag diff --git a/data/shaders/glsl/shadowmappingcascade/depthpass.frag.spv b/shaders/glsl/shadowmappingcascade/depthpass.frag.spv similarity index 100% rename from data/shaders/glsl/shadowmappingcascade/depthpass.frag.spv rename to shaders/glsl/shadowmappingcascade/depthpass.frag.spv diff --git a/data/shaders/glsl/shadowmappingcascade/depthpass.vert b/shaders/glsl/shadowmappingcascade/depthpass.vert similarity index 100% rename from data/shaders/glsl/shadowmappingcascade/depthpass.vert rename to shaders/glsl/shadowmappingcascade/depthpass.vert diff --git a/data/shaders/glsl/shadowmappingcascade/depthpass.vert.spv b/shaders/glsl/shadowmappingcascade/depthpass.vert.spv similarity index 100% rename from data/shaders/glsl/shadowmappingcascade/depthpass.vert.spv rename to shaders/glsl/shadowmappingcascade/depthpass.vert.spv diff --git a/data/shaders/glsl/shadowmappingcascade/scene.frag b/shaders/glsl/shadowmappingcascade/scene.frag similarity index 100% rename from data/shaders/glsl/shadowmappingcascade/scene.frag rename to shaders/glsl/shadowmappingcascade/scene.frag diff --git a/data/shaders/glsl/shadowmappingcascade/scene.frag.spv b/shaders/glsl/shadowmappingcascade/scene.frag.spv similarity index 100% rename from data/shaders/glsl/shadowmappingcascade/scene.frag.spv rename to shaders/glsl/shadowmappingcascade/scene.frag.spv diff --git a/data/shaders/glsl/shadowmappingcascade/scene.vert b/shaders/glsl/shadowmappingcascade/scene.vert similarity index 100% rename from data/shaders/glsl/shadowmappingcascade/scene.vert rename to shaders/glsl/shadowmappingcascade/scene.vert diff --git a/data/shaders/glsl/shadowmappingcascade/scene.vert.spv b/shaders/glsl/shadowmappingcascade/scene.vert.spv similarity index 100% rename from data/shaders/glsl/shadowmappingcascade/scene.vert.spv rename to shaders/glsl/shadowmappingcascade/scene.vert.spv diff --git a/data/shaders/glsl/shadowmappingomni/cubemapdisplay.frag b/shaders/glsl/shadowmappingomni/cubemapdisplay.frag similarity index 100% rename from data/shaders/glsl/shadowmappingomni/cubemapdisplay.frag rename to shaders/glsl/shadowmappingomni/cubemapdisplay.frag diff --git a/data/shaders/glsl/shadowmappingomni/cubemapdisplay.frag.spv b/shaders/glsl/shadowmappingomni/cubemapdisplay.frag.spv similarity index 100% rename from data/shaders/glsl/shadowmappingomni/cubemapdisplay.frag.spv rename to shaders/glsl/shadowmappingomni/cubemapdisplay.frag.spv diff --git a/data/shaders/glsl/shadowmappingomni/cubemapdisplay.vert b/shaders/glsl/shadowmappingomni/cubemapdisplay.vert similarity index 100% rename from data/shaders/glsl/shadowmappingomni/cubemapdisplay.vert rename to shaders/glsl/shadowmappingomni/cubemapdisplay.vert diff --git a/data/shaders/glsl/shadowmappingomni/cubemapdisplay.vert.spv b/shaders/glsl/shadowmappingomni/cubemapdisplay.vert.spv similarity index 100% rename from data/shaders/glsl/shadowmappingomni/cubemapdisplay.vert.spv rename to shaders/glsl/shadowmappingomni/cubemapdisplay.vert.spv diff --git a/data/shaders/glsl/shadowmappingomni/offscreen.frag b/shaders/glsl/shadowmappingomni/offscreen.frag similarity index 100% rename from data/shaders/glsl/shadowmappingomni/offscreen.frag rename to shaders/glsl/shadowmappingomni/offscreen.frag diff --git a/data/shaders/glsl/shadowmappingomni/offscreen.frag.spv b/shaders/glsl/shadowmappingomni/offscreen.frag.spv similarity index 100% rename from data/shaders/glsl/shadowmappingomni/offscreen.frag.spv rename to shaders/glsl/shadowmappingomni/offscreen.frag.spv diff --git a/data/shaders/glsl/shadowmappingomni/offscreen.vert b/shaders/glsl/shadowmappingomni/offscreen.vert similarity index 100% rename from data/shaders/glsl/shadowmappingomni/offscreen.vert rename to shaders/glsl/shadowmappingomni/offscreen.vert diff --git a/data/shaders/glsl/shadowmappingomni/offscreen.vert.spv b/shaders/glsl/shadowmappingomni/offscreen.vert.spv similarity index 100% rename from data/shaders/glsl/shadowmappingomni/offscreen.vert.spv rename to shaders/glsl/shadowmappingomni/offscreen.vert.spv diff --git a/data/shaders/glsl/shadowmappingomni/scene.frag b/shaders/glsl/shadowmappingomni/scene.frag similarity index 100% rename from data/shaders/glsl/shadowmappingomni/scene.frag rename to shaders/glsl/shadowmappingomni/scene.frag diff --git a/data/shaders/glsl/shadowmappingomni/scene.frag.spv b/shaders/glsl/shadowmappingomni/scene.frag.spv similarity index 100% rename from data/shaders/glsl/shadowmappingomni/scene.frag.spv rename to shaders/glsl/shadowmappingomni/scene.frag.spv diff --git a/data/shaders/glsl/shadowmappingomni/scene.vert b/shaders/glsl/shadowmappingomni/scene.vert similarity index 100% rename from data/shaders/glsl/shadowmappingomni/scene.vert rename to shaders/glsl/shadowmappingomni/scene.vert diff --git a/data/shaders/glsl/shadowmappingomni/scene.vert.spv b/shaders/glsl/shadowmappingomni/scene.vert.spv similarity index 100% rename from data/shaders/glsl/shadowmappingomni/scene.vert.spv rename to shaders/glsl/shadowmappingomni/scene.vert.spv diff --git a/data/shaders/glsl/specializationconstants/uber.frag b/shaders/glsl/specializationconstants/uber.frag similarity index 100% rename from data/shaders/glsl/specializationconstants/uber.frag rename to shaders/glsl/specializationconstants/uber.frag diff --git a/data/shaders/glsl/specializationconstants/uber.frag.spv b/shaders/glsl/specializationconstants/uber.frag.spv similarity index 100% rename from data/shaders/glsl/specializationconstants/uber.frag.spv rename to shaders/glsl/specializationconstants/uber.frag.spv diff --git a/data/shaders/glsl/specializationconstants/uber.vert b/shaders/glsl/specializationconstants/uber.vert similarity index 100% rename from data/shaders/glsl/specializationconstants/uber.vert rename to shaders/glsl/specializationconstants/uber.vert diff --git a/data/shaders/glsl/specializationconstants/uber.vert.spv b/shaders/glsl/specializationconstants/uber.vert.spv similarity index 100% rename from data/shaders/glsl/specializationconstants/uber.vert.spv rename to shaders/glsl/specializationconstants/uber.vert.spv diff --git a/data/shaders/glsl/sphericalenvmapping/sem.frag b/shaders/glsl/sphericalenvmapping/sem.frag similarity index 100% rename from data/shaders/glsl/sphericalenvmapping/sem.frag rename to shaders/glsl/sphericalenvmapping/sem.frag diff --git a/data/shaders/glsl/sphericalenvmapping/sem.frag.spv b/shaders/glsl/sphericalenvmapping/sem.frag.spv similarity index 100% rename from data/shaders/glsl/sphericalenvmapping/sem.frag.spv rename to shaders/glsl/sphericalenvmapping/sem.frag.spv diff --git a/data/shaders/glsl/sphericalenvmapping/sem.vert b/shaders/glsl/sphericalenvmapping/sem.vert similarity index 100% rename from data/shaders/glsl/sphericalenvmapping/sem.vert rename to shaders/glsl/sphericalenvmapping/sem.vert diff --git a/data/shaders/glsl/sphericalenvmapping/sem.vert.spv b/shaders/glsl/sphericalenvmapping/sem.vert.spv similarity index 100% rename from data/shaders/glsl/sphericalenvmapping/sem.vert.spv rename to shaders/glsl/sphericalenvmapping/sem.vert.spv diff --git a/data/shaders/glsl/ssao/blur.frag b/shaders/glsl/ssao/blur.frag similarity index 100% rename from data/shaders/glsl/ssao/blur.frag rename to shaders/glsl/ssao/blur.frag diff --git a/data/shaders/glsl/ssao/blur.frag.spv b/shaders/glsl/ssao/blur.frag.spv similarity index 100% rename from data/shaders/glsl/ssao/blur.frag.spv rename to shaders/glsl/ssao/blur.frag.spv diff --git a/data/shaders/glsl/ssao/composition.frag b/shaders/glsl/ssao/composition.frag similarity index 100% rename from data/shaders/glsl/ssao/composition.frag rename to shaders/glsl/ssao/composition.frag diff --git a/data/shaders/glsl/ssao/composition.frag.spv b/shaders/glsl/ssao/composition.frag.spv similarity index 100% rename from data/shaders/glsl/ssao/composition.frag.spv rename to shaders/glsl/ssao/composition.frag.spv diff --git a/data/shaders/glsl/ssao/fullscreen.vert b/shaders/glsl/ssao/fullscreen.vert similarity index 100% rename from data/shaders/glsl/ssao/fullscreen.vert rename to shaders/glsl/ssao/fullscreen.vert diff --git a/data/shaders/glsl/ssao/fullscreen.vert.spv b/shaders/glsl/ssao/fullscreen.vert.spv similarity index 100% rename from data/shaders/glsl/ssao/fullscreen.vert.spv rename to shaders/glsl/ssao/fullscreen.vert.spv diff --git a/data/shaders/glsl/ssao/gbuffer.frag b/shaders/glsl/ssao/gbuffer.frag similarity index 100% rename from data/shaders/glsl/ssao/gbuffer.frag rename to shaders/glsl/ssao/gbuffer.frag diff --git a/data/shaders/glsl/ssao/gbuffer.frag.spv b/shaders/glsl/ssao/gbuffer.frag.spv similarity index 100% rename from data/shaders/glsl/ssao/gbuffer.frag.spv rename to shaders/glsl/ssao/gbuffer.frag.spv diff --git a/data/shaders/glsl/ssao/gbuffer.vert b/shaders/glsl/ssao/gbuffer.vert similarity index 100% rename from data/shaders/glsl/ssao/gbuffer.vert rename to shaders/glsl/ssao/gbuffer.vert diff --git a/data/shaders/glsl/ssao/gbuffer.vert.spv b/shaders/glsl/ssao/gbuffer.vert.spv similarity index 100% rename from data/shaders/glsl/ssao/gbuffer.vert.spv rename to shaders/glsl/ssao/gbuffer.vert.spv diff --git a/data/shaders/glsl/ssao/ssao.frag b/shaders/glsl/ssao/ssao.frag similarity index 100% rename from data/shaders/glsl/ssao/ssao.frag rename to shaders/glsl/ssao/ssao.frag diff --git a/data/shaders/glsl/ssao/ssao.frag.spv b/shaders/glsl/ssao/ssao.frag.spv similarity index 100% rename from data/shaders/glsl/ssao/ssao.frag.spv rename to shaders/glsl/ssao/ssao.frag.spv diff --git a/data/shaders/glsl/stencilbuffer/outline.frag b/shaders/glsl/stencilbuffer/outline.frag similarity index 100% rename from data/shaders/glsl/stencilbuffer/outline.frag rename to shaders/glsl/stencilbuffer/outline.frag diff --git a/data/shaders/glsl/stencilbuffer/outline.frag.spv b/shaders/glsl/stencilbuffer/outline.frag.spv similarity index 100% rename from data/shaders/glsl/stencilbuffer/outline.frag.spv rename to shaders/glsl/stencilbuffer/outline.frag.spv diff --git a/data/shaders/glsl/stencilbuffer/outline.vert b/shaders/glsl/stencilbuffer/outline.vert similarity index 100% rename from data/shaders/glsl/stencilbuffer/outline.vert rename to shaders/glsl/stencilbuffer/outline.vert diff --git a/data/shaders/glsl/stencilbuffer/outline.vert.spv b/shaders/glsl/stencilbuffer/outline.vert.spv similarity index 100% rename from data/shaders/glsl/stencilbuffer/outline.vert.spv rename to shaders/glsl/stencilbuffer/outline.vert.spv diff --git a/data/shaders/glsl/stencilbuffer/toon.frag b/shaders/glsl/stencilbuffer/toon.frag similarity index 100% rename from data/shaders/glsl/stencilbuffer/toon.frag rename to shaders/glsl/stencilbuffer/toon.frag diff --git a/data/shaders/glsl/stencilbuffer/toon.frag.spv b/shaders/glsl/stencilbuffer/toon.frag.spv similarity index 100% rename from data/shaders/glsl/stencilbuffer/toon.frag.spv rename to shaders/glsl/stencilbuffer/toon.frag.spv diff --git a/data/shaders/glsl/stencilbuffer/toon.vert b/shaders/glsl/stencilbuffer/toon.vert similarity index 100% rename from data/shaders/glsl/stencilbuffer/toon.vert rename to shaders/glsl/stencilbuffer/toon.vert diff --git a/data/shaders/glsl/stencilbuffer/toon.vert.spv b/shaders/glsl/stencilbuffer/toon.vert.spv similarity index 100% rename from data/shaders/glsl/stencilbuffer/toon.vert.spv rename to shaders/glsl/stencilbuffer/toon.vert.spv diff --git a/data/shaders/glsl/subpasses/composition.frag b/shaders/glsl/subpasses/composition.frag similarity index 100% rename from data/shaders/glsl/subpasses/composition.frag rename to shaders/glsl/subpasses/composition.frag diff --git a/data/shaders/glsl/subpasses/composition.frag.spv b/shaders/glsl/subpasses/composition.frag.spv similarity index 100% rename from data/shaders/glsl/subpasses/composition.frag.spv rename to shaders/glsl/subpasses/composition.frag.spv diff --git a/data/shaders/glsl/subpasses/composition.vert b/shaders/glsl/subpasses/composition.vert similarity index 100% rename from data/shaders/glsl/subpasses/composition.vert rename to shaders/glsl/subpasses/composition.vert diff --git a/data/shaders/glsl/subpasses/composition.vert.spv b/shaders/glsl/subpasses/composition.vert.spv similarity index 100% rename from data/shaders/glsl/subpasses/composition.vert.spv rename to shaders/glsl/subpasses/composition.vert.spv diff --git a/data/shaders/glsl/subpasses/gbuffer.frag b/shaders/glsl/subpasses/gbuffer.frag similarity index 100% rename from data/shaders/glsl/subpasses/gbuffer.frag rename to shaders/glsl/subpasses/gbuffer.frag diff --git a/data/shaders/glsl/subpasses/gbuffer.frag.spv b/shaders/glsl/subpasses/gbuffer.frag.spv similarity index 100% rename from data/shaders/glsl/subpasses/gbuffer.frag.spv rename to shaders/glsl/subpasses/gbuffer.frag.spv diff --git a/data/shaders/glsl/subpasses/gbuffer.vert b/shaders/glsl/subpasses/gbuffer.vert similarity index 100% rename from data/shaders/glsl/subpasses/gbuffer.vert rename to shaders/glsl/subpasses/gbuffer.vert diff --git a/data/shaders/glsl/subpasses/gbuffer.vert.spv b/shaders/glsl/subpasses/gbuffer.vert.spv similarity index 100% rename from data/shaders/glsl/subpasses/gbuffer.vert.spv rename to shaders/glsl/subpasses/gbuffer.vert.spv diff --git a/data/shaders/glsl/subpasses/transparent.frag b/shaders/glsl/subpasses/transparent.frag similarity index 100% rename from data/shaders/glsl/subpasses/transparent.frag rename to shaders/glsl/subpasses/transparent.frag diff --git a/data/shaders/glsl/subpasses/transparent.frag.spv b/shaders/glsl/subpasses/transparent.frag.spv similarity index 100% rename from data/shaders/glsl/subpasses/transparent.frag.spv rename to shaders/glsl/subpasses/transparent.frag.spv diff --git a/data/shaders/glsl/subpasses/transparent.vert b/shaders/glsl/subpasses/transparent.vert similarity index 100% rename from data/shaders/glsl/subpasses/transparent.vert rename to shaders/glsl/subpasses/transparent.vert diff --git a/data/shaders/glsl/subpasses/transparent.vert.spv b/shaders/glsl/subpasses/transparent.vert.spv similarity index 100% rename from data/shaders/glsl/subpasses/transparent.vert.spv rename to shaders/glsl/subpasses/transparent.vert.spv diff --git a/data/shaders/glsl/terraintessellation/skysphere.frag b/shaders/glsl/terraintessellation/skysphere.frag similarity index 100% rename from data/shaders/glsl/terraintessellation/skysphere.frag rename to shaders/glsl/terraintessellation/skysphere.frag diff --git a/data/shaders/glsl/terraintessellation/skysphere.frag.spv b/shaders/glsl/terraintessellation/skysphere.frag.spv similarity index 100% rename from data/shaders/glsl/terraintessellation/skysphere.frag.spv rename to shaders/glsl/terraintessellation/skysphere.frag.spv diff --git a/data/shaders/glsl/terraintessellation/skysphere.vert b/shaders/glsl/terraintessellation/skysphere.vert similarity index 100% rename from data/shaders/glsl/terraintessellation/skysphere.vert rename to shaders/glsl/terraintessellation/skysphere.vert diff --git a/data/shaders/glsl/terraintessellation/skysphere.vert.spv b/shaders/glsl/terraintessellation/skysphere.vert.spv similarity index 100% rename from data/shaders/glsl/terraintessellation/skysphere.vert.spv rename to shaders/glsl/terraintessellation/skysphere.vert.spv diff --git a/data/shaders/glsl/terraintessellation/terrain.frag b/shaders/glsl/terraintessellation/terrain.frag similarity index 100% rename from data/shaders/glsl/terraintessellation/terrain.frag rename to shaders/glsl/terraintessellation/terrain.frag diff --git a/data/shaders/glsl/terraintessellation/terrain.frag.spv b/shaders/glsl/terraintessellation/terrain.frag.spv similarity index 100% rename from data/shaders/glsl/terraintessellation/terrain.frag.spv rename to shaders/glsl/terraintessellation/terrain.frag.spv diff --git a/data/shaders/glsl/terraintessellation/terrain.tesc b/shaders/glsl/terraintessellation/terrain.tesc similarity index 100% rename from data/shaders/glsl/terraintessellation/terrain.tesc rename to shaders/glsl/terraintessellation/terrain.tesc diff --git a/data/shaders/glsl/terraintessellation/terrain.tesc.spv b/shaders/glsl/terraintessellation/terrain.tesc.spv similarity index 100% rename from data/shaders/glsl/terraintessellation/terrain.tesc.spv rename to shaders/glsl/terraintessellation/terrain.tesc.spv diff --git a/data/shaders/glsl/terraintessellation/terrain.tese b/shaders/glsl/terraintessellation/terrain.tese similarity index 100% rename from data/shaders/glsl/terraintessellation/terrain.tese rename to shaders/glsl/terraintessellation/terrain.tese diff --git a/data/shaders/glsl/terraintessellation/terrain.tese.spv b/shaders/glsl/terraintessellation/terrain.tese.spv similarity index 100% rename from data/shaders/glsl/terraintessellation/terrain.tese.spv rename to shaders/glsl/terraintessellation/terrain.tese.spv diff --git a/data/shaders/glsl/terraintessellation/terrain.vert b/shaders/glsl/terraintessellation/terrain.vert similarity index 100% rename from data/shaders/glsl/terraintessellation/terrain.vert rename to shaders/glsl/terraintessellation/terrain.vert diff --git a/data/shaders/glsl/terraintessellation/terrain.vert.spv b/shaders/glsl/terraintessellation/terrain.vert.spv similarity index 100% rename from data/shaders/glsl/terraintessellation/terrain.vert.spv rename to shaders/glsl/terraintessellation/terrain.vert.spv diff --git a/data/shaders/glsl/tessellation/base.frag b/shaders/glsl/tessellation/base.frag similarity index 100% rename from data/shaders/glsl/tessellation/base.frag rename to shaders/glsl/tessellation/base.frag diff --git a/data/shaders/glsl/tessellation/base.frag.spv b/shaders/glsl/tessellation/base.frag.spv similarity index 100% rename from data/shaders/glsl/tessellation/base.frag.spv rename to shaders/glsl/tessellation/base.frag.spv diff --git a/data/shaders/glsl/tessellation/base.vert b/shaders/glsl/tessellation/base.vert similarity index 100% rename from data/shaders/glsl/tessellation/base.vert rename to shaders/glsl/tessellation/base.vert diff --git a/data/shaders/glsl/tessellation/base.vert.spv b/shaders/glsl/tessellation/base.vert.spv similarity index 100% rename from data/shaders/glsl/tessellation/base.vert.spv rename to shaders/glsl/tessellation/base.vert.spv diff --git a/data/shaders/glsl/tessellation/passthrough.tesc b/shaders/glsl/tessellation/passthrough.tesc similarity index 100% rename from data/shaders/glsl/tessellation/passthrough.tesc rename to shaders/glsl/tessellation/passthrough.tesc diff --git a/data/shaders/glsl/tessellation/passthrough.tesc.spv b/shaders/glsl/tessellation/passthrough.tesc.spv similarity index 100% rename from data/shaders/glsl/tessellation/passthrough.tesc.spv rename to shaders/glsl/tessellation/passthrough.tesc.spv diff --git a/data/shaders/glsl/tessellation/passthrough.tese b/shaders/glsl/tessellation/passthrough.tese similarity index 100% rename from data/shaders/glsl/tessellation/passthrough.tese rename to shaders/glsl/tessellation/passthrough.tese diff --git a/data/shaders/glsl/tessellation/passthrough.tese.spv b/shaders/glsl/tessellation/passthrough.tese.spv similarity index 100% rename from data/shaders/glsl/tessellation/passthrough.tese.spv rename to shaders/glsl/tessellation/passthrough.tese.spv diff --git a/data/shaders/glsl/tessellation/pntriangles.tesc b/shaders/glsl/tessellation/pntriangles.tesc similarity index 100% rename from data/shaders/glsl/tessellation/pntriangles.tesc rename to shaders/glsl/tessellation/pntriangles.tesc diff --git a/data/shaders/glsl/tessellation/pntriangles.tesc.spv b/shaders/glsl/tessellation/pntriangles.tesc.spv similarity index 100% rename from data/shaders/glsl/tessellation/pntriangles.tesc.spv rename to shaders/glsl/tessellation/pntriangles.tesc.spv diff --git a/data/shaders/glsl/tessellation/pntriangles.tese b/shaders/glsl/tessellation/pntriangles.tese similarity index 100% rename from data/shaders/glsl/tessellation/pntriangles.tese rename to shaders/glsl/tessellation/pntriangles.tese diff --git a/data/shaders/glsl/tessellation/pntriangles.tese.spv b/shaders/glsl/tessellation/pntriangles.tese.spv similarity index 100% rename from data/shaders/glsl/tessellation/pntriangles.tese.spv rename to shaders/glsl/tessellation/pntriangles.tese.spv diff --git a/data/shaders/glsl/textoverlay/mesh.frag b/shaders/glsl/textoverlay/mesh.frag similarity index 100% rename from data/shaders/glsl/textoverlay/mesh.frag rename to shaders/glsl/textoverlay/mesh.frag diff --git a/data/shaders/glsl/textoverlay/mesh.frag.spv b/shaders/glsl/textoverlay/mesh.frag.spv similarity index 100% rename from data/shaders/glsl/textoverlay/mesh.frag.spv rename to shaders/glsl/textoverlay/mesh.frag.spv diff --git a/data/shaders/glsl/textoverlay/mesh.vert b/shaders/glsl/textoverlay/mesh.vert similarity index 100% rename from data/shaders/glsl/textoverlay/mesh.vert rename to shaders/glsl/textoverlay/mesh.vert diff --git a/data/shaders/glsl/textoverlay/mesh.vert.spv b/shaders/glsl/textoverlay/mesh.vert.spv similarity index 100% rename from data/shaders/glsl/textoverlay/mesh.vert.spv rename to shaders/glsl/textoverlay/mesh.vert.spv diff --git a/data/shaders/glsl/textoverlay/text.frag b/shaders/glsl/textoverlay/text.frag similarity index 100% rename from data/shaders/glsl/textoverlay/text.frag rename to shaders/glsl/textoverlay/text.frag diff --git a/data/shaders/glsl/textoverlay/text.frag.spv b/shaders/glsl/textoverlay/text.frag.spv similarity index 100% rename from data/shaders/glsl/textoverlay/text.frag.spv rename to shaders/glsl/textoverlay/text.frag.spv diff --git a/data/shaders/glsl/textoverlay/text.vert b/shaders/glsl/textoverlay/text.vert similarity index 100% rename from data/shaders/glsl/textoverlay/text.vert rename to shaders/glsl/textoverlay/text.vert diff --git a/data/shaders/glsl/textoverlay/text.vert.spv b/shaders/glsl/textoverlay/text.vert.spv similarity index 100% rename from data/shaders/glsl/textoverlay/text.vert.spv rename to shaders/glsl/textoverlay/text.vert.spv diff --git a/data/shaders/glsl/texture/texture.frag b/shaders/glsl/texture/texture.frag similarity index 100% rename from data/shaders/glsl/texture/texture.frag rename to shaders/glsl/texture/texture.frag diff --git a/data/shaders/glsl/texture/texture.frag.spv b/shaders/glsl/texture/texture.frag.spv similarity index 100% rename from data/shaders/glsl/texture/texture.frag.spv rename to shaders/glsl/texture/texture.frag.spv diff --git a/data/shaders/glsl/texture/texture.vert b/shaders/glsl/texture/texture.vert similarity index 100% rename from data/shaders/glsl/texture/texture.vert rename to shaders/glsl/texture/texture.vert diff --git a/data/shaders/glsl/texture/texture.vert.spv b/shaders/glsl/texture/texture.vert.spv similarity index 100% rename from data/shaders/glsl/texture/texture.vert.spv rename to shaders/glsl/texture/texture.vert.spv diff --git a/data/shaders/glsl/texture3d/texture3d.frag b/shaders/glsl/texture3d/texture3d.frag similarity index 100% rename from data/shaders/glsl/texture3d/texture3d.frag rename to shaders/glsl/texture3d/texture3d.frag diff --git a/data/shaders/glsl/texture3d/texture3d.frag.spv b/shaders/glsl/texture3d/texture3d.frag.spv similarity index 100% rename from data/shaders/glsl/texture3d/texture3d.frag.spv rename to shaders/glsl/texture3d/texture3d.frag.spv diff --git a/data/shaders/glsl/texture3d/texture3d.vert b/shaders/glsl/texture3d/texture3d.vert similarity index 100% rename from data/shaders/glsl/texture3d/texture3d.vert rename to shaders/glsl/texture3d/texture3d.vert diff --git a/data/shaders/glsl/texture3d/texture3d.vert.spv b/shaders/glsl/texture3d/texture3d.vert.spv similarity index 100% rename from data/shaders/glsl/texture3d/texture3d.vert.spv rename to shaders/glsl/texture3d/texture3d.vert.spv diff --git a/data/shaders/glsl/texturearray/instancing.frag b/shaders/glsl/texturearray/instancing.frag similarity index 100% rename from data/shaders/glsl/texturearray/instancing.frag rename to shaders/glsl/texturearray/instancing.frag diff --git a/data/shaders/glsl/texturearray/instancing.frag.spv b/shaders/glsl/texturearray/instancing.frag.spv similarity index 100% rename from data/shaders/glsl/texturearray/instancing.frag.spv rename to shaders/glsl/texturearray/instancing.frag.spv diff --git a/data/shaders/glsl/texturearray/instancing.vert b/shaders/glsl/texturearray/instancing.vert similarity index 100% rename from data/shaders/glsl/texturearray/instancing.vert rename to shaders/glsl/texturearray/instancing.vert diff --git a/data/shaders/glsl/texturearray/instancing.vert.spv b/shaders/glsl/texturearray/instancing.vert.spv similarity index 100% rename from data/shaders/glsl/texturearray/instancing.vert.spv rename to shaders/glsl/texturearray/instancing.vert.spv diff --git a/data/shaders/glsl/texturecubemap/reflect.frag b/shaders/glsl/texturecubemap/reflect.frag similarity index 100% rename from data/shaders/glsl/texturecubemap/reflect.frag rename to shaders/glsl/texturecubemap/reflect.frag diff --git a/data/shaders/glsl/texturecubemap/reflect.frag.spv b/shaders/glsl/texturecubemap/reflect.frag.spv similarity index 100% rename from data/shaders/glsl/texturecubemap/reflect.frag.spv rename to shaders/glsl/texturecubemap/reflect.frag.spv diff --git a/data/shaders/glsl/texturecubemap/reflect.vert b/shaders/glsl/texturecubemap/reflect.vert similarity index 100% rename from data/shaders/glsl/texturecubemap/reflect.vert rename to shaders/glsl/texturecubemap/reflect.vert diff --git a/data/shaders/glsl/texturecubemap/reflect.vert.spv b/shaders/glsl/texturecubemap/reflect.vert.spv similarity index 100% rename from data/shaders/glsl/texturecubemap/reflect.vert.spv rename to shaders/glsl/texturecubemap/reflect.vert.spv diff --git a/data/shaders/glsl/texturecubemap/skybox.frag b/shaders/glsl/texturecubemap/skybox.frag similarity index 100% rename from data/shaders/glsl/texturecubemap/skybox.frag rename to shaders/glsl/texturecubemap/skybox.frag diff --git a/data/shaders/glsl/texturecubemap/skybox.frag.spv b/shaders/glsl/texturecubemap/skybox.frag.spv similarity index 100% rename from data/shaders/glsl/texturecubemap/skybox.frag.spv rename to shaders/glsl/texturecubemap/skybox.frag.spv diff --git a/data/shaders/glsl/texturecubemap/skybox.vert b/shaders/glsl/texturecubemap/skybox.vert similarity index 100% rename from data/shaders/glsl/texturecubemap/skybox.vert rename to shaders/glsl/texturecubemap/skybox.vert diff --git a/data/shaders/glsl/texturecubemap/skybox.vert.spv b/shaders/glsl/texturecubemap/skybox.vert.spv similarity index 100% rename from data/shaders/glsl/texturecubemap/skybox.vert.spv rename to shaders/glsl/texturecubemap/skybox.vert.spv diff --git a/data/shaders/glsl/texturecubemaparray/reflect.frag b/shaders/glsl/texturecubemaparray/reflect.frag similarity index 100% rename from data/shaders/glsl/texturecubemaparray/reflect.frag rename to shaders/glsl/texturecubemaparray/reflect.frag diff --git a/data/shaders/glsl/texturecubemaparray/reflect.frag.spv b/shaders/glsl/texturecubemaparray/reflect.frag.spv similarity index 100% rename from data/shaders/glsl/texturecubemaparray/reflect.frag.spv rename to shaders/glsl/texturecubemaparray/reflect.frag.spv diff --git a/data/shaders/glsl/texturecubemaparray/reflect.vert b/shaders/glsl/texturecubemaparray/reflect.vert similarity index 100% rename from data/shaders/glsl/texturecubemaparray/reflect.vert rename to shaders/glsl/texturecubemaparray/reflect.vert diff --git a/data/shaders/glsl/texturecubemaparray/reflect.vert.spv b/shaders/glsl/texturecubemaparray/reflect.vert.spv similarity index 100% rename from data/shaders/glsl/texturecubemaparray/reflect.vert.spv rename to shaders/glsl/texturecubemaparray/reflect.vert.spv diff --git a/data/shaders/glsl/texturecubemaparray/skybox.frag b/shaders/glsl/texturecubemaparray/skybox.frag similarity index 100% rename from data/shaders/glsl/texturecubemaparray/skybox.frag rename to shaders/glsl/texturecubemaparray/skybox.frag diff --git a/data/shaders/glsl/texturecubemaparray/skybox.frag.spv b/shaders/glsl/texturecubemaparray/skybox.frag.spv similarity index 100% rename from data/shaders/glsl/texturecubemaparray/skybox.frag.spv rename to shaders/glsl/texturecubemaparray/skybox.frag.spv diff --git a/data/shaders/glsl/texturecubemaparray/skybox.vert b/shaders/glsl/texturecubemaparray/skybox.vert similarity index 100% rename from data/shaders/glsl/texturecubemaparray/skybox.vert rename to shaders/glsl/texturecubemaparray/skybox.vert diff --git a/data/shaders/glsl/texturecubemaparray/skybox.vert.spv b/shaders/glsl/texturecubemaparray/skybox.vert.spv similarity index 100% rename from data/shaders/glsl/texturecubemaparray/skybox.vert.spv rename to shaders/glsl/texturecubemaparray/skybox.vert.spv diff --git a/data/shaders/glsl/texturemipmapgen/texture.frag b/shaders/glsl/texturemipmapgen/texture.frag similarity index 100% rename from data/shaders/glsl/texturemipmapgen/texture.frag rename to shaders/glsl/texturemipmapgen/texture.frag diff --git a/data/shaders/glsl/texturemipmapgen/texture.frag.spv b/shaders/glsl/texturemipmapgen/texture.frag.spv similarity index 100% rename from data/shaders/glsl/texturemipmapgen/texture.frag.spv rename to shaders/glsl/texturemipmapgen/texture.frag.spv diff --git a/data/shaders/glsl/texturemipmapgen/texture.vert b/shaders/glsl/texturemipmapgen/texture.vert similarity index 100% rename from data/shaders/glsl/texturemipmapgen/texture.vert rename to shaders/glsl/texturemipmapgen/texture.vert diff --git a/data/shaders/glsl/texturemipmapgen/texture.vert.spv b/shaders/glsl/texturemipmapgen/texture.vert.spv similarity index 100% rename from data/shaders/glsl/texturemipmapgen/texture.vert.spv rename to shaders/glsl/texturemipmapgen/texture.vert.spv diff --git a/data/shaders/glsl/texturesparseresidency/sparseresidency.frag b/shaders/glsl/texturesparseresidency/sparseresidency.frag similarity index 100% rename from data/shaders/glsl/texturesparseresidency/sparseresidency.frag rename to shaders/glsl/texturesparseresidency/sparseresidency.frag diff --git a/data/shaders/glsl/texturesparseresidency/sparseresidency.frag.spv b/shaders/glsl/texturesparseresidency/sparseresidency.frag.spv similarity index 100% rename from data/shaders/glsl/texturesparseresidency/sparseresidency.frag.spv rename to shaders/glsl/texturesparseresidency/sparseresidency.frag.spv diff --git a/data/shaders/glsl/texturesparseresidency/sparseresidency.vert b/shaders/glsl/texturesparseresidency/sparseresidency.vert similarity index 100% rename from data/shaders/glsl/texturesparseresidency/sparseresidency.vert rename to shaders/glsl/texturesparseresidency/sparseresidency.vert diff --git a/data/shaders/glsl/texturesparseresidency/sparseresidency.vert.spv b/shaders/glsl/texturesparseresidency/sparseresidency.vert.spv similarity index 100% rename from data/shaders/glsl/texturesparseresidency/sparseresidency.vert.spv rename to shaders/glsl/texturesparseresidency/sparseresidency.vert.spv diff --git a/data/shaders/glsl/triangle/triangle.frag b/shaders/glsl/triangle/triangle.frag similarity index 100% rename from data/shaders/glsl/triangle/triangle.frag rename to shaders/glsl/triangle/triangle.frag diff --git a/data/shaders/glsl/triangle/triangle.frag.spv b/shaders/glsl/triangle/triangle.frag.spv similarity index 100% rename from data/shaders/glsl/triangle/triangle.frag.spv rename to shaders/glsl/triangle/triangle.frag.spv diff --git a/data/shaders/glsl/triangle/triangle.vert b/shaders/glsl/triangle/triangle.vert similarity index 100% rename from data/shaders/glsl/triangle/triangle.vert rename to shaders/glsl/triangle/triangle.vert diff --git a/data/shaders/glsl/triangle/triangle.vert.spv b/shaders/glsl/triangle/triangle.vert.spv similarity index 100% rename from data/shaders/glsl/triangle/triangle.vert.spv rename to shaders/glsl/triangle/triangle.vert.spv diff --git a/data/shaders/glsl/variablerateshading/scene.frag b/shaders/glsl/variablerateshading/scene.frag similarity index 100% rename from data/shaders/glsl/variablerateshading/scene.frag rename to shaders/glsl/variablerateshading/scene.frag diff --git a/data/shaders/glsl/variablerateshading/scene.frag.spv b/shaders/glsl/variablerateshading/scene.frag.spv similarity index 100% rename from data/shaders/glsl/variablerateshading/scene.frag.spv rename to shaders/glsl/variablerateshading/scene.frag.spv diff --git a/data/shaders/glsl/variablerateshading/scene.vert b/shaders/glsl/variablerateshading/scene.vert similarity index 100% rename from data/shaders/glsl/variablerateshading/scene.vert rename to shaders/glsl/variablerateshading/scene.vert diff --git a/data/shaders/glsl/variablerateshading/scene.vert.spv b/shaders/glsl/variablerateshading/scene.vert.spv similarity index 100% rename from data/shaders/glsl/variablerateshading/scene.vert.spv rename to shaders/glsl/variablerateshading/scene.vert.spv diff --git a/data/shaders/glsl/vertexattributes/scene.frag b/shaders/glsl/vertexattributes/scene.frag similarity index 100% rename from data/shaders/glsl/vertexattributes/scene.frag rename to shaders/glsl/vertexattributes/scene.frag diff --git a/data/shaders/glsl/vertexattributes/scene.frag.spv b/shaders/glsl/vertexattributes/scene.frag.spv similarity index 100% rename from data/shaders/glsl/vertexattributes/scene.frag.spv rename to shaders/glsl/vertexattributes/scene.frag.spv diff --git a/data/shaders/glsl/vertexattributes/scene.vert b/shaders/glsl/vertexattributes/scene.vert similarity index 100% rename from data/shaders/glsl/vertexattributes/scene.vert rename to shaders/glsl/vertexattributes/scene.vert diff --git a/data/shaders/glsl/vertexattributes/scene.vert.spv b/shaders/glsl/vertexattributes/scene.vert.spv similarity index 100% rename from data/shaders/glsl/vertexattributes/scene.vert.spv rename to shaders/glsl/vertexattributes/scene.vert.spv diff --git a/data/shaders/glsl/viewportarray/multiview.geom b/shaders/glsl/viewportarray/multiview.geom similarity index 100% rename from data/shaders/glsl/viewportarray/multiview.geom rename to shaders/glsl/viewportarray/multiview.geom diff --git a/data/shaders/glsl/viewportarray/multiview.geom.spv b/shaders/glsl/viewportarray/multiview.geom.spv similarity index 100% rename from data/shaders/glsl/viewportarray/multiview.geom.spv rename to shaders/glsl/viewportarray/multiview.geom.spv diff --git a/data/shaders/glsl/viewportarray/scene.frag b/shaders/glsl/viewportarray/scene.frag similarity index 100% rename from data/shaders/glsl/viewportarray/scene.frag rename to shaders/glsl/viewportarray/scene.frag diff --git a/data/shaders/glsl/viewportarray/scene.frag.spv b/shaders/glsl/viewportarray/scene.frag.spv similarity index 100% rename from data/shaders/glsl/viewportarray/scene.frag.spv rename to shaders/glsl/viewportarray/scene.frag.spv diff --git a/data/shaders/glsl/viewportarray/scene.vert b/shaders/glsl/viewportarray/scene.vert similarity index 100% rename from data/shaders/glsl/viewportarray/scene.vert rename to shaders/glsl/viewportarray/scene.vert diff --git a/data/shaders/glsl/viewportarray/scene.vert.spv b/shaders/glsl/viewportarray/scene.vert.spv similarity index 100% rename from data/shaders/glsl/viewportarray/scene.vert.spv rename to shaders/glsl/viewportarray/scene.vert.spv diff --git a/data/shaders/glsl/vulkanscene/logo.frag b/shaders/glsl/vulkanscene/logo.frag similarity index 100% rename from data/shaders/glsl/vulkanscene/logo.frag rename to shaders/glsl/vulkanscene/logo.frag diff --git a/data/shaders/glsl/vulkanscene/logo.frag.spv b/shaders/glsl/vulkanscene/logo.frag.spv similarity index 100% rename from data/shaders/glsl/vulkanscene/logo.frag.spv rename to shaders/glsl/vulkanscene/logo.frag.spv diff --git a/data/shaders/glsl/vulkanscene/logo.vert b/shaders/glsl/vulkanscene/logo.vert similarity index 100% rename from data/shaders/glsl/vulkanscene/logo.vert rename to shaders/glsl/vulkanscene/logo.vert diff --git a/data/shaders/glsl/vulkanscene/logo.vert.spv b/shaders/glsl/vulkanscene/logo.vert.spv similarity index 100% rename from data/shaders/glsl/vulkanscene/logo.vert.spv rename to shaders/glsl/vulkanscene/logo.vert.spv diff --git a/data/shaders/glsl/vulkanscene/mesh.frag b/shaders/glsl/vulkanscene/mesh.frag similarity index 100% rename from data/shaders/glsl/vulkanscene/mesh.frag rename to shaders/glsl/vulkanscene/mesh.frag diff --git a/data/shaders/glsl/vulkanscene/mesh.frag.spv b/shaders/glsl/vulkanscene/mesh.frag.spv similarity index 100% rename from data/shaders/glsl/vulkanscene/mesh.frag.spv rename to shaders/glsl/vulkanscene/mesh.frag.spv diff --git a/data/shaders/glsl/vulkanscene/mesh.vert b/shaders/glsl/vulkanscene/mesh.vert similarity index 100% rename from data/shaders/glsl/vulkanscene/mesh.vert rename to shaders/glsl/vulkanscene/mesh.vert diff --git a/data/shaders/glsl/vulkanscene/mesh.vert.spv b/shaders/glsl/vulkanscene/mesh.vert.spv similarity index 100% rename from data/shaders/glsl/vulkanscene/mesh.vert.spv rename to shaders/glsl/vulkanscene/mesh.vert.spv diff --git a/data/shaders/glsl/vulkanscene/skybox.frag b/shaders/glsl/vulkanscene/skybox.frag similarity index 100% rename from data/shaders/glsl/vulkanscene/skybox.frag rename to shaders/glsl/vulkanscene/skybox.frag diff --git a/data/shaders/glsl/vulkanscene/skybox.frag.spv b/shaders/glsl/vulkanscene/skybox.frag.spv similarity index 100% rename from data/shaders/glsl/vulkanscene/skybox.frag.spv rename to shaders/glsl/vulkanscene/skybox.frag.spv diff --git a/data/shaders/glsl/vulkanscene/skybox.vert b/shaders/glsl/vulkanscene/skybox.vert similarity index 100% rename from data/shaders/glsl/vulkanscene/skybox.vert rename to shaders/glsl/vulkanscene/skybox.vert diff --git a/data/shaders/glsl/vulkanscene/skybox.vert.spv b/shaders/glsl/vulkanscene/skybox.vert.spv similarity index 100% rename from data/shaders/glsl/vulkanscene/skybox.vert.spv rename to shaders/glsl/vulkanscene/skybox.vert.spv diff --git a/data/shaders/hlsl/README.md b/shaders/hlsl/README.md similarity index 100% rename from data/shaders/hlsl/README.md rename to shaders/hlsl/README.md diff --git a/data/shaders/hlsl/base/textoverlay.frag b/shaders/hlsl/base/textoverlay.frag similarity index 100% rename from data/shaders/hlsl/base/textoverlay.frag rename to shaders/hlsl/base/textoverlay.frag diff --git a/data/shaders/hlsl/base/textoverlay.frag.spv b/shaders/hlsl/base/textoverlay.frag.spv similarity index 100% rename from data/shaders/hlsl/base/textoverlay.frag.spv rename to shaders/hlsl/base/textoverlay.frag.spv diff --git a/data/shaders/hlsl/base/textoverlay.vert b/shaders/hlsl/base/textoverlay.vert similarity index 100% rename from data/shaders/hlsl/base/textoverlay.vert rename to shaders/hlsl/base/textoverlay.vert diff --git a/data/shaders/hlsl/base/textoverlay.vert.spv b/shaders/hlsl/base/textoverlay.vert.spv similarity index 100% rename from data/shaders/hlsl/base/textoverlay.vert.spv rename to shaders/hlsl/base/textoverlay.vert.spv diff --git a/data/shaders/hlsl/base/uioverlay.frag b/shaders/hlsl/base/uioverlay.frag similarity index 100% rename from data/shaders/hlsl/base/uioverlay.frag rename to shaders/hlsl/base/uioverlay.frag diff --git a/data/shaders/hlsl/base/uioverlay.frag.spv b/shaders/hlsl/base/uioverlay.frag.spv similarity index 100% rename from data/shaders/hlsl/base/uioverlay.frag.spv rename to shaders/hlsl/base/uioverlay.frag.spv diff --git a/data/shaders/hlsl/base/uioverlay.vert b/shaders/hlsl/base/uioverlay.vert similarity index 100% rename from data/shaders/hlsl/base/uioverlay.vert rename to shaders/hlsl/base/uioverlay.vert diff --git a/data/shaders/hlsl/base/uioverlay.vert.spv b/shaders/hlsl/base/uioverlay.vert.spv similarity index 100% rename from data/shaders/hlsl/base/uioverlay.vert.spv rename to shaders/hlsl/base/uioverlay.vert.spv diff --git a/data/shaders/hlsl/bloom/colorpass.frag b/shaders/hlsl/bloom/colorpass.frag similarity index 100% rename from data/shaders/hlsl/bloom/colorpass.frag rename to shaders/hlsl/bloom/colorpass.frag diff --git a/data/shaders/hlsl/bloom/colorpass.frag.spv b/shaders/hlsl/bloom/colorpass.frag.spv similarity index 100% rename from data/shaders/hlsl/bloom/colorpass.frag.spv rename to shaders/hlsl/bloom/colorpass.frag.spv diff --git a/data/shaders/hlsl/bloom/colorpass.vert b/shaders/hlsl/bloom/colorpass.vert similarity index 100% rename from data/shaders/hlsl/bloom/colorpass.vert rename to shaders/hlsl/bloom/colorpass.vert diff --git a/data/shaders/hlsl/bloom/colorpass.vert.spv b/shaders/hlsl/bloom/colorpass.vert.spv similarity index 100% rename from data/shaders/hlsl/bloom/colorpass.vert.spv rename to shaders/hlsl/bloom/colorpass.vert.spv diff --git a/data/shaders/hlsl/bloom/gaussblur.frag b/shaders/hlsl/bloom/gaussblur.frag similarity index 100% rename from data/shaders/hlsl/bloom/gaussblur.frag rename to shaders/hlsl/bloom/gaussblur.frag diff --git a/data/shaders/hlsl/bloom/gaussblur.frag.spv b/shaders/hlsl/bloom/gaussblur.frag.spv similarity index 100% rename from data/shaders/hlsl/bloom/gaussblur.frag.spv rename to shaders/hlsl/bloom/gaussblur.frag.spv diff --git a/data/shaders/hlsl/bloom/gaussblur.vert b/shaders/hlsl/bloom/gaussblur.vert similarity index 100% rename from data/shaders/hlsl/bloom/gaussblur.vert rename to shaders/hlsl/bloom/gaussblur.vert diff --git a/data/shaders/hlsl/bloom/gaussblur.vert.spv b/shaders/hlsl/bloom/gaussblur.vert.spv similarity index 100% rename from data/shaders/hlsl/bloom/gaussblur.vert.spv rename to shaders/hlsl/bloom/gaussblur.vert.spv diff --git a/data/shaders/hlsl/bloom/phongpass.frag b/shaders/hlsl/bloom/phongpass.frag similarity index 100% rename from data/shaders/hlsl/bloom/phongpass.frag rename to shaders/hlsl/bloom/phongpass.frag diff --git a/data/shaders/hlsl/bloom/phongpass.frag.spv b/shaders/hlsl/bloom/phongpass.frag.spv similarity index 100% rename from data/shaders/hlsl/bloom/phongpass.frag.spv rename to shaders/hlsl/bloom/phongpass.frag.spv diff --git a/data/shaders/hlsl/bloom/phongpass.vert b/shaders/hlsl/bloom/phongpass.vert similarity index 100% rename from data/shaders/hlsl/bloom/phongpass.vert rename to shaders/hlsl/bloom/phongpass.vert diff --git a/data/shaders/hlsl/bloom/phongpass.vert.spv b/shaders/hlsl/bloom/phongpass.vert.spv similarity index 100% rename from data/shaders/hlsl/bloom/phongpass.vert.spv rename to shaders/hlsl/bloom/phongpass.vert.spv diff --git a/data/shaders/hlsl/bloom/skybox.frag b/shaders/hlsl/bloom/skybox.frag similarity index 100% rename from data/shaders/hlsl/bloom/skybox.frag rename to shaders/hlsl/bloom/skybox.frag diff --git a/data/shaders/hlsl/bloom/skybox.frag.spv b/shaders/hlsl/bloom/skybox.frag.spv similarity index 100% rename from data/shaders/hlsl/bloom/skybox.frag.spv rename to shaders/hlsl/bloom/skybox.frag.spv diff --git a/data/shaders/hlsl/bloom/skybox.vert b/shaders/hlsl/bloom/skybox.vert similarity index 100% rename from data/shaders/hlsl/bloom/skybox.vert rename to shaders/hlsl/bloom/skybox.vert diff --git a/data/shaders/hlsl/bloom/skybox.vert.spv b/shaders/hlsl/bloom/skybox.vert.spv similarity index 100% rename from data/shaders/hlsl/bloom/skybox.vert.spv rename to shaders/hlsl/bloom/skybox.vert.spv diff --git a/data/shaders/hlsl/compile.py b/shaders/hlsl/compile.py similarity index 100% rename from data/shaders/hlsl/compile.py rename to shaders/hlsl/compile.py diff --git a/data/shaders/hlsl/computecloth/cloth.comp b/shaders/hlsl/computecloth/cloth.comp similarity index 100% rename from data/shaders/hlsl/computecloth/cloth.comp rename to shaders/hlsl/computecloth/cloth.comp diff --git a/data/shaders/hlsl/computecloth/cloth.comp.spv b/shaders/hlsl/computecloth/cloth.comp.spv similarity index 100% rename from data/shaders/hlsl/computecloth/cloth.comp.spv rename to shaders/hlsl/computecloth/cloth.comp.spv diff --git a/data/shaders/hlsl/computecloth/cloth.frag b/shaders/hlsl/computecloth/cloth.frag similarity index 100% rename from data/shaders/hlsl/computecloth/cloth.frag rename to shaders/hlsl/computecloth/cloth.frag diff --git a/data/shaders/hlsl/computecloth/cloth.frag.spv b/shaders/hlsl/computecloth/cloth.frag.spv similarity index 100% rename from data/shaders/hlsl/computecloth/cloth.frag.spv rename to shaders/hlsl/computecloth/cloth.frag.spv diff --git a/data/shaders/hlsl/computecloth/cloth.vert b/shaders/hlsl/computecloth/cloth.vert similarity index 100% rename from data/shaders/hlsl/computecloth/cloth.vert rename to shaders/hlsl/computecloth/cloth.vert diff --git a/data/shaders/hlsl/computecloth/cloth.vert.spv b/shaders/hlsl/computecloth/cloth.vert.spv similarity index 100% rename from data/shaders/hlsl/computecloth/cloth.vert.spv rename to shaders/hlsl/computecloth/cloth.vert.spv diff --git a/data/shaders/hlsl/computecloth/sphere.frag b/shaders/hlsl/computecloth/sphere.frag similarity index 100% rename from data/shaders/hlsl/computecloth/sphere.frag rename to shaders/hlsl/computecloth/sphere.frag diff --git a/data/shaders/hlsl/computecloth/sphere.frag.spv b/shaders/hlsl/computecloth/sphere.frag.spv similarity index 100% rename from data/shaders/hlsl/computecloth/sphere.frag.spv rename to shaders/hlsl/computecloth/sphere.frag.spv diff --git a/data/shaders/hlsl/computecloth/sphere.vert b/shaders/hlsl/computecloth/sphere.vert similarity index 100% rename from data/shaders/hlsl/computecloth/sphere.vert rename to shaders/hlsl/computecloth/sphere.vert diff --git a/data/shaders/hlsl/computecloth/sphere.vert.spv b/shaders/hlsl/computecloth/sphere.vert.spv similarity index 100% rename from data/shaders/hlsl/computecloth/sphere.vert.spv rename to shaders/hlsl/computecloth/sphere.vert.spv diff --git a/data/shaders/hlsl/computecullandlod/cull.comp b/shaders/hlsl/computecullandlod/cull.comp similarity index 100% rename from data/shaders/hlsl/computecullandlod/cull.comp rename to shaders/hlsl/computecullandlod/cull.comp diff --git a/data/shaders/hlsl/computecullandlod/cull.comp.spv b/shaders/hlsl/computecullandlod/cull.comp.spv similarity index 100% rename from data/shaders/hlsl/computecullandlod/cull.comp.spv rename to shaders/hlsl/computecullandlod/cull.comp.spv diff --git a/data/shaders/hlsl/computecullandlod/indirectdraw.frag b/shaders/hlsl/computecullandlod/indirectdraw.frag similarity index 100% rename from data/shaders/hlsl/computecullandlod/indirectdraw.frag rename to shaders/hlsl/computecullandlod/indirectdraw.frag diff --git a/data/shaders/hlsl/computecullandlod/indirectdraw.frag.spv b/shaders/hlsl/computecullandlod/indirectdraw.frag.spv similarity index 100% rename from data/shaders/hlsl/computecullandlod/indirectdraw.frag.spv rename to shaders/hlsl/computecullandlod/indirectdraw.frag.spv diff --git a/data/shaders/hlsl/computecullandlod/indirectdraw.vert b/shaders/hlsl/computecullandlod/indirectdraw.vert similarity index 100% rename from data/shaders/hlsl/computecullandlod/indirectdraw.vert rename to shaders/hlsl/computecullandlod/indirectdraw.vert diff --git a/data/shaders/hlsl/computecullandlod/indirectdraw.vert.spv b/shaders/hlsl/computecullandlod/indirectdraw.vert.spv similarity index 100% rename from data/shaders/hlsl/computecullandlod/indirectdraw.vert.spv rename to shaders/hlsl/computecullandlod/indirectdraw.vert.spv diff --git a/data/shaders/hlsl/computeheadless/headless.comp b/shaders/hlsl/computeheadless/headless.comp similarity index 100% rename from data/shaders/hlsl/computeheadless/headless.comp rename to shaders/hlsl/computeheadless/headless.comp diff --git a/data/shaders/hlsl/computeheadless/headless.comp.spv b/shaders/hlsl/computeheadless/headless.comp.spv similarity index 100% rename from data/shaders/hlsl/computeheadless/headless.comp.spv rename to shaders/hlsl/computeheadless/headless.comp.spv diff --git a/data/shaders/hlsl/computenbody/particle.frag b/shaders/hlsl/computenbody/particle.frag similarity index 100% rename from data/shaders/hlsl/computenbody/particle.frag rename to shaders/hlsl/computenbody/particle.frag diff --git a/data/shaders/hlsl/computenbody/particle.frag.spv b/shaders/hlsl/computenbody/particle.frag.spv similarity index 100% rename from data/shaders/hlsl/computenbody/particle.frag.spv rename to shaders/hlsl/computenbody/particle.frag.spv diff --git a/data/shaders/hlsl/computenbody/particle.vert b/shaders/hlsl/computenbody/particle.vert similarity index 100% rename from data/shaders/hlsl/computenbody/particle.vert rename to shaders/hlsl/computenbody/particle.vert diff --git a/data/shaders/hlsl/computenbody/particle.vert.spv b/shaders/hlsl/computenbody/particle.vert.spv similarity index 100% rename from data/shaders/hlsl/computenbody/particle.vert.spv rename to shaders/hlsl/computenbody/particle.vert.spv diff --git a/data/shaders/hlsl/computenbody/particle_calculate.comp b/shaders/hlsl/computenbody/particle_calculate.comp similarity index 100% rename from data/shaders/hlsl/computenbody/particle_calculate.comp rename to shaders/hlsl/computenbody/particle_calculate.comp diff --git a/data/shaders/hlsl/computenbody/particle_calculate.comp.spv b/shaders/hlsl/computenbody/particle_calculate.comp.spv similarity index 100% rename from data/shaders/hlsl/computenbody/particle_calculate.comp.spv rename to shaders/hlsl/computenbody/particle_calculate.comp.spv diff --git a/data/shaders/hlsl/computenbody/particle_integrate.comp b/shaders/hlsl/computenbody/particle_integrate.comp similarity index 100% rename from data/shaders/hlsl/computenbody/particle_integrate.comp rename to shaders/hlsl/computenbody/particle_integrate.comp diff --git a/data/shaders/hlsl/computenbody/particle_integrate.comp.spv b/shaders/hlsl/computenbody/particle_integrate.comp.spv similarity index 100% rename from data/shaders/hlsl/computenbody/particle_integrate.comp.spv rename to shaders/hlsl/computenbody/particle_integrate.comp.spv diff --git a/data/shaders/hlsl/computeparticles/particle.comp b/shaders/hlsl/computeparticles/particle.comp similarity index 100% rename from data/shaders/hlsl/computeparticles/particle.comp rename to shaders/hlsl/computeparticles/particle.comp diff --git a/data/shaders/hlsl/computeparticles/particle.comp.spv b/shaders/hlsl/computeparticles/particle.comp.spv similarity index 100% rename from data/shaders/hlsl/computeparticles/particle.comp.spv rename to shaders/hlsl/computeparticles/particle.comp.spv diff --git a/data/shaders/hlsl/computeparticles/particle.frag b/shaders/hlsl/computeparticles/particle.frag similarity index 100% rename from data/shaders/hlsl/computeparticles/particle.frag rename to shaders/hlsl/computeparticles/particle.frag diff --git a/data/shaders/hlsl/computeparticles/particle.frag.spv b/shaders/hlsl/computeparticles/particle.frag.spv similarity index 100% rename from data/shaders/hlsl/computeparticles/particle.frag.spv rename to shaders/hlsl/computeparticles/particle.frag.spv diff --git a/data/shaders/hlsl/computeparticles/particle.vert b/shaders/hlsl/computeparticles/particle.vert similarity index 100% rename from data/shaders/hlsl/computeparticles/particle.vert rename to shaders/hlsl/computeparticles/particle.vert diff --git a/data/shaders/hlsl/computeparticles/particle.vert.spv b/shaders/hlsl/computeparticles/particle.vert.spv similarity index 100% rename from data/shaders/hlsl/computeparticles/particle.vert.spv rename to shaders/hlsl/computeparticles/particle.vert.spv diff --git a/data/shaders/hlsl/computeraytracing/raytracing.comp b/shaders/hlsl/computeraytracing/raytracing.comp similarity index 100% rename from data/shaders/hlsl/computeraytracing/raytracing.comp rename to shaders/hlsl/computeraytracing/raytracing.comp diff --git a/data/shaders/hlsl/computeraytracing/raytracing.comp.spv b/shaders/hlsl/computeraytracing/raytracing.comp.spv similarity index 100% rename from data/shaders/hlsl/computeraytracing/raytracing.comp.spv rename to shaders/hlsl/computeraytracing/raytracing.comp.spv diff --git a/data/shaders/hlsl/computeraytracing/texture.frag b/shaders/hlsl/computeraytracing/texture.frag similarity index 100% rename from data/shaders/hlsl/computeraytracing/texture.frag rename to shaders/hlsl/computeraytracing/texture.frag diff --git a/data/shaders/hlsl/computeraytracing/texture.frag.spv b/shaders/hlsl/computeraytracing/texture.frag.spv similarity index 100% rename from data/shaders/hlsl/computeraytracing/texture.frag.spv rename to shaders/hlsl/computeraytracing/texture.frag.spv diff --git a/data/shaders/hlsl/computeraytracing/texture.vert b/shaders/hlsl/computeraytracing/texture.vert similarity index 100% rename from data/shaders/hlsl/computeraytracing/texture.vert rename to shaders/hlsl/computeraytracing/texture.vert diff --git a/data/shaders/hlsl/computeraytracing/texture.vert.spv b/shaders/hlsl/computeraytracing/texture.vert.spv similarity index 100% rename from data/shaders/hlsl/computeraytracing/texture.vert.spv rename to shaders/hlsl/computeraytracing/texture.vert.spv diff --git a/data/shaders/hlsl/computeshader/edgedetect.comp b/shaders/hlsl/computeshader/edgedetect.comp similarity index 100% rename from data/shaders/hlsl/computeshader/edgedetect.comp rename to shaders/hlsl/computeshader/edgedetect.comp diff --git a/data/shaders/hlsl/computeshader/edgedetect.comp.spv b/shaders/hlsl/computeshader/edgedetect.comp.spv similarity index 100% rename from data/shaders/hlsl/computeshader/edgedetect.comp.spv rename to shaders/hlsl/computeshader/edgedetect.comp.spv diff --git a/data/shaders/hlsl/computeshader/emboss.comp b/shaders/hlsl/computeshader/emboss.comp similarity index 100% rename from data/shaders/hlsl/computeshader/emboss.comp rename to shaders/hlsl/computeshader/emboss.comp diff --git a/data/shaders/hlsl/computeshader/emboss.comp.spv b/shaders/hlsl/computeshader/emboss.comp.spv similarity index 100% rename from data/shaders/hlsl/computeshader/emboss.comp.spv rename to shaders/hlsl/computeshader/emboss.comp.spv diff --git a/data/shaders/hlsl/computeshader/sharpen.comp b/shaders/hlsl/computeshader/sharpen.comp similarity index 100% rename from data/shaders/hlsl/computeshader/sharpen.comp rename to shaders/hlsl/computeshader/sharpen.comp diff --git a/data/shaders/hlsl/computeshader/sharpen.comp.spv b/shaders/hlsl/computeshader/sharpen.comp.spv similarity index 100% rename from data/shaders/hlsl/computeshader/sharpen.comp.spv rename to shaders/hlsl/computeshader/sharpen.comp.spv diff --git a/data/shaders/hlsl/computeshader/texture.frag b/shaders/hlsl/computeshader/texture.frag similarity index 100% rename from data/shaders/hlsl/computeshader/texture.frag rename to shaders/hlsl/computeshader/texture.frag diff --git a/data/shaders/hlsl/computeshader/texture.frag.spv b/shaders/hlsl/computeshader/texture.frag.spv similarity index 100% rename from data/shaders/hlsl/computeshader/texture.frag.spv rename to shaders/hlsl/computeshader/texture.frag.spv diff --git a/data/shaders/hlsl/computeshader/texture.vert b/shaders/hlsl/computeshader/texture.vert similarity index 100% rename from data/shaders/hlsl/computeshader/texture.vert rename to shaders/hlsl/computeshader/texture.vert diff --git a/data/shaders/hlsl/computeshader/texture.vert.spv b/shaders/hlsl/computeshader/texture.vert.spv similarity index 100% rename from data/shaders/hlsl/computeshader/texture.vert.spv rename to shaders/hlsl/computeshader/texture.vert.spv diff --git a/data/shaders/hlsl/conditionalrender/model.frag b/shaders/hlsl/conditionalrender/model.frag similarity index 100% rename from data/shaders/hlsl/conditionalrender/model.frag rename to shaders/hlsl/conditionalrender/model.frag diff --git a/data/shaders/hlsl/conditionalrender/model.frag.spv b/shaders/hlsl/conditionalrender/model.frag.spv similarity index 100% rename from data/shaders/hlsl/conditionalrender/model.frag.spv rename to shaders/hlsl/conditionalrender/model.frag.spv diff --git a/data/shaders/hlsl/conditionalrender/model.vert b/shaders/hlsl/conditionalrender/model.vert similarity index 100% rename from data/shaders/hlsl/conditionalrender/model.vert rename to shaders/hlsl/conditionalrender/model.vert diff --git a/data/shaders/hlsl/conditionalrender/model.vert.spv b/shaders/hlsl/conditionalrender/model.vert.spv similarity index 100% rename from data/shaders/hlsl/conditionalrender/model.vert.spv rename to shaders/hlsl/conditionalrender/model.vert.spv diff --git a/data/shaders/hlsl/conservativeraster/fullscreen.frag b/shaders/hlsl/conservativeraster/fullscreen.frag similarity index 100% rename from data/shaders/hlsl/conservativeraster/fullscreen.frag rename to shaders/hlsl/conservativeraster/fullscreen.frag diff --git a/data/shaders/hlsl/conservativeraster/fullscreen.frag.spv b/shaders/hlsl/conservativeraster/fullscreen.frag.spv similarity index 100% rename from data/shaders/hlsl/conservativeraster/fullscreen.frag.spv rename to shaders/hlsl/conservativeraster/fullscreen.frag.spv diff --git a/data/shaders/hlsl/conservativeraster/fullscreen.vert b/shaders/hlsl/conservativeraster/fullscreen.vert similarity index 100% rename from data/shaders/hlsl/conservativeraster/fullscreen.vert rename to shaders/hlsl/conservativeraster/fullscreen.vert diff --git a/data/shaders/hlsl/conservativeraster/fullscreen.vert.spv b/shaders/hlsl/conservativeraster/fullscreen.vert.spv similarity index 100% rename from data/shaders/hlsl/conservativeraster/fullscreen.vert.spv rename to shaders/hlsl/conservativeraster/fullscreen.vert.spv diff --git a/data/shaders/hlsl/conservativeraster/triangle.frag b/shaders/hlsl/conservativeraster/triangle.frag similarity index 100% rename from data/shaders/hlsl/conservativeraster/triangle.frag rename to shaders/hlsl/conservativeraster/triangle.frag diff --git a/data/shaders/hlsl/conservativeraster/triangle.frag.spv b/shaders/hlsl/conservativeraster/triangle.frag.spv similarity index 100% rename from data/shaders/hlsl/conservativeraster/triangle.frag.spv rename to shaders/hlsl/conservativeraster/triangle.frag.spv diff --git a/data/shaders/hlsl/conservativeraster/triangle.vert b/shaders/hlsl/conservativeraster/triangle.vert similarity index 100% rename from data/shaders/hlsl/conservativeraster/triangle.vert rename to shaders/hlsl/conservativeraster/triangle.vert diff --git a/data/shaders/hlsl/conservativeraster/triangle.vert.spv b/shaders/hlsl/conservativeraster/triangle.vert.spv similarity index 100% rename from data/shaders/hlsl/conservativeraster/triangle.vert.spv rename to shaders/hlsl/conservativeraster/triangle.vert.spv diff --git a/data/shaders/hlsl/conservativeraster/triangleoverlay.frag b/shaders/hlsl/conservativeraster/triangleoverlay.frag similarity index 100% rename from data/shaders/hlsl/conservativeraster/triangleoverlay.frag rename to shaders/hlsl/conservativeraster/triangleoverlay.frag diff --git a/data/shaders/hlsl/conservativeraster/triangleoverlay.frag.spv b/shaders/hlsl/conservativeraster/triangleoverlay.frag.spv similarity index 100% rename from data/shaders/hlsl/conservativeraster/triangleoverlay.frag.spv rename to shaders/hlsl/conservativeraster/triangleoverlay.frag.spv diff --git a/data/shaders/hlsl/debugmarker/colorpass.frag b/shaders/hlsl/debugmarker/colorpass.frag similarity index 100% rename from data/shaders/hlsl/debugmarker/colorpass.frag rename to shaders/hlsl/debugmarker/colorpass.frag diff --git a/data/shaders/hlsl/debugmarker/colorpass.frag.spv b/shaders/hlsl/debugmarker/colorpass.frag.spv similarity index 100% rename from data/shaders/hlsl/debugmarker/colorpass.frag.spv rename to shaders/hlsl/debugmarker/colorpass.frag.spv diff --git a/data/shaders/hlsl/debugmarker/colorpass.vert b/shaders/hlsl/debugmarker/colorpass.vert similarity index 100% rename from data/shaders/hlsl/debugmarker/colorpass.vert rename to shaders/hlsl/debugmarker/colorpass.vert diff --git a/data/shaders/hlsl/debugmarker/colorpass.vert.spv b/shaders/hlsl/debugmarker/colorpass.vert.spv similarity index 100% rename from data/shaders/hlsl/debugmarker/colorpass.vert.spv rename to shaders/hlsl/debugmarker/colorpass.vert.spv diff --git a/data/shaders/hlsl/debugmarker/postprocess.frag b/shaders/hlsl/debugmarker/postprocess.frag similarity index 100% rename from data/shaders/hlsl/debugmarker/postprocess.frag rename to shaders/hlsl/debugmarker/postprocess.frag diff --git a/data/shaders/hlsl/debugmarker/postprocess.frag.spv b/shaders/hlsl/debugmarker/postprocess.frag.spv similarity index 100% rename from data/shaders/hlsl/debugmarker/postprocess.frag.spv rename to shaders/hlsl/debugmarker/postprocess.frag.spv diff --git a/data/shaders/hlsl/debugmarker/postprocess.vert b/shaders/hlsl/debugmarker/postprocess.vert similarity index 100% rename from data/shaders/hlsl/debugmarker/postprocess.vert rename to shaders/hlsl/debugmarker/postprocess.vert diff --git a/data/shaders/hlsl/debugmarker/postprocess.vert.spv b/shaders/hlsl/debugmarker/postprocess.vert.spv similarity index 100% rename from data/shaders/hlsl/debugmarker/postprocess.vert.spv rename to shaders/hlsl/debugmarker/postprocess.vert.spv diff --git a/data/shaders/hlsl/debugmarker/toon.frag b/shaders/hlsl/debugmarker/toon.frag similarity index 100% rename from data/shaders/hlsl/debugmarker/toon.frag rename to shaders/hlsl/debugmarker/toon.frag diff --git a/data/shaders/hlsl/debugmarker/toon.frag.spv b/shaders/hlsl/debugmarker/toon.frag.spv similarity index 100% rename from data/shaders/hlsl/debugmarker/toon.frag.spv rename to shaders/hlsl/debugmarker/toon.frag.spv diff --git a/data/shaders/hlsl/debugmarker/toon.vert b/shaders/hlsl/debugmarker/toon.vert similarity index 100% rename from data/shaders/hlsl/debugmarker/toon.vert rename to shaders/hlsl/debugmarker/toon.vert diff --git a/data/shaders/hlsl/debugmarker/toon.vert.spv b/shaders/hlsl/debugmarker/toon.vert.spv similarity index 100% rename from data/shaders/hlsl/debugmarker/toon.vert.spv rename to shaders/hlsl/debugmarker/toon.vert.spv diff --git a/data/shaders/hlsl/deferred/deferred.frag b/shaders/hlsl/deferred/deferred.frag similarity index 100% rename from data/shaders/hlsl/deferred/deferred.frag rename to shaders/hlsl/deferred/deferred.frag diff --git a/data/shaders/hlsl/deferred/deferred.frag.spv b/shaders/hlsl/deferred/deferred.frag.spv similarity index 100% rename from data/shaders/hlsl/deferred/deferred.frag.spv rename to shaders/hlsl/deferred/deferred.frag.spv diff --git a/data/shaders/hlsl/deferred/deferred.vert b/shaders/hlsl/deferred/deferred.vert similarity index 100% rename from data/shaders/hlsl/deferred/deferred.vert rename to shaders/hlsl/deferred/deferred.vert diff --git a/data/shaders/hlsl/deferred/deferred.vert.spv b/shaders/hlsl/deferred/deferred.vert.spv similarity index 100% rename from data/shaders/hlsl/deferred/deferred.vert.spv rename to shaders/hlsl/deferred/deferred.vert.spv diff --git a/data/shaders/hlsl/deferred/mrt.frag b/shaders/hlsl/deferred/mrt.frag similarity index 100% rename from data/shaders/hlsl/deferred/mrt.frag rename to shaders/hlsl/deferred/mrt.frag diff --git a/data/shaders/hlsl/deferred/mrt.frag.spv b/shaders/hlsl/deferred/mrt.frag.spv similarity index 100% rename from data/shaders/hlsl/deferred/mrt.frag.spv rename to shaders/hlsl/deferred/mrt.frag.spv diff --git a/data/shaders/hlsl/deferred/mrt.vert b/shaders/hlsl/deferred/mrt.vert similarity index 100% rename from data/shaders/hlsl/deferred/mrt.vert rename to shaders/hlsl/deferred/mrt.vert diff --git a/data/shaders/hlsl/deferred/mrt.vert.spv b/shaders/hlsl/deferred/mrt.vert.spv similarity index 100% rename from data/shaders/hlsl/deferred/mrt.vert.spv rename to shaders/hlsl/deferred/mrt.vert.spv diff --git a/data/shaders/hlsl/deferredmultisampling/deferred.frag b/shaders/hlsl/deferredmultisampling/deferred.frag similarity index 100% rename from data/shaders/hlsl/deferredmultisampling/deferred.frag rename to shaders/hlsl/deferredmultisampling/deferred.frag diff --git a/data/shaders/hlsl/deferredmultisampling/deferred.frag.spv b/shaders/hlsl/deferredmultisampling/deferred.frag.spv similarity index 100% rename from data/shaders/hlsl/deferredmultisampling/deferred.frag.spv rename to shaders/hlsl/deferredmultisampling/deferred.frag.spv diff --git a/data/shaders/hlsl/deferredmultisampling/deferred.vert b/shaders/hlsl/deferredmultisampling/deferred.vert similarity index 100% rename from data/shaders/hlsl/deferredmultisampling/deferred.vert rename to shaders/hlsl/deferredmultisampling/deferred.vert diff --git a/data/shaders/hlsl/deferredmultisampling/deferred.vert.spv b/shaders/hlsl/deferredmultisampling/deferred.vert.spv similarity index 100% rename from data/shaders/hlsl/deferredmultisampling/deferred.vert.spv rename to shaders/hlsl/deferredmultisampling/deferred.vert.spv diff --git a/data/shaders/hlsl/deferredmultisampling/mrt.frag b/shaders/hlsl/deferredmultisampling/mrt.frag similarity index 100% rename from data/shaders/hlsl/deferredmultisampling/mrt.frag rename to shaders/hlsl/deferredmultisampling/mrt.frag diff --git a/data/shaders/hlsl/deferredmultisampling/mrt.frag.spv b/shaders/hlsl/deferredmultisampling/mrt.frag.spv similarity index 100% rename from data/shaders/hlsl/deferredmultisampling/mrt.frag.spv rename to shaders/hlsl/deferredmultisampling/mrt.frag.spv diff --git a/data/shaders/hlsl/deferredmultisampling/mrt.vert b/shaders/hlsl/deferredmultisampling/mrt.vert similarity index 100% rename from data/shaders/hlsl/deferredmultisampling/mrt.vert rename to shaders/hlsl/deferredmultisampling/mrt.vert diff --git a/data/shaders/hlsl/deferredmultisampling/mrt.vert.spv b/shaders/hlsl/deferredmultisampling/mrt.vert.spv similarity index 100% rename from data/shaders/hlsl/deferredmultisampling/mrt.vert.spv rename to shaders/hlsl/deferredmultisampling/mrt.vert.spv diff --git a/data/shaders/hlsl/deferredshadows/deferred.frag b/shaders/hlsl/deferredshadows/deferred.frag similarity index 100% rename from data/shaders/hlsl/deferredshadows/deferred.frag rename to shaders/hlsl/deferredshadows/deferred.frag diff --git a/data/shaders/hlsl/deferredshadows/deferred.frag.spv b/shaders/hlsl/deferredshadows/deferred.frag.spv similarity index 100% rename from data/shaders/hlsl/deferredshadows/deferred.frag.spv rename to shaders/hlsl/deferredshadows/deferred.frag.spv diff --git a/data/shaders/hlsl/deferredshadows/deferred.vert b/shaders/hlsl/deferredshadows/deferred.vert similarity index 100% rename from data/shaders/hlsl/deferredshadows/deferred.vert rename to shaders/hlsl/deferredshadows/deferred.vert diff --git a/data/shaders/hlsl/deferredshadows/deferred.vert.spv b/shaders/hlsl/deferredshadows/deferred.vert.spv similarity index 100% rename from data/shaders/hlsl/deferredshadows/deferred.vert.spv rename to shaders/hlsl/deferredshadows/deferred.vert.spv diff --git a/data/shaders/hlsl/deferredshadows/mrt.frag b/shaders/hlsl/deferredshadows/mrt.frag similarity index 100% rename from data/shaders/hlsl/deferredshadows/mrt.frag rename to shaders/hlsl/deferredshadows/mrt.frag diff --git a/data/shaders/hlsl/deferredshadows/mrt.frag.spv b/shaders/hlsl/deferredshadows/mrt.frag.spv similarity index 100% rename from data/shaders/hlsl/deferredshadows/mrt.frag.spv rename to shaders/hlsl/deferredshadows/mrt.frag.spv diff --git a/data/shaders/hlsl/deferredshadows/mrt.vert b/shaders/hlsl/deferredshadows/mrt.vert similarity index 100% rename from data/shaders/hlsl/deferredshadows/mrt.vert rename to shaders/hlsl/deferredshadows/mrt.vert diff --git a/data/shaders/hlsl/deferredshadows/mrt.vert.spv b/shaders/hlsl/deferredshadows/mrt.vert.spv similarity index 100% rename from data/shaders/hlsl/deferredshadows/mrt.vert.spv rename to shaders/hlsl/deferredshadows/mrt.vert.spv diff --git a/data/shaders/hlsl/deferredshadows/shadow.geom b/shaders/hlsl/deferredshadows/shadow.geom similarity index 100% rename from data/shaders/hlsl/deferredshadows/shadow.geom rename to shaders/hlsl/deferredshadows/shadow.geom diff --git a/data/shaders/hlsl/deferredshadows/shadow.geom.spv b/shaders/hlsl/deferredshadows/shadow.geom.spv similarity index 100% rename from data/shaders/hlsl/deferredshadows/shadow.geom.spv rename to shaders/hlsl/deferredshadows/shadow.geom.spv diff --git a/data/shaders/hlsl/deferredshadows/shadow.vert b/shaders/hlsl/deferredshadows/shadow.vert similarity index 100% rename from data/shaders/hlsl/deferredshadows/shadow.vert rename to shaders/hlsl/deferredshadows/shadow.vert diff --git a/data/shaders/hlsl/deferredshadows/shadow.vert.spv b/shaders/hlsl/deferredshadows/shadow.vert.spv similarity index 100% rename from data/shaders/hlsl/deferredshadows/shadow.vert.spv rename to shaders/hlsl/deferredshadows/shadow.vert.spv diff --git a/data/shaders/hlsl/descriptorindexing/descriptorindexing.frag b/shaders/hlsl/descriptorindexing/descriptorindexing.frag similarity index 100% rename from data/shaders/hlsl/descriptorindexing/descriptorindexing.frag rename to shaders/hlsl/descriptorindexing/descriptorindexing.frag diff --git a/data/shaders/hlsl/descriptorindexing/descriptorindexing.frag.spv b/shaders/hlsl/descriptorindexing/descriptorindexing.frag.spv similarity index 100% rename from data/shaders/hlsl/descriptorindexing/descriptorindexing.frag.spv rename to shaders/hlsl/descriptorindexing/descriptorindexing.frag.spv diff --git a/data/shaders/hlsl/descriptorindexing/descriptorindexing.vert b/shaders/hlsl/descriptorindexing/descriptorindexing.vert similarity index 100% rename from data/shaders/hlsl/descriptorindexing/descriptorindexing.vert rename to shaders/hlsl/descriptorindexing/descriptorindexing.vert diff --git a/data/shaders/hlsl/descriptorindexing/descriptorindexing.vert.spv b/shaders/hlsl/descriptorindexing/descriptorindexing.vert.spv similarity index 100% rename from data/shaders/hlsl/descriptorindexing/descriptorindexing.vert.spv rename to shaders/hlsl/descriptorindexing/descriptorindexing.vert.spv diff --git a/data/shaders/hlsl/descriptorsets/cube.frag b/shaders/hlsl/descriptorsets/cube.frag similarity index 100% rename from data/shaders/hlsl/descriptorsets/cube.frag rename to shaders/hlsl/descriptorsets/cube.frag diff --git a/data/shaders/hlsl/descriptorsets/cube.frag.spv b/shaders/hlsl/descriptorsets/cube.frag.spv similarity index 100% rename from data/shaders/hlsl/descriptorsets/cube.frag.spv rename to shaders/hlsl/descriptorsets/cube.frag.spv diff --git a/data/shaders/hlsl/descriptorsets/cube.vert b/shaders/hlsl/descriptorsets/cube.vert similarity index 100% rename from data/shaders/hlsl/descriptorsets/cube.vert rename to shaders/hlsl/descriptorsets/cube.vert diff --git a/data/shaders/hlsl/descriptorsets/cube.vert.spv b/shaders/hlsl/descriptorsets/cube.vert.spv similarity index 100% rename from data/shaders/hlsl/descriptorsets/cube.vert.spv rename to shaders/hlsl/descriptorsets/cube.vert.spv diff --git a/data/shaders/hlsl/displacement/base.frag b/shaders/hlsl/displacement/base.frag similarity index 100% rename from data/shaders/hlsl/displacement/base.frag rename to shaders/hlsl/displacement/base.frag diff --git a/data/shaders/hlsl/displacement/base.frag.spv b/shaders/hlsl/displacement/base.frag.spv similarity index 100% rename from data/shaders/hlsl/displacement/base.frag.spv rename to shaders/hlsl/displacement/base.frag.spv diff --git a/data/shaders/hlsl/displacement/base.vert b/shaders/hlsl/displacement/base.vert similarity index 100% rename from data/shaders/hlsl/displacement/base.vert rename to shaders/hlsl/displacement/base.vert diff --git a/data/shaders/hlsl/displacement/base.vert.spv b/shaders/hlsl/displacement/base.vert.spv similarity index 100% rename from data/shaders/hlsl/displacement/base.vert.spv rename to shaders/hlsl/displacement/base.vert.spv diff --git a/data/shaders/hlsl/displacement/displacement.tesc b/shaders/hlsl/displacement/displacement.tesc similarity index 100% rename from data/shaders/hlsl/displacement/displacement.tesc rename to shaders/hlsl/displacement/displacement.tesc diff --git a/data/shaders/hlsl/displacement/displacement.tesc.spv b/shaders/hlsl/displacement/displacement.tesc.spv similarity index 100% rename from data/shaders/hlsl/displacement/displacement.tesc.spv rename to shaders/hlsl/displacement/displacement.tesc.spv diff --git a/data/shaders/hlsl/displacement/displacement.tese b/shaders/hlsl/displacement/displacement.tese similarity index 100% rename from data/shaders/hlsl/displacement/displacement.tese rename to shaders/hlsl/displacement/displacement.tese diff --git a/data/shaders/hlsl/displacement/displacement.tese.spv b/shaders/hlsl/displacement/displacement.tese.spv similarity index 100% rename from data/shaders/hlsl/displacement/displacement.tese.spv rename to shaders/hlsl/displacement/displacement.tese.spv diff --git a/data/shaders/hlsl/distancefieldfonts/bitmap.frag b/shaders/hlsl/distancefieldfonts/bitmap.frag similarity index 100% rename from data/shaders/hlsl/distancefieldfonts/bitmap.frag rename to shaders/hlsl/distancefieldfonts/bitmap.frag diff --git a/data/shaders/hlsl/distancefieldfonts/bitmap.frag.spv b/shaders/hlsl/distancefieldfonts/bitmap.frag.spv similarity index 100% rename from data/shaders/hlsl/distancefieldfonts/bitmap.frag.spv rename to shaders/hlsl/distancefieldfonts/bitmap.frag.spv diff --git a/data/shaders/hlsl/distancefieldfonts/bitmap.vert b/shaders/hlsl/distancefieldfonts/bitmap.vert similarity index 100% rename from data/shaders/hlsl/distancefieldfonts/bitmap.vert rename to shaders/hlsl/distancefieldfonts/bitmap.vert diff --git a/data/shaders/hlsl/distancefieldfonts/bitmap.vert.spv b/shaders/hlsl/distancefieldfonts/bitmap.vert.spv similarity index 100% rename from data/shaders/hlsl/distancefieldfonts/bitmap.vert.spv rename to shaders/hlsl/distancefieldfonts/bitmap.vert.spv diff --git a/data/shaders/hlsl/distancefieldfonts/sdf.frag b/shaders/hlsl/distancefieldfonts/sdf.frag similarity index 100% rename from data/shaders/hlsl/distancefieldfonts/sdf.frag rename to shaders/hlsl/distancefieldfonts/sdf.frag diff --git a/data/shaders/hlsl/distancefieldfonts/sdf.frag.spv b/shaders/hlsl/distancefieldfonts/sdf.frag.spv similarity index 100% rename from data/shaders/hlsl/distancefieldfonts/sdf.frag.spv rename to shaders/hlsl/distancefieldfonts/sdf.frag.spv diff --git a/data/shaders/hlsl/distancefieldfonts/sdf.vert b/shaders/hlsl/distancefieldfonts/sdf.vert similarity index 100% rename from data/shaders/hlsl/distancefieldfonts/sdf.vert rename to shaders/hlsl/distancefieldfonts/sdf.vert diff --git a/data/shaders/hlsl/distancefieldfonts/sdf.vert.spv b/shaders/hlsl/distancefieldfonts/sdf.vert.spv similarity index 100% rename from data/shaders/hlsl/distancefieldfonts/sdf.vert.spv rename to shaders/hlsl/distancefieldfonts/sdf.vert.spv diff --git a/data/shaders/hlsl/dynamicuniformbuffer/base.frag b/shaders/hlsl/dynamicuniformbuffer/base.frag similarity index 100% rename from data/shaders/hlsl/dynamicuniformbuffer/base.frag rename to shaders/hlsl/dynamicuniformbuffer/base.frag diff --git a/data/shaders/hlsl/dynamicuniformbuffer/base.frag.spv b/shaders/hlsl/dynamicuniformbuffer/base.frag.spv similarity index 100% rename from data/shaders/hlsl/dynamicuniformbuffer/base.frag.spv rename to shaders/hlsl/dynamicuniformbuffer/base.frag.spv diff --git a/data/shaders/hlsl/dynamicuniformbuffer/base.vert b/shaders/hlsl/dynamicuniformbuffer/base.vert similarity index 100% rename from data/shaders/hlsl/dynamicuniformbuffer/base.vert rename to shaders/hlsl/dynamicuniformbuffer/base.vert diff --git a/data/shaders/hlsl/dynamicuniformbuffer/base.vert.spv b/shaders/hlsl/dynamicuniformbuffer/base.vert.spv similarity index 100% rename from data/shaders/hlsl/dynamicuniformbuffer/base.vert.spv rename to shaders/hlsl/dynamicuniformbuffer/base.vert.spv diff --git a/data/shaders/hlsl/gears/gears.frag b/shaders/hlsl/gears/gears.frag similarity index 100% rename from data/shaders/hlsl/gears/gears.frag rename to shaders/hlsl/gears/gears.frag diff --git a/data/shaders/hlsl/gears/gears.frag.spv b/shaders/hlsl/gears/gears.frag.spv similarity index 100% rename from data/shaders/hlsl/gears/gears.frag.spv rename to shaders/hlsl/gears/gears.frag.spv diff --git a/data/shaders/hlsl/gears/gears.vert b/shaders/hlsl/gears/gears.vert similarity index 100% rename from data/shaders/hlsl/gears/gears.vert rename to shaders/hlsl/gears/gears.vert diff --git a/data/shaders/hlsl/gears/gears.vert.spv b/shaders/hlsl/gears/gears.vert.spv similarity index 100% rename from data/shaders/hlsl/gears/gears.vert.spv rename to shaders/hlsl/gears/gears.vert.spv diff --git a/data/shaders/hlsl/geometryshader/base.frag b/shaders/hlsl/geometryshader/base.frag similarity index 100% rename from data/shaders/hlsl/geometryshader/base.frag rename to shaders/hlsl/geometryshader/base.frag diff --git a/data/shaders/hlsl/geometryshader/base.frag.spv b/shaders/hlsl/geometryshader/base.frag.spv similarity index 100% rename from data/shaders/hlsl/geometryshader/base.frag.spv rename to shaders/hlsl/geometryshader/base.frag.spv diff --git a/data/shaders/hlsl/geometryshader/base.vert b/shaders/hlsl/geometryshader/base.vert similarity index 100% rename from data/shaders/hlsl/geometryshader/base.vert rename to shaders/hlsl/geometryshader/base.vert diff --git a/data/shaders/hlsl/geometryshader/base.vert.spv b/shaders/hlsl/geometryshader/base.vert.spv similarity index 100% rename from data/shaders/hlsl/geometryshader/base.vert.spv rename to shaders/hlsl/geometryshader/base.vert.spv diff --git a/data/shaders/hlsl/geometryshader/mesh.frag b/shaders/hlsl/geometryshader/mesh.frag similarity index 100% rename from data/shaders/hlsl/geometryshader/mesh.frag rename to shaders/hlsl/geometryshader/mesh.frag diff --git a/data/shaders/hlsl/geometryshader/mesh.frag.spv b/shaders/hlsl/geometryshader/mesh.frag.spv similarity index 100% rename from data/shaders/hlsl/geometryshader/mesh.frag.spv rename to shaders/hlsl/geometryshader/mesh.frag.spv diff --git a/data/shaders/hlsl/geometryshader/mesh.vert b/shaders/hlsl/geometryshader/mesh.vert similarity index 100% rename from data/shaders/hlsl/geometryshader/mesh.vert rename to shaders/hlsl/geometryshader/mesh.vert diff --git a/data/shaders/hlsl/geometryshader/mesh.vert.spv b/shaders/hlsl/geometryshader/mesh.vert.spv similarity index 100% rename from data/shaders/hlsl/geometryshader/mesh.vert.spv rename to shaders/hlsl/geometryshader/mesh.vert.spv diff --git a/data/shaders/hlsl/geometryshader/normaldebug.geom b/shaders/hlsl/geometryshader/normaldebug.geom similarity index 100% rename from data/shaders/hlsl/geometryshader/normaldebug.geom rename to shaders/hlsl/geometryshader/normaldebug.geom diff --git a/data/shaders/hlsl/geometryshader/normaldebug.geom.spv b/shaders/hlsl/geometryshader/normaldebug.geom.spv similarity index 100% rename from data/shaders/hlsl/geometryshader/normaldebug.geom.spv rename to shaders/hlsl/geometryshader/normaldebug.geom.spv diff --git a/data/shaders/hlsl/gltfloading/mesh.frag b/shaders/hlsl/gltfloading/mesh.frag similarity index 100% rename from data/shaders/hlsl/gltfloading/mesh.frag rename to shaders/hlsl/gltfloading/mesh.frag diff --git a/data/shaders/hlsl/gltfloading/mesh.frag.spv b/shaders/hlsl/gltfloading/mesh.frag.spv similarity index 100% rename from data/shaders/hlsl/gltfloading/mesh.frag.spv rename to shaders/hlsl/gltfloading/mesh.frag.spv diff --git a/data/shaders/hlsl/gltfloading/mesh.vert b/shaders/hlsl/gltfloading/mesh.vert similarity index 100% rename from data/shaders/hlsl/gltfloading/mesh.vert rename to shaders/hlsl/gltfloading/mesh.vert diff --git a/data/shaders/hlsl/gltfloading/mesh.vert.spv b/shaders/hlsl/gltfloading/mesh.vert.spv similarity index 100% rename from data/shaders/hlsl/gltfloading/mesh.vert.spv rename to shaders/hlsl/gltfloading/mesh.vert.spv diff --git a/data/shaders/hlsl/gltfscenerendering/scene.frag b/shaders/hlsl/gltfscenerendering/scene.frag similarity index 100% rename from data/shaders/hlsl/gltfscenerendering/scene.frag rename to shaders/hlsl/gltfscenerendering/scene.frag diff --git a/data/shaders/hlsl/gltfscenerendering/scene.frag.spv b/shaders/hlsl/gltfscenerendering/scene.frag.spv similarity index 100% rename from data/shaders/hlsl/gltfscenerendering/scene.frag.spv rename to shaders/hlsl/gltfscenerendering/scene.frag.spv diff --git a/data/shaders/hlsl/gltfscenerendering/scene.vert b/shaders/hlsl/gltfscenerendering/scene.vert similarity index 100% rename from data/shaders/hlsl/gltfscenerendering/scene.vert rename to shaders/hlsl/gltfscenerendering/scene.vert diff --git a/data/shaders/hlsl/gltfscenerendering/scene.vert.spv b/shaders/hlsl/gltfscenerendering/scene.vert.spv similarity index 100% rename from data/shaders/hlsl/gltfscenerendering/scene.vert.spv rename to shaders/hlsl/gltfscenerendering/scene.vert.spv diff --git a/data/shaders/hlsl/hdr/bloom.frag b/shaders/hlsl/hdr/bloom.frag similarity index 100% rename from data/shaders/hlsl/hdr/bloom.frag rename to shaders/hlsl/hdr/bloom.frag diff --git a/data/shaders/hlsl/hdr/bloom.frag.spv b/shaders/hlsl/hdr/bloom.frag.spv similarity index 100% rename from data/shaders/hlsl/hdr/bloom.frag.spv rename to shaders/hlsl/hdr/bloom.frag.spv diff --git a/data/shaders/hlsl/hdr/bloom.vert b/shaders/hlsl/hdr/bloom.vert similarity index 100% rename from data/shaders/hlsl/hdr/bloom.vert rename to shaders/hlsl/hdr/bloom.vert diff --git a/data/shaders/hlsl/hdr/bloom.vert.spv b/shaders/hlsl/hdr/bloom.vert.spv similarity index 100% rename from data/shaders/hlsl/hdr/bloom.vert.spv rename to shaders/hlsl/hdr/bloom.vert.spv diff --git a/data/shaders/hlsl/hdr/composition.frag b/shaders/hlsl/hdr/composition.frag similarity index 100% rename from data/shaders/hlsl/hdr/composition.frag rename to shaders/hlsl/hdr/composition.frag diff --git a/data/shaders/hlsl/hdr/composition.frag.spv b/shaders/hlsl/hdr/composition.frag.spv similarity index 100% rename from data/shaders/hlsl/hdr/composition.frag.spv rename to shaders/hlsl/hdr/composition.frag.spv diff --git a/data/shaders/hlsl/hdr/composition.vert b/shaders/hlsl/hdr/composition.vert similarity index 100% rename from data/shaders/hlsl/hdr/composition.vert rename to shaders/hlsl/hdr/composition.vert diff --git a/data/shaders/hlsl/hdr/composition.vert.spv b/shaders/hlsl/hdr/composition.vert.spv similarity index 100% rename from data/shaders/hlsl/hdr/composition.vert.spv rename to shaders/hlsl/hdr/composition.vert.spv diff --git a/data/shaders/hlsl/hdr/gbuffer.frag b/shaders/hlsl/hdr/gbuffer.frag similarity index 100% rename from data/shaders/hlsl/hdr/gbuffer.frag rename to shaders/hlsl/hdr/gbuffer.frag diff --git a/data/shaders/hlsl/hdr/gbuffer.frag.spv b/shaders/hlsl/hdr/gbuffer.frag.spv similarity index 100% rename from data/shaders/hlsl/hdr/gbuffer.frag.spv rename to shaders/hlsl/hdr/gbuffer.frag.spv diff --git a/data/shaders/hlsl/hdr/gbuffer.vert b/shaders/hlsl/hdr/gbuffer.vert similarity index 100% rename from data/shaders/hlsl/hdr/gbuffer.vert rename to shaders/hlsl/hdr/gbuffer.vert diff --git a/data/shaders/hlsl/hdr/gbuffer.vert.spv b/shaders/hlsl/hdr/gbuffer.vert.spv similarity index 100% rename from data/shaders/hlsl/hdr/gbuffer.vert.spv rename to shaders/hlsl/hdr/gbuffer.vert.spv diff --git a/data/shaders/hlsl/imgui/scene.frag b/shaders/hlsl/imgui/scene.frag similarity index 100% rename from data/shaders/hlsl/imgui/scene.frag rename to shaders/hlsl/imgui/scene.frag diff --git a/data/shaders/hlsl/imgui/scene.frag.spv b/shaders/hlsl/imgui/scene.frag.spv similarity index 100% rename from data/shaders/hlsl/imgui/scene.frag.spv rename to shaders/hlsl/imgui/scene.frag.spv diff --git a/data/shaders/hlsl/imgui/scene.vert b/shaders/hlsl/imgui/scene.vert similarity index 100% rename from data/shaders/hlsl/imgui/scene.vert rename to shaders/hlsl/imgui/scene.vert diff --git a/data/shaders/hlsl/imgui/scene.vert.spv b/shaders/hlsl/imgui/scene.vert.spv similarity index 100% rename from data/shaders/hlsl/imgui/scene.vert.spv rename to shaders/hlsl/imgui/scene.vert.spv diff --git a/data/shaders/hlsl/imgui/ui.frag b/shaders/hlsl/imgui/ui.frag similarity index 100% rename from data/shaders/hlsl/imgui/ui.frag rename to shaders/hlsl/imgui/ui.frag diff --git a/data/shaders/hlsl/imgui/ui.frag.spv b/shaders/hlsl/imgui/ui.frag.spv similarity index 100% rename from data/shaders/hlsl/imgui/ui.frag.spv rename to shaders/hlsl/imgui/ui.frag.spv diff --git a/data/shaders/hlsl/imgui/ui.vert b/shaders/hlsl/imgui/ui.vert similarity index 100% rename from data/shaders/hlsl/imgui/ui.vert rename to shaders/hlsl/imgui/ui.vert diff --git a/data/shaders/hlsl/imgui/ui.vert.spv b/shaders/hlsl/imgui/ui.vert.spv similarity index 100% rename from data/shaders/hlsl/imgui/ui.vert.spv rename to shaders/hlsl/imgui/ui.vert.spv diff --git a/data/shaders/hlsl/indirectdraw/ground.frag b/shaders/hlsl/indirectdraw/ground.frag similarity index 100% rename from data/shaders/hlsl/indirectdraw/ground.frag rename to shaders/hlsl/indirectdraw/ground.frag diff --git a/data/shaders/hlsl/indirectdraw/ground.frag.spv b/shaders/hlsl/indirectdraw/ground.frag.spv similarity index 100% rename from data/shaders/hlsl/indirectdraw/ground.frag.spv rename to shaders/hlsl/indirectdraw/ground.frag.spv diff --git a/data/shaders/hlsl/indirectdraw/ground.vert b/shaders/hlsl/indirectdraw/ground.vert similarity index 100% rename from data/shaders/hlsl/indirectdraw/ground.vert rename to shaders/hlsl/indirectdraw/ground.vert diff --git a/data/shaders/hlsl/indirectdraw/ground.vert.spv b/shaders/hlsl/indirectdraw/ground.vert.spv similarity index 100% rename from data/shaders/hlsl/indirectdraw/ground.vert.spv rename to shaders/hlsl/indirectdraw/ground.vert.spv diff --git a/data/shaders/hlsl/indirectdraw/indirectdraw.frag b/shaders/hlsl/indirectdraw/indirectdraw.frag similarity index 100% rename from data/shaders/hlsl/indirectdraw/indirectdraw.frag rename to shaders/hlsl/indirectdraw/indirectdraw.frag diff --git a/data/shaders/hlsl/indirectdraw/indirectdraw.frag.spv b/shaders/hlsl/indirectdraw/indirectdraw.frag.spv similarity index 100% rename from data/shaders/hlsl/indirectdraw/indirectdraw.frag.spv rename to shaders/hlsl/indirectdraw/indirectdraw.frag.spv diff --git a/data/shaders/hlsl/indirectdraw/indirectdraw.vert b/shaders/hlsl/indirectdraw/indirectdraw.vert similarity index 100% rename from data/shaders/hlsl/indirectdraw/indirectdraw.vert rename to shaders/hlsl/indirectdraw/indirectdraw.vert diff --git a/data/shaders/hlsl/indirectdraw/indirectdraw.vert.spv b/shaders/hlsl/indirectdraw/indirectdraw.vert.spv similarity index 100% rename from data/shaders/hlsl/indirectdraw/indirectdraw.vert.spv rename to shaders/hlsl/indirectdraw/indirectdraw.vert.spv diff --git a/data/shaders/hlsl/indirectdraw/skysphere.frag b/shaders/hlsl/indirectdraw/skysphere.frag similarity index 100% rename from data/shaders/hlsl/indirectdraw/skysphere.frag rename to shaders/hlsl/indirectdraw/skysphere.frag diff --git a/data/shaders/hlsl/indirectdraw/skysphere.frag.spv b/shaders/hlsl/indirectdraw/skysphere.frag.spv similarity index 100% rename from data/shaders/hlsl/indirectdraw/skysphere.frag.spv rename to shaders/hlsl/indirectdraw/skysphere.frag.spv diff --git a/data/shaders/hlsl/indirectdraw/skysphere.vert b/shaders/hlsl/indirectdraw/skysphere.vert similarity index 100% rename from data/shaders/hlsl/indirectdraw/skysphere.vert rename to shaders/hlsl/indirectdraw/skysphere.vert diff --git a/data/shaders/hlsl/indirectdraw/skysphere.vert.spv b/shaders/hlsl/indirectdraw/skysphere.vert.spv similarity index 100% rename from data/shaders/hlsl/indirectdraw/skysphere.vert.spv rename to shaders/hlsl/indirectdraw/skysphere.vert.spv diff --git a/data/shaders/hlsl/inlineuniformblocks/pbr.frag b/shaders/hlsl/inlineuniformblocks/pbr.frag similarity index 100% rename from data/shaders/hlsl/inlineuniformblocks/pbr.frag rename to shaders/hlsl/inlineuniformblocks/pbr.frag diff --git a/data/shaders/hlsl/inlineuniformblocks/pbr.frag.spv b/shaders/hlsl/inlineuniformblocks/pbr.frag.spv similarity index 100% rename from data/shaders/hlsl/inlineuniformblocks/pbr.frag.spv rename to shaders/hlsl/inlineuniformblocks/pbr.frag.spv diff --git a/data/shaders/hlsl/inlineuniformblocks/pbr.vert b/shaders/hlsl/inlineuniformblocks/pbr.vert similarity index 100% rename from data/shaders/hlsl/inlineuniformblocks/pbr.vert rename to shaders/hlsl/inlineuniformblocks/pbr.vert diff --git a/data/shaders/hlsl/inlineuniformblocks/pbr.vert.spv b/shaders/hlsl/inlineuniformblocks/pbr.vert.spv similarity index 100% rename from data/shaders/hlsl/inlineuniformblocks/pbr.vert.spv rename to shaders/hlsl/inlineuniformblocks/pbr.vert.spv diff --git a/data/shaders/hlsl/inputattachments/attachmentread.frag b/shaders/hlsl/inputattachments/attachmentread.frag similarity index 100% rename from data/shaders/hlsl/inputattachments/attachmentread.frag rename to shaders/hlsl/inputattachments/attachmentread.frag diff --git a/data/shaders/hlsl/inputattachments/attachmentread.frag.spv b/shaders/hlsl/inputattachments/attachmentread.frag.spv similarity index 100% rename from data/shaders/hlsl/inputattachments/attachmentread.frag.spv rename to shaders/hlsl/inputattachments/attachmentread.frag.spv diff --git a/data/shaders/hlsl/inputattachments/attachmentread.vert b/shaders/hlsl/inputattachments/attachmentread.vert similarity index 100% rename from data/shaders/hlsl/inputattachments/attachmentread.vert rename to shaders/hlsl/inputattachments/attachmentread.vert diff --git a/data/shaders/hlsl/inputattachments/attachmentread.vert.spv b/shaders/hlsl/inputattachments/attachmentread.vert.spv similarity index 100% rename from data/shaders/hlsl/inputattachments/attachmentread.vert.spv rename to shaders/hlsl/inputattachments/attachmentread.vert.spv diff --git a/data/shaders/hlsl/inputattachments/attachmentwrite.frag b/shaders/hlsl/inputattachments/attachmentwrite.frag similarity index 100% rename from data/shaders/hlsl/inputattachments/attachmentwrite.frag rename to shaders/hlsl/inputattachments/attachmentwrite.frag diff --git a/data/shaders/hlsl/inputattachments/attachmentwrite.frag.spv b/shaders/hlsl/inputattachments/attachmentwrite.frag.spv similarity index 100% rename from data/shaders/hlsl/inputattachments/attachmentwrite.frag.spv rename to shaders/hlsl/inputattachments/attachmentwrite.frag.spv diff --git a/data/shaders/hlsl/inputattachments/attachmentwrite.vert b/shaders/hlsl/inputattachments/attachmentwrite.vert similarity index 100% rename from data/shaders/hlsl/inputattachments/attachmentwrite.vert rename to shaders/hlsl/inputattachments/attachmentwrite.vert diff --git a/data/shaders/hlsl/inputattachments/attachmentwrite.vert.spv b/shaders/hlsl/inputattachments/attachmentwrite.vert.spv similarity index 100% rename from data/shaders/hlsl/inputattachments/attachmentwrite.vert.spv rename to shaders/hlsl/inputattachments/attachmentwrite.vert.spv diff --git a/data/shaders/hlsl/instancing/instancing.frag b/shaders/hlsl/instancing/instancing.frag similarity index 100% rename from data/shaders/hlsl/instancing/instancing.frag rename to shaders/hlsl/instancing/instancing.frag diff --git a/data/shaders/hlsl/instancing/instancing.frag.spv b/shaders/hlsl/instancing/instancing.frag.spv similarity index 100% rename from data/shaders/hlsl/instancing/instancing.frag.spv rename to shaders/hlsl/instancing/instancing.frag.spv diff --git a/data/shaders/hlsl/instancing/instancing.vert b/shaders/hlsl/instancing/instancing.vert similarity index 100% rename from data/shaders/hlsl/instancing/instancing.vert rename to shaders/hlsl/instancing/instancing.vert diff --git a/data/shaders/hlsl/instancing/instancing.vert.spv b/shaders/hlsl/instancing/instancing.vert.spv similarity index 100% rename from data/shaders/hlsl/instancing/instancing.vert.spv rename to shaders/hlsl/instancing/instancing.vert.spv diff --git a/data/shaders/hlsl/instancing/planet.frag b/shaders/hlsl/instancing/planet.frag similarity index 100% rename from data/shaders/hlsl/instancing/planet.frag rename to shaders/hlsl/instancing/planet.frag diff --git a/data/shaders/hlsl/instancing/planet.frag.spv b/shaders/hlsl/instancing/planet.frag.spv similarity index 100% rename from data/shaders/hlsl/instancing/planet.frag.spv rename to shaders/hlsl/instancing/planet.frag.spv diff --git a/data/shaders/hlsl/instancing/planet.vert b/shaders/hlsl/instancing/planet.vert similarity index 100% rename from data/shaders/hlsl/instancing/planet.vert rename to shaders/hlsl/instancing/planet.vert diff --git a/data/shaders/hlsl/instancing/planet.vert.spv b/shaders/hlsl/instancing/planet.vert.spv similarity index 100% rename from data/shaders/hlsl/instancing/planet.vert.spv rename to shaders/hlsl/instancing/planet.vert.spv diff --git a/data/shaders/hlsl/instancing/starfield.frag b/shaders/hlsl/instancing/starfield.frag similarity index 100% rename from data/shaders/hlsl/instancing/starfield.frag rename to shaders/hlsl/instancing/starfield.frag diff --git a/data/shaders/hlsl/instancing/starfield.frag.spv b/shaders/hlsl/instancing/starfield.frag.spv similarity index 100% rename from data/shaders/hlsl/instancing/starfield.frag.spv rename to shaders/hlsl/instancing/starfield.frag.spv diff --git a/data/shaders/hlsl/instancing/starfield.vert b/shaders/hlsl/instancing/starfield.vert similarity index 100% rename from data/shaders/hlsl/instancing/starfield.vert rename to shaders/hlsl/instancing/starfield.vert diff --git a/data/shaders/hlsl/instancing/starfield.vert.spv b/shaders/hlsl/instancing/starfield.vert.spv similarity index 100% rename from data/shaders/hlsl/instancing/starfield.vert.spv rename to shaders/hlsl/instancing/starfield.vert.spv diff --git a/data/shaders/hlsl/mesh/mesh.frag b/shaders/hlsl/mesh/mesh.frag similarity index 100% rename from data/shaders/hlsl/mesh/mesh.frag rename to shaders/hlsl/mesh/mesh.frag diff --git a/data/shaders/hlsl/mesh/mesh.frag.spv b/shaders/hlsl/mesh/mesh.frag.spv similarity index 100% rename from data/shaders/hlsl/mesh/mesh.frag.spv rename to shaders/hlsl/mesh/mesh.frag.spv diff --git a/data/shaders/hlsl/mesh/mesh.vert b/shaders/hlsl/mesh/mesh.vert similarity index 100% rename from data/shaders/hlsl/mesh/mesh.vert rename to shaders/hlsl/mesh/mesh.vert diff --git a/data/shaders/hlsl/mesh/mesh.vert.spv b/shaders/hlsl/mesh/mesh.vert.spv similarity index 100% rename from data/shaders/hlsl/mesh/mesh.vert.spv rename to shaders/hlsl/mesh/mesh.vert.spv diff --git a/data/shaders/hlsl/multisampling/mesh.frag b/shaders/hlsl/multisampling/mesh.frag similarity index 100% rename from data/shaders/hlsl/multisampling/mesh.frag rename to shaders/hlsl/multisampling/mesh.frag diff --git a/data/shaders/hlsl/multisampling/mesh.frag.spv b/shaders/hlsl/multisampling/mesh.frag.spv similarity index 100% rename from data/shaders/hlsl/multisampling/mesh.frag.spv rename to shaders/hlsl/multisampling/mesh.frag.spv diff --git a/data/shaders/hlsl/multisampling/mesh.vert b/shaders/hlsl/multisampling/mesh.vert similarity index 100% rename from data/shaders/hlsl/multisampling/mesh.vert rename to shaders/hlsl/multisampling/mesh.vert diff --git a/data/shaders/hlsl/multisampling/mesh.vert.spv b/shaders/hlsl/multisampling/mesh.vert.spv similarity index 100% rename from data/shaders/hlsl/multisampling/mesh.vert.spv rename to shaders/hlsl/multisampling/mesh.vert.spv diff --git a/data/shaders/hlsl/multithreading/phong.frag b/shaders/hlsl/multithreading/phong.frag similarity index 100% rename from data/shaders/hlsl/multithreading/phong.frag rename to shaders/hlsl/multithreading/phong.frag diff --git a/data/shaders/hlsl/multithreading/phong.frag.spv b/shaders/hlsl/multithreading/phong.frag.spv similarity index 100% rename from data/shaders/hlsl/multithreading/phong.frag.spv rename to shaders/hlsl/multithreading/phong.frag.spv diff --git a/data/shaders/hlsl/multithreading/phong.vert b/shaders/hlsl/multithreading/phong.vert similarity index 100% rename from data/shaders/hlsl/multithreading/phong.vert rename to shaders/hlsl/multithreading/phong.vert diff --git a/data/shaders/hlsl/multithreading/phong.vert.spv b/shaders/hlsl/multithreading/phong.vert.spv similarity index 100% rename from data/shaders/hlsl/multithreading/phong.vert.spv rename to shaders/hlsl/multithreading/phong.vert.spv diff --git a/data/shaders/hlsl/multithreading/starsphere.frag b/shaders/hlsl/multithreading/starsphere.frag similarity index 100% rename from data/shaders/hlsl/multithreading/starsphere.frag rename to shaders/hlsl/multithreading/starsphere.frag diff --git a/data/shaders/hlsl/multithreading/starsphere.frag.spv b/shaders/hlsl/multithreading/starsphere.frag.spv similarity index 100% rename from data/shaders/hlsl/multithreading/starsphere.frag.spv rename to shaders/hlsl/multithreading/starsphere.frag.spv diff --git a/data/shaders/hlsl/multithreading/starsphere.vert b/shaders/hlsl/multithreading/starsphere.vert similarity index 100% rename from data/shaders/hlsl/multithreading/starsphere.vert rename to shaders/hlsl/multithreading/starsphere.vert diff --git a/data/shaders/hlsl/multithreading/starsphere.vert.spv b/shaders/hlsl/multithreading/starsphere.vert.spv similarity index 100% rename from data/shaders/hlsl/multithreading/starsphere.vert.spv rename to shaders/hlsl/multithreading/starsphere.vert.spv diff --git a/data/shaders/hlsl/multiview/multiview.frag b/shaders/hlsl/multiview/multiview.frag similarity index 100% rename from data/shaders/hlsl/multiview/multiview.frag rename to shaders/hlsl/multiview/multiview.frag diff --git a/data/shaders/hlsl/multiview/multiview.frag.spv b/shaders/hlsl/multiview/multiview.frag.spv similarity index 100% rename from data/shaders/hlsl/multiview/multiview.frag.spv rename to shaders/hlsl/multiview/multiview.frag.spv diff --git a/data/shaders/hlsl/multiview/multiview.vert b/shaders/hlsl/multiview/multiview.vert similarity index 100% rename from data/shaders/hlsl/multiview/multiview.vert rename to shaders/hlsl/multiview/multiview.vert diff --git a/data/shaders/hlsl/multiview/multiview.vert.spv b/shaders/hlsl/multiview/multiview.vert.spv similarity index 100% rename from data/shaders/hlsl/multiview/multiview.vert.spv rename to shaders/hlsl/multiview/multiview.vert.spv diff --git a/data/shaders/hlsl/multiview/viewdisplay.frag b/shaders/hlsl/multiview/viewdisplay.frag similarity index 100% rename from data/shaders/hlsl/multiview/viewdisplay.frag rename to shaders/hlsl/multiview/viewdisplay.frag diff --git a/data/shaders/hlsl/multiview/viewdisplay.frag.spv b/shaders/hlsl/multiview/viewdisplay.frag.spv similarity index 100% rename from data/shaders/hlsl/multiview/viewdisplay.frag.spv rename to shaders/hlsl/multiview/viewdisplay.frag.spv diff --git a/data/shaders/hlsl/multiview/viewdisplay.vert b/shaders/hlsl/multiview/viewdisplay.vert similarity index 100% rename from data/shaders/hlsl/multiview/viewdisplay.vert rename to shaders/hlsl/multiview/viewdisplay.vert diff --git a/data/shaders/hlsl/multiview/viewdisplay.vert.spv b/shaders/hlsl/multiview/viewdisplay.vert.spv similarity index 100% rename from data/shaders/hlsl/multiview/viewdisplay.vert.spv rename to shaders/hlsl/multiview/viewdisplay.vert.spv diff --git a/data/shaders/hlsl/negativeviewportheight/quad.frag b/shaders/hlsl/negativeviewportheight/quad.frag similarity index 100% rename from data/shaders/hlsl/negativeviewportheight/quad.frag rename to shaders/hlsl/negativeviewportheight/quad.frag diff --git a/data/shaders/hlsl/negativeviewportheight/quad.frag.spv b/shaders/hlsl/negativeviewportheight/quad.frag.spv similarity index 100% rename from data/shaders/hlsl/negativeviewportheight/quad.frag.spv rename to shaders/hlsl/negativeviewportheight/quad.frag.spv diff --git a/data/shaders/hlsl/negativeviewportheight/quad.vert b/shaders/hlsl/negativeviewportheight/quad.vert similarity index 100% rename from data/shaders/hlsl/negativeviewportheight/quad.vert rename to shaders/hlsl/negativeviewportheight/quad.vert diff --git a/data/shaders/hlsl/negativeviewportheight/quad.vert.spv b/shaders/hlsl/negativeviewportheight/quad.vert.spv similarity index 100% rename from data/shaders/hlsl/negativeviewportheight/quad.vert.spv rename to shaders/hlsl/negativeviewportheight/quad.vert.spv diff --git a/data/shaders/hlsl/occlusionquery/mesh.frag b/shaders/hlsl/occlusionquery/mesh.frag similarity index 100% rename from data/shaders/hlsl/occlusionquery/mesh.frag rename to shaders/hlsl/occlusionquery/mesh.frag diff --git a/data/shaders/hlsl/occlusionquery/mesh.frag.spv b/shaders/hlsl/occlusionquery/mesh.frag.spv similarity index 100% rename from data/shaders/hlsl/occlusionquery/mesh.frag.spv rename to shaders/hlsl/occlusionquery/mesh.frag.spv diff --git a/data/shaders/hlsl/occlusionquery/mesh.vert b/shaders/hlsl/occlusionquery/mesh.vert similarity index 100% rename from data/shaders/hlsl/occlusionquery/mesh.vert rename to shaders/hlsl/occlusionquery/mesh.vert diff --git a/data/shaders/hlsl/occlusionquery/mesh.vert.spv b/shaders/hlsl/occlusionquery/mesh.vert.spv similarity index 100% rename from data/shaders/hlsl/occlusionquery/mesh.vert.spv rename to shaders/hlsl/occlusionquery/mesh.vert.spv diff --git a/data/shaders/hlsl/occlusionquery/occluder.frag b/shaders/hlsl/occlusionquery/occluder.frag similarity index 100% rename from data/shaders/hlsl/occlusionquery/occluder.frag rename to shaders/hlsl/occlusionquery/occluder.frag diff --git a/data/shaders/hlsl/occlusionquery/occluder.frag.spv b/shaders/hlsl/occlusionquery/occluder.frag.spv similarity index 100% rename from data/shaders/hlsl/occlusionquery/occluder.frag.spv rename to shaders/hlsl/occlusionquery/occluder.frag.spv diff --git a/data/shaders/hlsl/occlusionquery/occluder.vert b/shaders/hlsl/occlusionquery/occluder.vert similarity index 100% rename from data/shaders/hlsl/occlusionquery/occluder.vert rename to shaders/hlsl/occlusionquery/occluder.vert diff --git a/data/shaders/hlsl/occlusionquery/occluder.vert.spv b/shaders/hlsl/occlusionquery/occluder.vert.spv similarity index 100% rename from data/shaders/hlsl/occlusionquery/occluder.vert.spv rename to shaders/hlsl/occlusionquery/occluder.vert.spv diff --git a/data/shaders/hlsl/occlusionquery/simple.frag b/shaders/hlsl/occlusionquery/simple.frag similarity index 100% rename from data/shaders/hlsl/occlusionquery/simple.frag rename to shaders/hlsl/occlusionquery/simple.frag diff --git a/data/shaders/hlsl/occlusionquery/simple.frag.spv b/shaders/hlsl/occlusionquery/simple.frag.spv similarity index 100% rename from data/shaders/hlsl/occlusionquery/simple.frag.spv rename to shaders/hlsl/occlusionquery/simple.frag.spv diff --git a/data/shaders/hlsl/occlusionquery/simple.vert b/shaders/hlsl/occlusionquery/simple.vert similarity index 100% rename from data/shaders/hlsl/occlusionquery/simple.vert rename to shaders/hlsl/occlusionquery/simple.vert diff --git a/data/shaders/hlsl/occlusionquery/simple.vert.spv b/shaders/hlsl/occlusionquery/simple.vert.spv similarity index 100% rename from data/shaders/hlsl/occlusionquery/simple.vert.spv rename to shaders/hlsl/occlusionquery/simple.vert.spv diff --git a/data/shaders/hlsl/offscreen/mirror.frag b/shaders/hlsl/offscreen/mirror.frag similarity index 100% rename from data/shaders/hlsl/offscreen/mirror.frag rename to shaders/hlsl/offscreen/mirror.frag diff --git a/data/shaders/hlsl/offscreen/mirror.frag.spv b/shaders/hlsl/offscreen/mirror.frag.spv similarity index 100% rename from data/shaders/hlsl/offscreen/mirror.frag.spv rename to shaders/hlsl/offscreen/mirror.frag.spv diff --git a/data/shaders/hlsl/offscreen/mirror.vert b/shaders/hlsl/offscreen/mirror.vert similarity index 100% rename from data/shaders/hlsl/offscreen/mirror.vert rename to shaders/hlsl/offscreen/mirror.vert diff --git a/data/shaders/hlsl/offscreen/mirror.vert.spv b/shaders/hlsl/offscreen/mirror.vert.spv similarity index 100% rename from data/shaders/hlsl/offscreen/mirror.vert.spv rename to shaders/hlsl/offscreen/mirror.vert.spv diff --git a/data/shaders/hlsl/offscreen/phong.frag b/shaders/hlsl/offscreen/phong.frag similarity index 100% rename from data/shaders/hlsl/offscreen/phong.frag rename to shaders/hlsl/offscreen/phong.frag diff --git a/data/shaders/hlsl/offscreen/phong.frag.spv b/shaders/hlsl/offscreen/phong.frag.spv similarity index 100% rename from data/shaders/hlsl/offscreen/phong.frag.spv rename to shaders/hlsl/offscreen/phong.frag.spv diff --git a/data/shaders/hlsl/offscreen/phong.vert b/shaders/hlsl/offscreen/phong.vert similarity index 100% rename from data/shaders/hlsl/offscreen/phong.vert rename to shaders/hlsl/offscreen/phong.vert diff --git a/data/shaders/hlsl/offscreen/phong.vert.spv b/shaders/hlsl/offscreen/phong.vert.spv similarity index 100% rename from data/shaders/hlsl/offscreen/phong.vert.spv rename to shaders/hlsl/offscreen/phong.vert.spv diff --git a/data/shaders/hlsl/offscreen/quad.frag b/shaders/hlsl/offscreen/quad.frag similarity index 100% rename from data/shaders/hlsl/offscreen/quad.frag rename to shaders/hlsl/offscreen/quad.frag diff --git a/data/shaders/hlsl/offscreen/quad.frag.spv b/shaders/hlsl/offscreen/quad.frag.spv similarity index 100% rename from data/shaders/hlsl/offscreen/quad.frag.spv rename to shaders/hlsl/offscreen/quad.frag.spv diff --git a/data/shaders/hlsl/offscreen/quad.vert b/shaders/hlsl/offscreen/quad.vert similarity index 100% rename from data/shaders/hlsl/offscreen/quad.vert rename to shaders/hlsl/offscreen/quad.vert diff --git a/data/shaders/hlsl/offscreen/quad.vert.spv b/shaders/hlsl/offscreen/quad.vert.spv similarity index 100% rename from data/shaders/hlsl/offscreen/quad.vert.spv rename to shaders/hlsl/offscreen/quad.vert.spv diff --git a/data/shaders/hlsl/oit/color.frag b/shaders/hlsl/oit/color.frag similarity index 100% rename from data/shaders/hlsl/oit/color.frag rename to shaders/hlsl/oit/color.frag diff --git a/data/shaders/hlsl/oit/color.frag.spv b/shaders/hlsl/oit/color.frag.spv similarity index 100% rename from data/shaders/hlsl/oit/color.frag.spv rename to shaders/hlsl/oit/color.frag.spv diff --git a/data/shaders/hlsl/oit/color.vert b/shaders/hlsl/oit/color.vert similarity index 100% rename from data/shaders/hlsl/oit/color.vert rename to shaders/hlsl/oit/color.vert diff --git a/data/shaders/hlsl/oit/color.vert.spv b/shaders/hlsl/oit/color.vert.spv similarity index 100% rename from data/shaders/hlsl/oit/color.vert.spv rename to shaders/hlsl/oit/color.vert.spv diff --git a/data/shaders/hlsl/oit/geometry.frag b/shaders/hlsl/oit/geometry.frag similarity index 100% rename from data/shaders/hlsl/oit/geometry.frag rename to shaders/hlsl/oit/geometry.frag diff --git a/data/shaders/hlsl/oit/geometry.frag.spv b/shaders/hlsl/oit/geometry.frag.spv similarity index 100% rename from data/shaders/hlsl/oit/geometry.frag.spv rename to shaders/hlsl/oit/geometry.frag.spv diff --git a/data/shaders/hlsl/oit/geometry.vert b/shaders/hlsl/oit/geometry.vert similarity index 100% rename from data/shaders/hlsl/oit/geometry.vert rename to shaders/hlsl/oit/geometry.vert diff --git a/data/shaders/hlsl/oit/geometry.vert.spv b/shaders/hlsl/oit/geometry.vert.spv similarity index 100% rename from data/shaders/hlsl/oit/geometry.vert.spv rename to shaders/hlsl/oit/geometry.vert.spv diff --git a/data/shaders/hlsl/parallaxmapping/parallax.frag b/shaders/hlsl/parallaxmapping/parallax.frag similarity index 100% rename from data/shaders/hlsl/parallaxmapping/parallax.frag rename to shaders/hlsl/parallaxmapping/parallax.frag diff --git a/data/shaders/hlsl/parallaxmapping/parallax.frag.spv b/shaders/hlsl/parallaxmapping/parallax.frag.spv similarity index 100% rename from data/shaders/hlsl/parallaxmapping/parallax.frag.spv rename to shaders/hlsl/parallaxmapping/parallax.frag.spv diff --git a/data/shaders/hlsl/parallaxmapping/parallax.vert b/shaders/hlsl/parallaxmapping/parallax.vert similarity index 100% rename from data/shaders/hlsl/parallaxmapping/parallax.vert rename to shaders/hlsl/parallaxmapping/parallax.vert diff --git a/data/shaders/hlsl/parallaxmapping/parallax.vert.spv b/shaders/hlsl/parallaxmapping/parallax.vert.spv similarity index 100% rename from data/shaders/hlsl/parallaxmapping/parallax.vert.spv rename to shaders/hlsl/parallaxmapping/parallax.vert.spv diff --git a/data/shaders/hlsl/particlefire/normalmap.frag b/shaders/hlsl/particlefire/normalmap.frag similarity index 100% rename from data/shaders/hlsl/particlefire/normalmap.frag rename to shaders/hlsl/particlefire/normalmap.frag diff --git a/data/shaders/hlsl/particlefire/normalmap.frag.spv b/shaders/hlsl/particlefire/normalmap.frag.spv similarity index 100% rename from data/shaders/hlsl/particlefire/normalmap.frag.spv rename to shaders/hlsl/particlefire/normalmap.frag.spv diff --git a/data/shaders/hlsl/particlefire/normalmap.vert b/shaders/hlsl/particlefire/normalmap.vert similarity index 100% rename from data/shaders/hlsl/particlefire/normalmap.vert rename to shaders/hlsl/particlefire/normalmap.vert diff --git a/data/shaders/hlsl/particlefire/normalmap.vert.spv b/shaders/hlsl/particlefire/normalmap.vert.spv similarity index 100% rename from data/shaders/hlsl/particlefire/normalmap.vert.spv rename to shaders/hlsl/particlefire/normalmap.vert.spv diff --git a/data/shaders/hlsl/particlefire/particle.frag b/shaders/hlsl/particlefire/particle.frag similarity index 100% rename from data/shaders/hlsl/particlefire/particle.frag rename to shaders/hlsl/particlefire/particle.frag diff --git a/data/shaders/hlsl/particlefire/particle.frag.spv b/shaders/hlsl/particlefire/particle.frag.spv similarity index 100% rename from data/shaders/hlsl/particlefire/particle.frag.spv rename to shaders/hlsl/particlefire/particle.frag.spv diff --git a/data/shaders/hlsl/particlefire/particle.vert b/shaders/hlsl/particlefire/particle.vert similarity index 100% rename from data/shaders/hlsl/particlefire/particle.vert rename to shaders/hlsl/particlefire/particle.vert diff --git a/data/shaders/hlsl/particlefire/particle.vert.spv b/shaders/hlsl/particlefire/particle.vert.spv similarity index 100% rename from data/shaders/hlsl/particlefire/particle.vert.spv rename to shaders/hlsl/particlefire/particle.vert.spv diff --git a/data/shaders/hlsl/pbrbasic/pbr.frag b/shaders/hlsl/pbrbasic/pbr.frag similarity index 100% rename from data/shaders/hlsl/pbrbasic/pbr.frag rename to shaders/hlsl/pbrbasic/pbr.frag diff --git a/data/shaders/hlsl/pbrbasic/pbr.frag.spv b/shaders/hlsl/pbrbasic/pbr.frag.spv similarity index 100% rename from data/shaders/hlsl/pbrbasic/pbr.frag.spv rename to shaders/hlsl/pbrbasic/pbr.frag.spv diff --git a/data/shaders/hlsl/pbrbasic/pbr.vert b/shaders/hlsl/pbrbasic/pbr.vert similarity index 100% rename from data/shaders/hlsl/pbrbasic/pbr.vert rename to shaders/hlsl/pbrbasic/pbr.vert diff --git a/data/shaders/hlsl/pbrbasic/pbr.vert.spv b/shaders/hlsl/pbrbasic/pbr.vert.spv similarity index 100% rename from data/shaders/hlsl/pbrbasic/pbr.vert.spv rename to shaders/hlsl/pbrbasic/pbr.vert.spv diff --git a/data/shaders/hlsl/pbribl/filtercube.vert b/shaders/hlsl/pbribl/filtercube.vert similarity index 100% rename from data/shaders/hlsl/pbribl/filtercube.vert rename to shaders/hlsl/pbribl/filtercube.vert diff --git a/data/shaders/hlsl/pbribl/filtercube.vert.spv b/shaders/hlsl/pbribl/filtercube.vert.spv similarity index 100% rename from data/shaders/hlsl/pbribl/filtercube.vert.spv rename to shaders/hlsl/pbribl/filtercube.vert.spv diff --git a/data/shaders/hlsl/pbribl/genbrdflut.frag b/shaders/hlsl/pbribl/genbrdflut.frag similarity index 100% rename from data/shaders/hlsl/pbribl/genbrdflut.frag rename to shaders/hlsl/pbribl/genbrdflut.frag diff --git a/data/shaders/hlsl/pbribl/genbrdflut.frag.spv b/shaders/hlsl/pbribl/genbrdflut.frag.spv similarity index 100% rename from data/shaders/hlsl/pbribl/genbrdflut.frag.spv rename to shaders/hlsl/pbribl/genbrdflut.frag.spv diff --git a/data/shaders/hlsl/pbribl/genbrdflut.vert b/shaders/hlsl/pbribl/genbrdflut.vert similarity index 100% rename from data/shaders/hlsl/pbribl/genbrdflut.vert rename to shaders/hlsl/pbribl/genbrdflut.vert diff --git a/data/shaders/hlsl/pbribl/genbrdflut.vert.spv b/shaders/hlsl/pbribl/genbrdflut.vert.spv similarity index 100% rename from data/shaders/hlsl/pbribl/genbrdflut.vert.spv rename to shaders/hlsl/pbribl/genbrdflut.vert.spv diff --git a/data/shaders/hlsl/pbribl/irradiancecube.frag b/shaders/hlsl/pbribl/irradiancecube.frag similarity index 100% rename from data/shaders/hlsl/pbribl/irradiancecube.frag rename to shaders/hlsl/pbribl/irradiancecube.frag diff --git a/data/shaders/hlsl/pbribl/irradiancecube.frag.spv b/shaders/hlsl/pbribl/irradiancecube.frag.spv similarity index 100% rename from data/shaders/hlsl/pbribl/irradiancecube.frag.spv rename to shaders/hlsl/pbribl/irradiancecube.frag.spv diff --git a/data/shaders/hlsl/pbribl/pbribl.frag b/shaders/hlsl/pbribl/pbribl.frag similarity index 100% rename from data/shaders/hlsl/pbribl/pbribl.frag rename to shaders/hlsl/pbribl/pbribl.frag diff --git a/data/shaders/hlsl/pbribl/pbribl.frag.spv b/shaders/hlsl/pbribl/pbribl.frag.spv similarity index 100% rename from data/shaders/hlsl/pbribl/pbribl.frag.spv rename to shaders/hlsl/pbribl/pbribl.frag.spv diff --git a/data/shaders/hlsl/pbribl/pbribl.vert b/shaders/hlsl/pbribl/pbribl.vert similarity index 100% rename from data/shaders/hlsl/pbribl/pbribl.vert rename to shaders/hlsl/pbribl/pbribl.vert diff --git a/data/shaders/hlsl/pbribl/pbribl.vert.spv b/shaders/hlsl/pbribl/pbribl.vert.spv similarity index 100% rename from data/shaders/hlsl/pbribl/pbribl.vert.spv rename to shaders/hlsl/pbribl/pbribl.vert.spv diff --git a/data/shaders/hlsl/pbribl/prefilterenvmap.frag b/shaders/hlsl/pbribl/prefilterenvmap.frag similarity index 100% rename from data/shaders/hlsl/pbribl/prefilterenvmap.frag rename to shaders/hlsl/pbribl/prefilterenvmap.frag diff --git a/data/shaders/hlsl/pbribl/prefilterenvmap.frag.spv b/shaders/hlsl/pbribl/prefilterenvmap.frag.spv similarity index 100% rename from data/shaders/hlsl/pbribl/prefilterenvmap.frag.spv rename to shaders/hlsl/pbribl/prefilterenvmap.frag.spv diff --git a/data/shaders/hlsl/pbribl/skybox.frag b/shaders/hlsl/pbribl/skybox.frag similarity index 100% rename from data/shaders/hlsl/pbribl/skybox.frag rename to shaders/hlsl/pbribl/skybox.frag diff --git a/data/shaders/hlsl/pbribl/skybox.frag.spv b/shaders/hlsl/pbribl/skybox.frag.spv similarity index 100% rename from data/shaders/hlsl/pbribl/skybox.frag.spv rename to shaders/hlsl/pbribl/skybox.frag.spv diff --git a/data/shaders/hlsl/pbribl/skybox.vert b/shaders/hlsl/pbribl/skybox.vert similarity index 100% rename from data/shaders/hlsl/pbribl/skybox.vert rename to shaders/hlsl/pbribl/skybox.vert diff --git a/data/shaders/hlsl/pbribl/skybox.vert.spv b/shaders/hlsl/pbribl/skybox.vert.spv similarity index 100% rename from data/shaders/hlsl/pbribl/skybox.vert.spv rename to shaders/hlsl/pbribl/skybox.vert.spv diff --git a/data/shaders/hlsl/pbrtexture/filtercube.vert b/shaders/hlsl/pbrtexture/filtercube.vert similarity index 100% rename from data/shaders/hlsl/pbrtexture/filtercube.vert rename to shaders/hlsl/pbrtexture/filtercube.vert diff --git a/data/shaders/hlsl/pbrtexture/filtercube.vert.spv b/shaders/hlsl/pbrtexture/filtercube.vert.spv similarity index 100% rename from data/shaders/hlsl/pbrtexture/filtercube.vert.spv rename to shaders/hlsl/pbrtexture/filtercube.vert.spv diff --git a/data/shaders/hlsl/pbrtexture/genbrdflut.frag b/shaders/hlsl/pbrtexture/genbrdflut.frag similarity index 100% rename from data/shaders/hlsl/pbrtexture/genbrdflut.frag rename to shaders/hlsl/pbrtexture/genbrdflut.frag diff --git a/data/shaders/hlsl/pbrtexture/genbrdflut.frag.spv b/shaders/hlsl/pbrtexture/genbrdflut.frag.spv similarity index 100% rename from data/shaders/hlsl/pbrtexture/genbrdflut.frag.spv rename to shaders/hlsl/pbrtexture/genbrdflut.frag.spv diff --git a/data/shaders/hlsl/pbrtexture/genbrdflut.vert b/shaders/hlsl/pbrtexture/genbrdflut.vert similarity index 100% rename from data/shaders/hlsl/pbrtexture/genbrdflut.vert rename to shaders/hlsl/pbrtexture/genbrdflut.vert diff --git a/data/shaders/hlsl/pbrtexture/genbrdflut.vert.spv b/shaders/hlsl/pbrtexture/genbrdflut.vert.spv similarity index 100% rename from data/shaders/hlsl/pbrtexture/genbrdflut.vert.spv rename to shaders/hlsl/pbrtexture/genbrdflut.vert.spv diff --git a/data/shaders/hlsl/pbrtexture/irradiancecube.frag b/shaders/hlsl/pbrtexture/irradiancecube.frag similarity index 100% rename from data/shaders/hlsl/pbrtexture/irradiancecube.frag rename to shaders/hlsl/pbrtexture/irradiancecube.frag diff --git a/data/shaders/hlsl/pbrtexture/irradiancecube.frag.spv b/shaders/hlsl/pbrtexture/irradiancecube.frag.spv similarity index 100% rename from data/shaders/hlsl/pbrtexture/irradiancecube.frag.spv rename to shaders/hlsl/pbrtexture/irradiancecube.frag.spv diff --git a/data/shaders/hlsl/pbrtexture/pbrtexture.frag b/shaders/hlsl/pbrtexture/pbrtexture.frag similarity index 100% rename from data/shaders/hlsl/pbrtexture/pbrtexture.frag rename to shaders/hlsl/pbrtexture/pbrtexture.frag diff --git a/data/shaders/hlsl/pbrtexture/pbrtexture.frag.spv b/shaders/hlsl/pbrtexture/pbrtexture.frag.spv similarity index 100% rename from data/shaders/hlsl/pbrtexture/pbrtexture.frag.spv rename to shaders/hlsl/pbrtexture/pbrtexture.frag.spv diff --git a/data/shaders/hlsl/pbrtexture/pbrtexture.vert b/shaders/hlsl/pbrtexture/pbrtexture.vert similarity index 100% rename from data/shaders/hlsl/pbrtexture/pbrtexture.vert rename to shaders/hlsl/pbrtexture/pbrtexture.vert diff --git a/data/shaders/hlsl/pbrtexture/pbrtexture.vert.spv b/shaders/hlsl/pbrtexture/pbrtexture.vert.spv similarity index 100% rename from data/shaders/hlsl/pbrtexture/pbrtexture.vert.spv rename to shaders/hlsl/pbrtexture/pbrtexture.vert.spv diff --git a/data/shaders/hlsl/pbrtexture/prefilterenvmap.frag b/shaders/hlsl/pbrtexture/prefilterenvmap.frag similarity index 100% rename from data/shaders/hlsl/pbrtexture/prefilterenvmap.frag rename to shaders/hlsl/pbrtexture/prefilterenvmap.frag diff --git a/data/shaders/hlsl/pbrtexture/prefilterenvmap.frag.spv b/shaders/hlsl/pbrtexture/prefilterenvmap.frag.spv similarity index 100% rename from data/shaders/hlsl/pbrtexture/prefilterenvmap.frag.spv rename to shaders/hlsl/pbrtexture/prefilterenvmap.frag.spv diff --git a/data/shaders/hlsl/pbrtexture/skybox.frag b/shaders/hlsl/pbrtexture/skybox.frag similarity index 100% rename from data/shaders/hlsl/pbrtexture/skybox.frag rename to shaders/hlsl/pbrtexture/skybox.frag diff --git a/data/shaders/hlsl/pbrtexture/skybox.frag.spv b/shaders/hlsl/pbrtexture/skybox.frag.spv similarity index 100% rename from data/shaders/hlsl/pbrtexture/skybox.frag.spv rename to shaders/hlsl/pbrtexture/skybox.frag.spv diff --git a/data/shaders/hlsl/pbrtexture/skybox.vert b/shaders/hlsl/pbrtexture/skybox.vert similarity index 100% rename from data/shaders/hlsl/pbrtexture/skybox.vert rename to shaders/hlsl/pbrtexture/skybox.vert diff --git a/data/shaders/hlsl/pbrtexture/skybox.vert.spv b/shaders/hlsl/pbrtexture/skybox.vert.spv similarity index 100% rename from data/shaders/hlsl/pbrtexture/skybox.vert.spv rename to shaders/hlsl/pbrtexture/skybox.vert.spv diff --git a/data/shaders/hlsl/pipelines/phong.frag b/shaders/hlsl/pipelines/phong.frag similarity index 100% rename from data/shaders/hlsl/pipelines/phong.frag rename to shaders/hlsl/pipelines/phong.frag diff --git a/data/shaders/hlsl/pipelines/phong.frag.spv b/shaders/hlsl/pipelines/phong.frag.spv similarity index 100% rename from data/shaders/hlsl/pipelines/phong.frag.spv rename to shaders/hlsl/pipelines/phong.frag.spv diff --git a/data/shaders/hlsl/pipelines/phong.vert b/shaders/hlsl/pipelines/phong.vert similarity index 100% rename from data/shaders/hlsl/pipelines/phong.vert rename to shaders/hlsl/pipelines/phong.vert diff --git a/data/shaders/hlsl/pipelines/phong.vert.spv b/shaders/hlsl/pipelines/phong.vert.spv similarity index 100% rename from data/shaders/hlsl/pipelines/phong.vert.spv rename to shaders/hlsl/pipelines/phong.vert.spv diff --git a/data/shaders/hlsl/pipelines/toon.frag b/shaders/hlsl/pipelines/toon.frag similarity index 100% rename from data/shaders/hlsl/pipelines/toon.frag rename to shaders/hlsl/pipelines/toon.frag diff --git a/data/shaders/hlsl/pipelines/toon.frag.spv b/shaders/hlsl/pipelines/toon.frag.spv similarity index 100% rename from data/shaders/hlsl/pipelines/toon.frag.spv rename to shaders/hlsl/pipelines/toon.frag.spv diff --git a/data/shaders/hlsl/pipelines/toon.vert b/shaders/hlsl/pipelines/toon.vert similarity index 100% rename from data/shaders/hlsl/pipelines/toon.vert rename to shaders/hlsl/pipelines/toon.vert diff --git a/data/shaders/hlsl/pipelines/toon.vert.spv b/shaders/hlsl/pipelines/toon.vert.spv similarity index 100% rename from data/shaders/hlsl/pipelines/toon.vert.spv rename to shaders/hlsl/pipelines/toon.vert.spv diff --git a/data/shaders/hlsl/pipelines/wireframe.frag b/shaders/hlsl/pipelines/wireframe.frag similarity index 100% rename from data/shaders/hlsl/pipelines/wireframe.frag rename to shaders/hlsl/pipelines/wireframe.frag diff --git a/data/shaders/hlsl/pipelines/wireframe.frag.spv b/shaders/hlsl/pipelines/wireframe.frag.spv similarity index 100% rename from data/shaders/hlsl/pipelines/wireframe.frag.spv rename to shaders/hlsl/pipelines/wireframe.frag.spv diff --git a/data/shaders/hlsl/pipelines/wireframe.vert b/shaders/hlsl/pipelines/wireframe.vert similarity index 100% rename from data/shaders/hlsl/pipelines/wireframe.vert rename to shaders/hlsl/pipelines/wireframe.vert diff --git a/data/shaders/hlsl/pipelines/wireframe.vert.spv b/shaders/hlsl/pipelines/wireframe.vert.spv similarity index 100% rename from data/shaders/hlsl/pipelines/wireframe.vert.spv rename to shaders/hlsl/pipelines/wireframe.vert.spv diff --git a/data/shaders/hlsl/pipelinestatistics/scene.frag b/shaders/hlsl/pipelinestatistics/scene.frag similarity index 100% rename from data/shaders/hlsl/pipelinestatistics/scene.frag rename to shaders/hlsl/pipelinestatistics/scene.frag diff --git a/data/shaders/hlsl/pipelinestatistics/scene.frag.spv b/shaders/hlsl/pipelinestatistics/scene.frag.spv similarity index 100% rename from data/shaders/hlsl/pipelinestatistics/scene.frag.spv rename to shaders/hlsl/pipelinestatistics/scene.frag.spv diff --git a/data/shaders/hlsl/pipelinestatistics/scene.tesc b/shaders/hlsl/pipelinestatistics/scene.tesc similarity index 100% rename from data/shaders/hlsl/pipelinestatistics/scene.tesc rename to shaders/hlsl/pipelinestatistics/scene.tesc diff --git a/data/shaders/hlsl/pipelinestatistics/scene.tesc.spv b/shaders/hlsl/pipelinestatistics/scene.tesc.spv similarity index 100% rename from data/shaders/hlsl/pipelinestatistics/scene.tesc.spv rename to shaders/hlsl/pipelinestatistics/scene.tesc.spv diff --git a/data/shaders/hlsl/pipelinestatistics/scene.tese b/shaders/hlsl/pipelinestatistics/scene.tese similarity index 100% rename from data/shaders/hlsl/pipelinestatistics/scene.tese rename to shaders/hlsl/pipelinestatistics/scene.tese diff --git a/data/shaders/hlsl/pipelinestatistics/scene.tese.spv b/shaders/hlsl/pipelinestatistics/scene.tese.spv similarity index 100% rename from data/shaders/hlsl/pipelinestatistics/scene.tese.spv rename to shaders/hlsl/pipelinestatistics/scene.tese.spv diff --git a/data/shaders/hlsl/pipelinestatistics/scene.vert b/shaders/hlsl/pipelinestatistics/scene.vert similarity index 100% rename from data/shaders/hlsl/pipelinestatistics/scene.vert rename to shaders/hlsl/pipelinestatistics/scene.vert diff --git a/data/shaders/hlsl/pipelinestatistics/scene.vert.spv b/shaders/hlsl/pipelinestatistics/scene.vert.spv similarity index 100% rename from data/shaders/hlsl/pipelinestatistics/scene.vert.spv rename to shaders/hlsl/pipelinestatistics/scene.vert.spv diff --git a/data/shaders/hlsl/pushconstants/pushconstants.frag b/shaders/hlsl/pushconstants/pushconstants.frag similarity index 100% rename from data/shaders/hlsl/pushconstants/pushconstants.frag rename to shaders/hlsl/pushconstants/pushconstants.frag diff --git a/data/shaders/hlsl/pushconstants/pushconstants.frag.spv b/shaders/hlsl/pushconstants/pushconstants.frag.spv similarity index 100% rename from data/shaders/hlsl/pushconstants/pushconstants.frag.spv rename to shaders/hlsl/pushconstants/pushconstants.frag.spv diff --git a/data/shaders/hlsl/pushconstants/pushconstants.vert b/shaders/hlsl/pushconstants/pushconstants.vert similarity index 100% rename from data/shaders/hlsl/pushconstants/pushconstants.vert rename to shaders/hlsl/pushconstants/pushconstants.vert diff --git a/data/shaders/hlsl/pushconstants/pushconstants.vert.spv b/shaders/hlsl/pushconstants/pushconstants.vert.spv similarity index 100% rename from data/shaders/hlsl/pushconstants/pushconstants.vert.spv rename to shaders/hlsl/pushconstants/pushconstants.vert.spv diff --git a/data/shaders/hlsl/pushdescriptors/cube.frag b/shaders/hlsl/pushdescriptors/cube.frag similarity index 100% rename from data/shaders/hlsl/pushdescriptors/cube.frag rename to shaders/hlsl/pushdescriptors/cube.frag diff --git a/data/shaders/hlsl/pushdescriptors/cube.frag.spv b/shaders/hlsl/pushdescriptors/cube.frag.spv similarity index 100% rename from data/shaders/hlsl/pushdescriptors/cube.frag.spv rename to shaders/hlsl/pushdescriptors/cube.frag.spv diff --git a/data/shaders/hlsl/pushdescriptors/cube.vert b/shaders/hlsl/pushdescriptors/cube.vert similarity index 100% rename from data/shaders/hlsl/pushdescriptors/cube.vert rename to shaders/hlsl/pushdescriptors/cube.vert diff --git a/data/shaders/hlsl/pushdescriptors/cube.vert.spv b/shaders/hlsl/pushdescriptors/cube.vert.spv similarity index 100% rename from data/shaders/hlsl/pushdescriptors/cube.vert.spv rename to shaders/hlsl/pushdescriptors/cube.vert.spv diff --git a/data/shaders/hlsl/radialblur/colorpass.frag b/shaders/hlsl/radialblur/colorpass.frag similarity index 100% rename from data/shaders/hlsl/radialblur/colorpass.frag rename to shaders/hlsl/radialblur/colorpass.frag diff --git a/data/shaders/hlsl/radialblur/colorpass.frag.spv b/shaders/hlsl/radialblur/colorpass.frag.spv similarity index 100% rename from data/shaders/hlsl/radialblur/colorpass.frag.spv rename to shaders/hlsl/radialblur/colorpass.frag.spv diff --git a/data/shaders/hlsl/radialblur/colorpass.vert b/shaders/hlsl/radialblur/colorpass.vert similarity index 100% rename from data/shaders/hlsl/radialblur/colorpass.vert rename to shaders/hlsl/radialblur/colorpass.vert diff --git a/data/shaders/hlsl/radialblur/colorpass.vert.spv b/shaders/hlsl/radialblur/colorpass.vert.spv similarity index 100% rename from data/shaders/hlsl/radialblur/colorpass.vert.spv rename to shaders/hlsl/radialblur/colorpass.vert.spv diff --git a/data/shaders/hlsl/radialblur/phongpass.frag b/shaders/hlsl/radialblur/phongpass.frag similarity index 100% rename from data/shaders/hlsl/radialblur/phongpass.frag rename to shaders/hlsl/radialblur/phongpass.frag diff --git a/data/shaders/hlsl/radialblur/phongpass.frag.spv b/shaders/hlsl/radialblur/phongpass.frag.spv similarity index 100% rename from data/shaders/hlsl/radialblur/phongpass.frag.spv rename to shaders/hlsl/radialblur/phongpass.frag.spv diff --git a/data/shaders/hlsl/radialblur/phongpass.vert b/shaders/hlsl/radialblur/phongpass.vert similarity index 100% rename from data/shaders/hlsl/radialblur/phongpass.vert rename to shaders/hlsl/radialblur/phongpass.vert diff --git a/data/shaders/hlsl/radialblur/phongpass.vert.spv b/shaders/hlsl/radialblur/phongpass.vert.spv similarity index 100% rename from data/shaders/hlsl/radialblur/phongpass.vert.spv rename to shaders/hlsl/radialblur/phongpass.vert.spv diff --git a/data/shaders/hlsl/radialblur/radialblur.frag b/shaders/hlsl/radialblur/radialblur.frag similarity index 100% rename from data/shaders/hlsl/radialblur/radialblur.frag rename to shaders/hlsl/radialblur/radialblur.frag diff --git a/data/shaders/hlsl/radialblur/radialblur.frag.spv b/shaders/hlsl/radialblur/radialblur.frag.spv similarity index 100% rename from data/shaders/hlsl/radialblur/radialblur.frag.spv rename to shaders/hlsl/radialblur/radialblur.frag.spv diff --git a/data/shaders/hlsl/radialblur/radialblur.vert b/shaders/hlsl/radialblur/radialblur.vert similarity index 100% rename from data/shaders/hlsl/radialblur/radialblur.vert rename to shaders/hlsl/radialblur/radialblur.vert diff --git a/data/shaders/hlsl/radialblur/radialblur.vert.spv b/shaders/hlsl/radialblur/radialblur.vert.spv similarity index 100% rename from data/shaders/hlsl/radialblur/radialblur.vert.spv rename to shaders/hlsl/radialblur/radialblur.vert.spv diff --git a/data/shaders/hlsl/raytracingbasic/closesthit.rchit b/shaders/hlsl/raytracingbasic/closesthit.rchit similarity index 100% rename from data/shaders/hlsl/raytracingbasic/closesthit.rchit rename to shaders/hlsl/raytracingbasic/closesthit.rchit diff --git a/data/shaders/hlsl/raytracingbasic/closesthit.rchit.spv b/shaders/hlsl/raytracingbasic/closesthit.rchit.spv similarity index 100% rename from data/shaders/hlsl/raytracingbasic/closesthit.rchit.spv rename to shaders/hlsl/raytracingbasic/closesthit.rchit.spv diff --git a/data/shaders/hlsl/raytracingbasic/miss.rmiss b/shaders/hlsl/raytracingbasic/miss.rmiss similarity index 100% rename from data/shaders/hlsl/raytracingbasic/miss.rmiss rename to shaders/hlsl/raytracingbasic/miss.rmiss diff --git a/data/shaders/hlsl/raytracingbasic/miss.rmiss.spv b/shaders/hlsl/raytracingbasic/miss.rmiss.spv similarity index 100% rename from data/shaders/hlsl/raytracingbasic/miss.rmiss.spv rename to shaders/hlsl/raytracingbasic/miss.rmiss.spv diff --git a/data/shaders/hlsl/raytracingbasic/raygen.rgen b/shaders/hlsl/raytracingbasic/raygen.rgen similarity index 100% rename from data/shaders/hlsl/raytracingbasic/raygen.rgen rename to shaders/hlsl/raytracingbasic/raygen.rgen diff --git a/data/shaders/hlsl/raytracingbasic/raygen.rgen.spv b/shaders/hlsl/raytracingbasic/raygen.rgen.spv similarity index 100% rename from data/shaders/hlsl/raytracingbasic/raygen.rgen.spv rename to shaders/hlsl/raytracingbasic/raygen.rgen.spv diff --git a/data/shaders/hlsl/raytracingcallable/callable1.rcall b/shaders/hlsl/raytracingcallable/callable1.rcall similarity index 100% rename from data/shaders/hlsl/raytracingcallable/callable1.rcall rename to shaders/hlsl/raytracingcallable/callable1.rcall diff --git a/data/shaders/hlsl/raytracingcallable/callable1.rcall.spv b/shaders/hlsl/raytracingcallable/callable1.rcall.spv similarity index 100% rename from data/shaders/hlsl/raytracingcallable/callable1.rcall.spv rename to shaders/hlsl/raytracingcallable/callable1.rcall.spv diff --git a/data/shaders/hlsl/raytracingcallable/callable2.rcall b/shaders/hlsl/raytracingcallable/callable2.rcall similarity index 100% rename from data/shaders/hlsl/raytracingcallable/callable2.rcall rename to shaders/hlsl/raytracingcallable/callable2.rcall diff --git a/data/shaders/hlsl/raytracingcallable/callable2.rcall.spv b/shaders/hlsl/raytracingcallable/callable2.rcall.spv similarity index 100% rename from data/shaders/hlsl/raytracingcallable/callable2.rcall.spv rename to shaders/hlsl/raytracingcallable/callable2.rcall.spv diff --git a/data/shaders/hlsl/raytracingcallable/callable3.rcall b/shaders/hlsl/raytracingcallable/callable3.rcall similarity index 100% rename from data/shaders/hlsl/raytracingcallable/callable3.rcall rename to shaders/hlsl/raytracingcallable/callable3.rcall diff --git a/data/shaders/hlsl/raytracingcallable/callable3.rcall.spv b/shaders/hlsl/raytracingcallable/callable3.rcall.spv similarity index 100% rename from data/shaders/hlsl/raytracingcallable/callable3.rcall.spv rename to shaders/hlsl/raytracingcallable/callable3.rcall.spv diff --git a/data/shaders/hlsl/raytracingcallable/closesthit.rchit b/shaders/hlsl/raytracingcallable/closesthit.rchit similarity index 100% rename from data/shaders/hlsl/raytracingcallable/closesthit.rchit rename to shaders/hlsl/raytracingcallable/closesthit.rchit diff --git a/data/shaders/hlsl/raytracingcallable/closesthit.rchit.spv b/shaders/hlsl/raytracingcallable/closesthit.rchit.spv similarity index 100% rename from data/shaders/hlsl/raytracingcallable/closesthit.rchit.spv rename to shaders/hlsl/raytracingcallable/closesthit.rchit.spv diff --git a/data/shaders/hlsl/raytracingcallable/miss.rmiss b/shaders/hlsl/raytracingcallable/miss.rmiss similarity index 100% rename from data/shaders/hlsl/raytracingcallable/miss.rmiss rename to shaders/hlsl/raytracingcallable/miss.rmiss diff --git a/data/shaders/hlsl/raytracingcallable/miss.rmiss.spv b/shaders/hlsl/raytracingcallable/miss.rmiss.spv similarity index 100% rename from data/shaders/hlsl/raytracingcallable/miss.rmiss.spv rename to shaders/hlsl/raytracingcallable/miss.rmiss.spv diff --git a/data/shaders/hlsl/raytracingcallable/raygen.rgen b/shaders/hlsl/raytracingcallable/raygen.rgen similarity index 100% rename from data/shaders/hlsl/raytracingcallable/raygen.rgen rename to shaders/hlsl/raytracingcallable/raygen.rgen diff --git a/data/shaders/hlsl/raytracingcallable/raygen.rgen.spv b/shaders/hlsl/raytracingcallable/raygen.rgen.spv similarity index 100% rename from data/shaders/hlsl/raytracingcallable/raygen.rgen.spv rename to shaders/hlsl/raytracingcallable/raygen.rgen.spv diff --git a/data/shaders/hlsl/raytracingreflections/closesthit.rchit b/shaders/hlsl/raytracingreflections/closesthit.rchit similarity index 100% rename from data/shaders/hlsl/raytracingreflections/closesthit.rchit rename to shaders/hlsl/raytracingreflections/closesthit.rchit diff --git a/data/shaders/hlsl/raytracingreflections/closesthit.rchit.spv b/shaders/hlsl/raytracingreflections/closesthit.rchit.spv similarity index 100% rename from data/shaders/hlsl/raytracingreflections/closesthit.rchit.spv rename to shaders/hlsl/raytracingreflections/closesthit.rchit.spv diff --git a/data/shaders/hlsl/raytracingreflections/miss.rmiss b/shaders/hlsl/raytracingreflections/miss.rmiss similarity index 100% rename from data/shaders/hlsl/raytracingreflections/miss.rmiss rename to shaders/hlsl/raytracingreflections/miss.rmiss diff --git a/data/shaders/hlsl/raytracingreflections/miss.rmiss.spv b/shaders/hlsl/raytracingreflections/miss.rmiss.spv similarity index 100% rename from data/shaders/hlsl/raytracingreflections/miss.rmiss.spv rename to shaders/hlsl/raytracingreflections/miss.rmiss.spv diff --git a/data/shaders/hlsl/raytracingreflections/raygen.rgen b/shaders/hlsl/raytracingreflections/raygen.rgen similarity index 100% rename from data/shaders/hlsl/raytracingreflections/raygen.rgen rename to shaders/hlsl/raytracingreflections/raygen.rgen diff --git a/data/shaders/hlsl/raytracingreflections/raygen.rgen.spv b/shaders/hlsl/raytracingreflections/raygen.rgen.spv similarity index 100% rename from data/shaders/hlsl/raytracingreflections/raygen.rgen.spv rename to shaders/hlsl/raytracingreflections/raygen.rgen.spv diff --git a/data/shaders/hlsl/raytracingsbtdata/closesthit.rchit b/shaders/hlsl/raytracingsbtdata/closesthit.rchit similarity index 100% rename from data/shaders/hlsl/raytracingsbtdata/closesthit.rchit rename to shaders/hlsl/raytracingsbtdata/closesthit.rchit diff --git a/data/shaders/hlsl/raytracingsbtdata/closesthit.rchit.spv b/shaders/hlsl/raytracingsbtdata/closesthit.rchit.spv similarity index 100% rename from data/shaders/hlsl/raytracingsbtdata/closesthit.rchit.spv rename to shaders/hlsl/raytracingsbtdata/closesthit.rchit.spv diff --git a/data/shaders/hlsl/raytracingsbtdata/miss.rmiss b/shaders/hlsl/raytracingsbtdata/miss.rmiss similarity index 100% rename from data/shaders/hlsl/raytracingsbtdata/miss.rmiss rename to shaders/hlsl/raytracingsbtdata/miss.rmiss diff --git a/data/shaders/hlsl/raytracingsbtdata/miss.rmiss.spv b/shaders/hlsl/raytracingsbtdata/miss.rmiss.spv similarity index 100% rename from data/shaders/hlsl/raytracingsbtdata/miss.rmiss.spv rename to shaders/hlsl/raytracingsbtdata/miss.rmiss.spv diff --git a/data/shaders/hlsl/raytracingsbtdata/raygen.rgen b/shaders/hlsl/raytracingsbtdata/raygen.rgen similarity index 100% rename from data/shaders/hlsl/raytracingsbtdata/raygen.rgen rename to shaders/hlsl/raytracingsbtdata/raygen.rgen diff --git a/data/shaders/hlsl/raytracingsbtdata/raygen.rgen.spv b/shaders/hlsl/raytracingsbtdata/raygen.rgen.spv similarity index 100% rename from data/shaders/hlsl/raytracingsbtdata/raygen.rgen.spv rename to shaders/hlsl/raytracingsbtdata/raygen.rgen.spv diff --git a/data/shaders/hlsl/raytracingshadows/closesthit.rchit b/shaders/hlsl/raytracingshadows/closesthit.rchit similarity index 100% rename from data/shaders/hlsl/raytracingshadows/closesthit.rchit rename to shaders/hlsl/raytracingshadows/closesthit.rchit diff --git a/data/shaders/hlsl/raytracingshadows/closesthit.rchit.spv b/shaders/hlsl/raytracingshadows/closesthit.rchit.spv similarity index 100% rename from data/shaders/hlsl/raytracingshadows/closesthit.rchit.spv rename to shaders/hlsl/raytracingshadows/closesthit.rchit.spv diff --git a/data/shaders/hlsl/raytracingshadows/miss.rmiss b/shaders/hlsl/raytracingshadows/miss.rmiss similarity index 100% rename from data/shaders/hlsl/raytracingshadows/miss.rmiss rename to shaders/hlsl/raytracingshadows/miss.rmiss diff --git a/data/shaders/hlsl/raytracingshadows/miss.rmiss.spv b/shaders/hlsl/raytracingshadows/miss.rmiss.spv similarity index 100% rename from data/shaders/hlsl/raytracingshadows/miss.rmiss.spv rename to shaders/hlsl/raytracingshadows/miss.rmiss.spv diff --git a/data/shaders/hlsl/raytracingshadows/raygen.rgen b/shaders/hlsl/raytracingshadows/raygen.rgen similarity index 100% rename from data/shaders/hlsl/raytracingshadows/raygen.rgen rename to shaders/hlsl/raytracingshadows/raygen.rgen diff --git a/data/shaders/hlsl/raytracingshadows/raygen.rgen.spv b/shaders/hlsl/raytracingshadows/raygen.rgen.spv similarity index 100% rename from data/shaders/hlsl/raytracingshadows/raygen.rgen.spv rename to shaders/hlsl/raytracingshadows/raygen.rgen.spv diff --git a/data/shaders/hlsl/raytracingshadows/shadow.rmiss b/shaders/hlsl/raytracingshadows/shadow.rmiss similarity index 100% rename from data/shaders/hlsl/raytracingshadows/shadow.rmiss rename to shaders/hlsl/raytracingshadows/shadow.rmiss diff --git a/data/shaders/hlsl/raytracingshadows/shadow.rmiss.spv b/shaders/hlsl/raytracingshadows/shadow.rmiss.spv similarity index 100% rename from data/shaders/hlsl/raytracingshadows/shadow.rmiss.spv rename to shaders/hlsl/raytracingshadows/shadow.rmiss.spv diff --git a/data/shaders/hlsl/renderheadless/triangle.frag b/shaders/hlsl/renderheadless/triangle.frag similarity index 100% rename from data/shaders/hlsl/renderheadless/triangle.frag rename to shaders/hlsl/renderheadless/triangle.frag diff --git a/data/shaders/hlsl/renderheadless/triangle.frag.spv b/shaders/hlsl/renderheadless/triangle.frag.spv similarity index 100% rename from data/shaders/hlsl/renderheadless/triangle.frag.spv rename to shaders/hlsl/renderheadless/triangle.frag.spv diff --git a/data/shaders/hlsl/renderheadless/triangle.vert b/shaders/hlsl/renderheadless/triangle.vert similarity index 100% rename from data/shaders/hlsl/renderheadless/triangle.vert rename to shaders/hlsl/renderheadless/triangle.vert diff --git a/data/shaders/hlsl/renderheadless/triangle.vert.spv b/shaders/hlsl/renderheadless/triangle.vert.spv similarity index 100% rename from data/shaders/hlsl/renderheadless/triangle.vert.spv rename to shaders/hlsl/renderheadless/triangle.vert.spv diff --git a/data/shaders/hlsl/screenshot/mesh.frag b/shaders/hlsl/screenshot/mesh.frag similarity index 100% rename from data/shaders/hlsl/screenshot/mesh.frag rename to shaders/hlsl/screenshot/mesh.frag diff --git a/data/shaders/hlsl/screenshot/mesh.frag.spv b/shaders/hlsl/screenshot/mesh.frag.spv similarity index 100% rename from data/shaders/hlsl/screenshot/mesh.frag.spv rename to shaders/hlsl/screenshot/mesh.frag.spv diff --git a/data/shaders/hlsl/screenshot/mesh.vert b/shaders/hlsl/screenshot/mesh.vert similarity index 100% rename from data/shaders/hlsl/screenshot/mesh.vert rename to shaders/hlsl/screenshot/mesh.vert diff --git a/data/shaders/hlsl/screenshot/mesh.vert.spv b/shaders/hlsl/screenshot/mesh.vert.spv similarity index 100% rename from data/shaders/hlsl/screenshot/mesh.vert.spv rename to shaders/hlsl/screenshot/mesh.vert.spv diff --git a/data/shaders/hlsl/shadowmapping/offscreen.frag b/shaders/hlsl/shadowmapping/offscreen.frag similarity index 100% rename from data/shaders/hlsl/shadowmapping/offscreen.frag rename to shaders/hlsl/shadowmapping/offscreen.frag diff --git a/data/shaders/hlsl/shadowmapping/offscreen.frag.spv b/shaders/hlsl/shadowmapping/offscreen.frag.spv similarity index 100% rename from data/shaders/hlsl/shadowmapping/offscreen.frag.spv rename to shaders/hlsl/shadowmapping/offscreen.frag.spv diff --git a/data/shaders/hlsl/shadowmapping/offscreen.vert b/shaders/hlsl/shadowmapping/offscreen.vert similarity index 100% rename from data/shaders/hlsl/shadowmapping/offscreen.vert rename to shaders/hlsl/shadowmapping/offscreen.vert diff --git a/data/shaders/hlsl/shadowmapping/offscreen.vert.spv b/shaders/hlsl/shadowmapping/offscreen.vert.spv similarity index 100% rename from data/shaders/hlsl/shadowmapping/offscreen.vert.spv rename to shaders/hlsl/shadowmapping/offscreen.vert.spv diff --git a/data/shaders/hlsl/shadowmapping/quad.frag b/shaders/hlsl/shadowmapping/quad.frag similarity index 100% rename from data/shaders/hlsl/shadowmapping/quad.frag rename to shaders/hlsl/shadowmapping/quad.frag diff --git a/data/shaders/hlsl/shadowmapping/quad.frag.spv b/shaders/hlsl/shadowmapping/quad.frag.spv similarity index 100% rename from data/shaders/hlsl/shadowmapping/quad.frag.spv rename to shaders/hlsl/shadowmapping/quad.frag.spv diff --git a/data/shaders/hlsl/shadowmapping/quad.vert b/shaders/hlsl/shadowmapping/quad.vert similarity index 100% rename from data/shaders/hlsl/shadowmapping/quad.vert rename to shaders/hlsl/shadowmapping/quad.vert diff --git a/data/shaders/hlsl/shadowmapping/quad.vert.spv b/shaders/hlsl/shadowmapping/quad.vert.spv similarity index 100% rename from data/shaders/hlsl/shadowmapping/quad.vert.spv rename to shaders/hlsl/shadowmapping/quad.vert.spv diff --git a/data/shaders/hlsl/shadowmapping/scene.frag b/shaders/hlsl/shadowmapping/scene.frag similarity index 100% rename from data/shaders/hlsl/shadowmapping/scene.frag rename to shaders/hlsl/shadowmapping/scene.frag diff --git a/data/shaders/hlsl/shadowmapping/scene.frag.spv b/shaders/hlsl/shadowmapping/scene.frag.spv similarity index 100% rename from data/shaders/hlsl/shadowmapping/scene.frag.spv rename to shaders/hlsl/shadowmapping/scene.frag.spv diff --git a/data/shaders/hlsl/shadowmapping/scene.vert b/shaders/hlsl/shadowmapping/scene.vert similarity index 100% rename from data/shaders/hlsl/shadowmapping/scene.vert rename to shaders/hlsl/shadowmapping/scene.vert diff --git a/data/shaders/hlsl/shadowmapping/scene.vert.spv b/shaders/hlsl/shadowmapping/scene.vert.spv similarity index 100% rename from data/shaders/hlsl/shadowmapping/scene.vert.spv rename to shaders/hlsl/shadowmapping/scene.vert.spv diff --git a/data/shaders/hlsl/shadowmappingcascade/debugshadowmap.frag b/shaders/hlsl/shadowmappingcascade/debugshadowmap.frag similarity index 100% rename from data/shaders/hlsl/shadowmappingcascade/debugshadowmap.frag rename to shaders/hlsl/shadowmappingcascade/debugshadowmap.frag diff --git a/data/shaders/hlsl/shadowmappingcascade/debugshadowmap.frag.spv b/shaders/hlsl/shadowmappingcascade/debugshadowmap.frag.spv similarity index 100% rename from data/shaders/hlsl/shadowmappingcascade/debugshadowmap.frag.spv rename to shaders/hlsl/shadowmappingcascade/debugshadowmap.frag.spv diff --git a/data/shaders/hlsl/shadowmappingcascade/debugshadowmap.vert b/shaders/hlsl/shadowmappingcascade/debugshadowmap.vert similarity index 100% rename from data/shaders/hlsl/shadowmappingcascade/debugshadowmap.vert rename to shaders/hlsl/shadowmappingcascade/debugshadowmap.vert diff --git a/data/shaders/hlsl/shadowmappingcascade/debugshadowmap.vert.spv b/shaders/hlsl/shadowmappingcascade/debugshadowmap.vert.spv similarity index 100% rename from data/shaders/hlsl/shadowmappingcascade/debugshadowmap.vert.spv rename to shaders/hlsl/shadowmappingcascade/debugshadowmap.vert.spv diff --git a/data/shaders/hlsl/shadowmappingcascade/depthpass.frag b/shaders/hlsl/shadowmappingcascade/depthpass.frag similarity index 100% rename from data/shaders/hlsl/shadowmappingcascade/depthpass.frag rename to shaders/hlsl/shadowmappingcascade/depthpass.frag diff --git a/data/shaders/hlsl/shadowmappingcascade/depthpass.frag.spv b/shaders/hlsl/shadowmappingcascade/depthpass.frag.spv similarity index 100% rename from data/shaders/hlsl/shadowmappingcascade/depthpass.frag.spv rename to shaders/hlsl/shadowmappingcascade/depthpass.frag.spv diff --git a/data/shaders/hlsl/shadowmappingcascade/depthpass.vert b/shaders/hlsl/shadowmappingcascade/depthpass.vert similarity index 100% rename from data/shaders/hlsl/shadowmappingcascade/depthpass.vert rename to shaders/hlsl/shadowmappingcascade/depthpass.vert diff --git a/data/shaders/hlsl/shadowmappingcascade/depthpass.vert.spv b/shaders/hlsl/shadowmappingcascade/depthpass.vert.spv similarity index 100% rename from data/shaders/hlsl/shadowmappingcascade/depthpass.vert.spv rename to shaders/hlsl/shadowmappingcascade/depthpass.vert.spv diff --git a/data/shaders/hlsl/shadowmappingcascade/scene.frag b/shaders/hlsl/shadowmappingcascade/scene.frag similarity index 100% rename from data/shaders/hlsl/shadowmappingcascade/scene.frag rename to shaders/hlsl/shadowmappingcascade/scene.frag diff --git a/data/shaders/hlsl/shadowmappingcascade/scene.frag.spv b/shaders/hlsl/shadowmappingcascade/scene.frag.spv similarity index 100% rename from data/shaders/hlsl/shadowmappingcascade/scene.frag.spv rename to shaders/hlsl/shadowmappingcascade/scene.frag.spv diff --git a/data/shaders/hlsl/shadowmappingcascade/scene.vert b/shaders/hlsl/shadowmappingcascade/scene.vert similarity index 100% rename from data/shaders/hlsl/shadowmappingcascade/scene.vert rename to shaders/hlsl/shadowmappingcascade/scene.vert diff --git a/data/shaders/hlsl/shadowmappingcascade/scene.vert.spv b/shaders/hlsl/shadowmappingcascade/scene.vert.spv similarity index 100% rename from data/shaders/hlsl/shadowmappingcascade/scene.vert.spv rename to shaders/hlsl/shadowmappingcascade/scene.vert.spv diff --git a/data/shaders/hlsl/shadowmappingomni/cubemapdisplay.frag b/shaders/hlsl/shadowmappingomni/cubemapdisplay.frag similarity index 100% rename from data/shaders/hlsl/shadowmappingomni/cubemapdisplay.frag rename to shaders/hlsl/shadowmappingomni/cubemapdisplay.frag diff --git a/data/shaders/hlsl/shadowmappingomni/cubemapdisplay.frag.spv b/shaders/hlsl/shadowmappingomni/cubemapdisplay.frag.spv similarity index 100% rename from data/shaders/hlsl/shadowmappingomni/cubemapdisplay.frag.spv rename to shaders/hlsl/shadowmappingomni/cubemapdisplay.frag.spv diff --git a/data/shaders/hlsl/shadowmappingomni/cubemapdisplay.vert b/shaders/hlsl/shadowmappingomni/cubemapdisplay.vert similarity index 100% rename from data/shaders/hlsl/shadowmappingomni/cubemapdisplay.vert rename to shaders/hlsl/shadowmappingomni/cubemapdisplay.vert diff --git a/data/shaders/hlsl/shadowmappingomni/cubemapdisplay.vert.spv b/shaders/hlsl/shadowmappingomni/cubemapdisplay.vert.spv similarity index 100% rename from data/shaders/hlsl/shadowmappingomni/cubemapdisplay.vert.spv rename to shaders/hlsl/shadowmappingomni/cubemapdisplay.vert.spv diff --git a/data/shaders/hlsl/shadowmappingomni/offscreen.frag b/shaders/hlsl/shadowmappingomni/offscreen.frag similarity index 100% rename from data/shaders/hlsl/shadowmappingomni/offscreen.frag rename to shaders/hlsl/shadowmappingomni/offscreen.frag diff --git a/data/shaders/hlsl/shadowmappingomni/offscreen.frag.spv b/shaders/hlsl/shadowmappingomni/offscreen.frag.spv similarity index 100% rename from data/shaders/hlsl/shadowmappingomni/offscreen.frag.spv rename to shaders/hlsl/shadowmappingomni/offscreen.frag.spv diff --git a/data/shaders/hlsl/shadowmappingomni/offscreen.vert b/shaders/hlsl/shadowmappingomni/offscreen.vert similarity index 100% rename from data/shaders/hlsl/shadowmappingomni/offscreen.vert rename to shaders/hlsl/shadowmappingomni/offscreen.vert diff --git a/data/shaders/hlsl/shadowmappingomni/offscreen.vert.spv b/shaders/hlsl/shadowmappingomni/offscreen.vert.spv similarity index 100% rename from data/shaders/hlsl/shadowmappingomni/offscreen.vert.spv rename to shaders/hlsl/shadowmappingomni/offscreen.vert.spv diff --git a/data/shaders/hlsl/shadowmappingomni/scene.frag b/shaders/hlsl/shadowmappingomni/scene.frag similarity index 100% rename from data/shaders/hlsl/shadowmappingomni/scene.frag rename to shaders/hlsl/shadowmappingomni/scene.frag diff --git a/data/shaders/hlsl/shadowmappingomni/scene.frag.spv b/shaders/hlsl/shadowmappingomni/scene.frag.spv similarity index 100% rename from data/shaders/hlsl/shadowmappingomni/scene.frag.spv rename to shaders/hlsl/shadowmappingomni/scene.frag.spv diff --git a/data/shaders/hlsl/shadowmappingomni/scene.vert b/shaders/hlsl/shadowmappingomni/scene.vert similarity index 100% rename from data/shaders/hlsl/shadowmappingomni/scene.vert rename to shaders/hlsl/shadowmappingomni/scene.vert diff --git a/data/shaders/hlsl/shadowmappingomni/scene.vert.spv b/shaders/hlsl/shadowmappingomni/scene.vert.spv similarity index 100% rename from data/shaders/hlsl/shadowmappingomni/scene.vert.spv rename to shaders/hlsl/shadowmappingomni/scene.vert.spv diff --git a/data/shaders/hlsl/specializationconstants/uber.frag b/shaders/hlsl/specializationconstants/uber.frag similarity index 100% rename from data/shaders/hlsl/specializationconstants/uber.frag rename to shaders/hlsl/specializationconstants/uber.frag diff --git a/data/shaders/hlsl/specializationconstants/uber.frag.spv b/shaders/hlsl/specializationconstants/uber.frag.spv similarity index 100% rename from data/shaders/hlsl/specializationconstants/uber.frag.spv rename to shaders/hlsl/specializationconstants/uber.frag.spv diff --git a/data/shaders/hlsl/specializationconstants/uber.vert b/shaders/hlsl/specializationconstants/uber.vert similarity index 100% rename from data/shaders/hlsl/specializationconstants/uber.vert rename to shaders/hlsl/specializationconstants/uber.vert diff --git a/data/shaders/hlsl/specializationconstants/uber.vert.spv b/shaders/hlsl/specializationconstants/uber.vert.spv similarity index 100% rename from data/shaders/hlsl/specializationconstants/uber.vert.spv rename to shaders/hlsl/specializationconstants/uber.vert.spv diff --git a/data/shaders/hlsl/sphericalenvmapping/sem.frag b/shaders/hlsl/sphericalenvmapping/sem.frag similarity index 100% rename from data/shaders/hlsl/sphericalenvmapping/sem.frag rename to shaders/hlsl/sphericalenvmapping/sem.frag diff --git a/data/shaders/hlsl/sphericalenvmapping/sem.frag.spv b/shaders/hlsl/sphericalenvmapping/sem.frag.spv similarity index 100% rename from data/shaders/hlsl/sphericalenvmapping/sem.frag.spv rename to shaders/hlsl/sphericalenvmapping/sem.frag.spv diff --git a/data/shaders/hlsl/sphericalenvmapping/sem.vert b/shaders/hlsl/sphericalenvmapping/sem.vert similarity index 100% rename from data/shaders/hlsl/sphericalenvmapping/sem.vert rename to shaders/hlsl/sphericalenvmapping/sem.vert diff --git a/data/shaders/hlsl/sphericalenvmapping/sem.vert.spv b/shaders/hlsl/sphericalenvmapping/sem.vert.spv similarity index 100% rename from data/shaders/hlsl/sphericalenvmapping/sem.vert.spv rename to shaders/hlsl/sphericalenvmapping/sem.vert.spv diff --git a/data/shaders/hlsl/ssao/blur.frag b/shaders/hlsl/ssao/blur.frag similarity index 100% rename from data/shaders/hlsl/ssao/blur.frag rename to shaders/hlsl/ssao/blur.frag diff --git a/data/shaders/hlsl/ssao/blur.frag.spv b/shaders/hlsl/ssao/blur.frag.spv similarity index 100% rename from data/shaders/hlsl/ssao/blur.frag.spv rename to shaders/hlsl/ssao/blur.frag.spv diff --git a/data/shaders/hlsl/ssao/composition.frag b/shaders/hlsl/ssao/composition.frag similarity index 100% rename from data/shaders/hlsl/ssao/composition.frag rename to shaders/hlsl/ssao/composition.frag diff --git a/data/shaders/hlsl/ssao/composition.frag.spv b/shaders/hlsl/ssao/composition.frag.spv similarity index 100% rename from data/shaders/hlsl/ssao/composition.frag.spv rename to shaders/hlsl/ssao/composition.frag.spv diff --git a/data/shaders/hlsl/ssao/fullscreen.vert b/shaders/hlsl/ssao/fullscreen.vert similarity index 100% rename from data/shaders/hlsl/ssao/fullscreen.vert rename to shaders/hlsl/ssao/fullscreen.vert diff --git a/data/shaders/hlsl/ssao/fullscreen.vert.spv b/shaders/hlsl/ssao/fullscreen.vert.spv similarity index 100% rename from data/shaders/hlsl/ssao/fullscreen.vert.spv rename to shaders/hlsl/ssao/fullscreen.vert.spv diff --git a/data/shaders/hlsl/ssao/gbuffer.frag b/shaders/hlsl/ssao/gbuffer.frag similarity index 100% rename from data/shaders/hlsl/ssao/gbuffer.frag rename to shaders/hlsl/ssao/gbuffer.frag diff --git a/data/shaders/hlsl/ssao/gbuffer.frag.spv b/shaders/hlsl/ssao/gbuffer.frag.spv similarity index 100% rename from data/shaders/hlsl/ssao/gbuffer.frag.spv rename to shaders/hlsl/ssao/gbuffer.frag.spv diff --git a/data/shaders/hlsl/ssao/gbuffer.vert b/shaders/hlsl/ssao/gbuffer.vert similarity index 100% rename from data/shaders/hlsl/ssao/gbuffer.vert rename to shaders/hlsl/ssao/gbuffer.vert diff --git a/data/shaders/hlsl/ssao/gbuffer.vert.spv b/shaders/hlsl/ssao/gbuffer.vert.spv similarity index 100% rename from data/shaders/hlsl/ssao/gbuffer.vert.spv rename to shaders/hlsl/ssao/gbuffer.vert.spv diff --git a/data/shaders/hlsl/ssao/ssao.frag b/shaders/hlsl/ssao/ssao.frag similarity index 100% rename from data/shaders/hlsl/ssao/ssao.frag rename to shaders/hlsl/ssao/ssao.frag diff --git a/data/shaders/hlsl/ssao/ssao.frag.spv b/shaders/hlsl/ssao/ssao.frag.spv similarity index 100% rename from data/shaders/hlsl/ssao/ssao.frag.spv rename to shaders/hlsl/ssao/ssao.frag.spv diff --git a/data/shaders/hlsl/stencilbuffer/outline.frag b/shaders/hlsl/stencilbuffer/outline.frag similarity index 100% rename from data/shaders/hlsl/stencilbuffer/outline.frag rename to shaders/hlsl/stencilbuffer/outline.frag diff --git a/data/shaders/hlsl/stencilbuffer/outline.frag.spv b/shaders/hlsl/stencilbuffer/outline.frag.spv similarity index 100% rename from data/shaders/hlsl/stencilbuffer/outline.frag.spv rename to shaders/hlsl/stencilbuffer/outline.frag.spv diff --git a/data/shaders/hlsl/stencilbuffer/outline.vert b/shaders/hlsl/stencilbuffer/outline.vert similarity index 100% rename from data/shaders/hlsl/stencilbuffer/outline.vert rename to shaders/hlsl/stencilbuffer/outline.vert diff --git a/data/shaders/hlsl/stencilbuffer/outline.vert.spv b/shaders/hlsl/stencilbuffer/outline.vert.spv similarity index 100% rename from data/shaders/hlsl/stencilbuffer/outline.vert.spv rename to shaders/hlsl/stencilbuffer/outline.vert.spv diff --git a/data/shaders/hlsl/stencilbuffer/toon.frag b/shaders/hlsl/stencilbuffer/toon.frag similarity index 100% rename from data/shaders/hlsl/stencilbuffer/toon.frag rename to shaders/hlsl/stencilbuffer/toon.frag diff --git a/data/shaders/hlsl/stencilbuffer/toon.frag.spv b/shaders/hlsl/stencilbuffer/toon.frag.spv similarity index 100% rename from data/shaders/hlsl/stencilbuffer/toon.frag.spv rename to shaders/hlsl/stencilbuffer/toon.frag.spv diff --git a/data/shaders/hlsl/stencilbuffer/toon.vert b/shaders/hlsl/stencilbuffer/toon.vert similarity index 100% rename from data/shaders/hlsl/stencilbuffer/toon.vert rename to shaders/hlsl/stencilbuffer/toon.vert diff --git a/data/shaders/hlsl/stencilbuffer/toon.vert.spv b/shaders/hlsl/stencilbuffer/toon.vert.spv similarity index 100% rename from data/shaders/hlsl/stencilbuffer/toon.vert.spv rename to shaders/hlsl/stencilbuffer/toon.vert.spv diff --git a/data/shaders/hlsl/subpasses/composition.frag b/shaders/hlsl/subpasses/composition.frag similarity index 100% rename from data/shaders/hlsl/subpasses/composition.frag rename to shaders/hlsl/subpasses/composition.frag diff --git a/data/shaders/hlsl/subpasses/composition.frag.spv b/shaders/hlsl/subpasses/composition.frag.spv similarity index 100% rename from data/shaders/hlsl/subpasses/composition.frag.spv rename to shaders/hlsl/subpasses/composition.frag.spv diff --git a/data/shaders/hlsl/subpasses/composition.vert b/shaders/hlsl/subpasses/composition.vert similarity index 100% rename from data/shaders/hlsl/subpasses/composition.vert rename to shaders/hlsl/subpasses/composition.vert diff --git a/data/shaders/hlsl/subpasses/composition.vert.spv b/shaders/hlsl/subpasses/composition.vert.spv similarity index 100% rename from data/shaders/hlsl/subpasses/composition.vert.spv rename to shaders/hlsl/subpasses/composition.vert.spv diff --git a/data/shaders/hlsl/subpasses/gbuffer.frag b/shaders/hlsl/subpasses/gbuffer.frag similarity index 100% rename from data/shaders/hlsl/subpasses/gbuffer.frag rename to shaders/hlsl/subpasses/gbuffer.frag diff --git a/data/shaders/hlsl/subpasses/gbuffer.frag.spv b/shaders/hlsl/subpasses/gbuffer.frag.spv similarity index 100% rename from data/shaders/hlsl/subpasses/gbuffer.frag.spv rename to shaders/hlsl/subpasses/gbuffer.frag.spv diff --git a/data/shaders/hlsl/subpasses/gbuffer.vert b/shaders/hlsl/subpasses/gbuffer.vert similarity index 100% rename from data/shaders/hlsl/subpasses/gbuffer.vert rename to shaders/hlsl/subpasses/gbuffer.vert diff --git a/data/shaders/hlsl/subpasses/gbuffer.vert.spv b/shaders/hlsl/subpasses/gbuffer.vert.spv similarity index 100% rename from data/shaders/hlsl/subpasses/gbuffer.vert.spv rename to shaders/hlsl/subpasses/gbuffer.vert.spv diff --git a/data/shaders/hlsl/subpasses/transparent.frag b/shaders/hlsl/subpasses/transparent.frag similarity index 100% rename from data/shaders/hlsl/subpasses/transparent.frag rename to shaders/hlsl/subpasses/transparent.frag diff --git a/data/shaders/hlsl/subpasses/transparent.frag.spv b/shaders/hlsl/subpasses/transparent.frag.spv similarity index 100% rename from data/shaders/hlsl/subpasses/transparent.frag.spv rename to shaders/hlsl/subpasses/transparent.frag.spv diff --git a/data/shaders/hlsl/subpasses/transparent.vert b/shaders/hlsl/subpasses/transparent.vert similarity index 100% rename from data/shaders/hlsl/subpasses/transparent.vert rename to shaders/hlsl/subpasses/transparent.vert diff --git a/data/shaders/hlsl/subpasses/transparent.vert.spv b/shaders/hlsl/subpasses/transparent.vert.spv similarity index 100% rename from data/shaders/hlsl/subpasses/transparent.vert.spv rename to shaders/hlsl/subpasses/transparent.vert.spv diff --git a/data/shaders/hlsl/terraintessellation/skysphere.frag b/shaders/hlsl/terraintessellation/skysphere.frag similarity index 100% rename from data/shaders/hlsl/terraintessellation/skysphere.frag rename to shaders/hlsl/terraintessellation/skysphere.frag diff --git a/data/shaders/hlsl/terraintessellation/skysphere.frag.spv b/shaders/hlsl/terraintessellation/skysphere.frag.spv similarity index 100% rename from data/shaders/hlsl/terraintessellation/skysphere.frag.spv rename to shaders/hlsl/terraintessellation/skysphere.frag.spv diff --git a/data/shaders/hlsl/terraintessellation/skysphere.vert b/shaders/hlsl/terraintessellation/skysphere.vert similarity index 100% rename from data/shaders/hlsl/terraintessellation/skysphere.vert rename to shaders/hlsl/terraintessellation/skysphere.vert diff --git a/data/shaders/hlsl/terraintessellation/skysphere.vert.spv b/shaders/hlsl/terraintessellation/skysphere.vert.spv similarity index 100% rename from data/shaders/hlsl/terraintessellation/skysphere.vert.spv rename to shaders/hlsl/terraintessellation/skysphere.vert.spv diff --git a/data/shaders/hlsl/terraintessellation/terrain.frag b/shaders/hlsl/terraintessellation/terrain.frag similarity index 100% rename from data/shaders/hlsl/terraintessellation/terrain.frag rename to shaders/hlsl/terraintessellation/terrain.frag diff --git a/data/shaders/hlsl/terraintessellation/terrain.frag.spv b/shaders/hlsl/terraintessellation/terrain.frag.spv similarity index 100% rename from data/shaders/hlsl/terraintessellation/terrain.frag.spv rename to shaders/hlsl/terraintessellation/terrain.frag.spv diff --git a/data/shaders/hlsl/terraintessellation/terrain.tesc b/shaders/hlsl/terraintessellation/terrain.tesc similarity index 100% rename from data/shaders/hlsl/terraintessellation/terrain.tesc rename to shaders/hlsl/terraintessellation/terrain.tesc diff --git a/data/shaders/hlsl/terraintessellation/terrain.tesc.spv b/shaders/hlsl/terraintessellation/terrain.tesc.spv similarity index 100% rename from data/shaders/hlsl/terraintessellation/terrain.tesc.spv rename to shaders/hlsl/terraintessellation/terrain.tesc.spv diff --git a/data/shaders/hlsl/terraintessellation/terrain.tese b/shaders/hlsl/terraintessellation/terrain.tese similarity index 100% rename from data/shaders/hlsl/terraintessellation/terrain.tese rename to shaders/hlsl/terraintessellation/terrain.tese diff --git a/data/shaders/hlsl/terraintessellation/terrain.tese.spv b/shaders/hlsl/terraintessellation/terrain.tese.spv similarity index 100% rename from data/shaders/hlsl/terraintessellation/terrain.tese.spv rename to shaders/hlsl/terraintessellation/terrain.tese.spv diff --git a/data/shaders/hlsl/terraintessellation/terrain.vert b/shaders/hlsl/terraintessellation/terrain.vert similarity index 100% rename from data/shaders/hlsl/terraintessellation/terrain.vert rename to shaders/hlsl/terraintessellation/terrain.vert diff --git a/data/shaders/hlsl/terraintessellation/terrain.vert.spv b/shaders/hlsl/terraintessellation/terrain.vert.spv similarity index 100% rename from data/shaders/hlsl/terraintessellation/terrain.vert.spv rename to shaders/hlsl/terraintessellation/terrain.vert.spv diff --git a/data/shaders/hlsl/tessellation/base.frag b/shaders/hlsl/tessellation/base.frag similarity index 100% rename from data/shaders/hlsl/tessellation/base.frag rename to shaders/hlsl/tessellation/base.frag diff --git a/data/shaders/hlsl/tessellation/base.frag.spv b/shaders/hlsl/tessellation/base.frag.spv similarity index 100% rename from data/shaders/hlsl/tessellation/base.frag.spv rename to shaders/hlsl/tessellation/base.frag.spv diff --git a/data/shaders/hlsl/tessellation/base.vert b/shaders/hlsl/tessellation/base.vert similarity index 100% rename from data/shaders/hlsl/tessellation/base.vert rename to shaders/hlsl/tessellation/base.vert diff --git a/data/shaders/hlsl/tessellation/base.vert.spv b/shaders/hlsl/tessellation/base.vert.spv similarity index 100% rename from data/shaders/hlsl/tessellation/base.vert.spv rename to shaders/hlsl/tessellation/base.vert.spv diff --git a/data/shaders/hlsl/tessellation/passthrough.tesc b/shaders/hlsl/tessellation/passthrough.tesc similarity index 100% rename from data/shaders/hlsl/tessellation/passthrough.tesc rename to shaders/hlsl/tessellation/passthrough.tesc diff --git a/data/shaders/hlsl/tessellation/passthrough.tesc.spv b/shaders/hlsl/tessellation/passthrough.tesc.spv similarity index 100% rename from data/shaders/hlsl/tessellation/passthrough.tesc.spv rename to shaders/hlsl/tessellation/passthrough.tesc.spv diff --git a/data/shaders/hlsl/tessellation/passthrough.tese b/shaders/hlsl/tessellation/passthrough.tese similarity index 100% rename from data/shaders/hlsl/tessellation/passthrough.tese rename to shaders/hlsl/tessellation/passthrough.tese diff --git a/data/shaders/hlsl/tessellation/passthrough.tese.spv b/shaders/hlsl/tessellation/passthrough.tese.spv similarity index 100% rename from data/shaders/hlsl/tessellation/passthrough.tese.spv rename to shaders/hlsl/tessellation/passthrough.tese.spv diff --git a/data/shaders/hlsl/tessellation/pntriangles.tesc b/shaders/hlsl/tessellation/pntriangles.tesc similarity index 100% rename from data/shaders/hlsl/tessellation/pntriangles.tesc rename to shaders/hlsl/tessellation/pntriangles.tesc diff --git a/data/shaders/hlsl/tessellation/pntriangles.tesc.spv b/shaders/hlsl/tessellation/pntriangles.tesc.spv similarity index 100% rename from data/shaders/hlsl/tessellation/pntriangles.tesc.spv rename to shaders/hlsl/tessellation/pntriangles.tesc.spv diff --git a/data/shaders/hlsl/tessellation/pntriangles.tese b/shaders/hlsl/tessellation/pntriangles.tese similarity index 100% rename from data/shaders/hlsl/tessellation/pntriangles.tese rename to shaders/hlsl/tessellation/pntriangles.tese diff --git a/data/shaders/hlsl/tessellation/pntriangles.tese.spv b/shaders/hlsl/tessellation/pntriangles.tese.spv similarity index 100% rename from data/shaders/hlsl/tessellation/pntriangles.tese.spv rename to shaders/hlsl/tessellation/pntriangles.tese.spv diff --git a/data/shaders/hlsl/textoverlay/mesh.frag b/shaders/hlsl/textoverlay/mesh.frag similarity index 100% rename from data/shaders/hlsl/textoverlay/mesh.frag rename to shaders/hlsl/textoverlay/mesh.frag diff --git a/data/shaders/hlsl/textoverlay/mesh.frag.spv b/shaders/hlsl/textoverlay/mesh.frag.spv similarity index 100% rename from data/shaders/hlsl/textoverlay/mesh.frag.spv rename to shaders/hlsl/textoverlay/mesh.frag.spv diff --git a/data/shaders/hlsl/textoverlay/mesh.vert b/shaders/hlsl/textoverlay/mesh.vert similarity index 100% rename from data/shaders/hlsl/textoverlay/mesh.vert rename to shaders/hlsl/textoverlay/mesh.vert diff --git a/data/shaders/hlsl/textoverlay/mesh.vert.spv b/shaders/hlsl/textoverlay/mesh.vert.spv similarity index 100% rename from data/shaders/hlsl/textoverlay/mesh.vert.spv rename to shaders/hlsl/textoverlay/mesh.vert.spv diff --git a/data/shaders/hlsl/textoverlay/text.frag b/shaders/hlsl/textoverlay/text.frag similarity index 100% rename from data/shaders/hlsl/textoverlay/text.frag rename to shaders/hlsl/textoverlay/text.frag diff --git a/data/shaders/hlsl/textoverlay/text.frag.spv b/shaders/hlsl/textoverlay/text.frag.spv similarity index 100% rename from data/shaders/hlsl/textoverlay/text.frag.spv rename to shaders/hlsl/textoverlay/text.frag.spv diff --git a/data/shaders/hlsl/textoverlay/text.vert b/shaders/hlsl/textoverlay/text.vert similarity index 100% rename from data/shaders/hlsl/textoverlay/text.vert rename to shaders/hlsl/textoverlay/text.vert diff --git a/data/shaders/hlsl/textoverlay/text.vert.spv b/shaders/hlsl/textoverlay/text.vert.spv similarity index 100% rename from data/shaders/hlsl/textoverlay/text.vert.spv rename to shaders/hlsl/textoverlay/text.vert.spv diff --git a/data/shaders/hlsl/texture/texture.frag b/shaders/hlsl/texture/texture.frag similarity index 100% rename from data/shaders/hlsl/texture/texture.frag rename to shaders/hlsl/texture/texture.frag diff --git a/data/shaders/hlsl/texture/texture.frag.spv b/shaders/hlsl/texture/texture.frag.spv similarity index 100% rename from data/shaders/hlsl/texture/texture.frag.spv rename to shaders/hlsl/texture/texture.frag.spv diff --git a/data/shaders/hlsl/texture/texture.vert b/shaders/hlsl/texture/texture.vert similarity index 100% rename from data/shaders/hlsl/texture/texture.vert rename to shaders/hlsl/texture/texture.vert diff --git a/data/shaders/hlsl/texture/texture.vert.spv b/shaders/hlsl/texture/texture.vert.spv similarity index 100% rename from data/shaders/hlsl/texture/texture.vert.spv rename to shaders/hlsl/texture/texture.vert.spv diff --git a/data/shaders/hlsl/texture3d/texture3d.frag b/shaders/hlsl/texture3d/texture3d.frag similarity index 100% rename from data/shaders/hlsl/texture3d/texture3d.frag rename to shaders/hlsl/texture3d/texture3d.frag diff --git a/data/shaders/hlsl/texture3d/texture3d.frag.spv b/shaders/hlsl/texture3d/texture3d.frag.spv similarity index 100% rename from data/shaders/hlsl/texture3d/texture3d.frag.spv rename to shaders/hlsl/texture3d/texture3d.frag.spv diff --git a/data/shaders/hlsl/texture3d/texture3d.vert b/shaders/hlsl/texture3d/texture3d.vert similarity index 100% rename from data/shaders/hlsl/texture3d/texture3d.vert rename to shaders/hlsl/texture3d/texture3d.vert diff --git a/data/shaders/hlsl/texture3d/texture3d.vert.spv b/shaders/hlsl/texture3d/texture3d.vert.spv similarity index 100% rename from data/shaders/hlsl/texture3d/texture3d.vert.spv rename to shaders/hlsl/texture3d/texture3d.vert.spv diff --git a/data/shaders/hlsl/texturearray/instancing.frag b/shaders/hlsl/texturearray/instancing.frag similarity index 100% rename from data/shaders/hlsl/texturearray/instancing.frag rename to shaders/hlsl/texturearray/instancing.frag diff --git a/data/shaders/hlsl/texturearray/instancing.frag.spv b/shaders/hlsl/texturearray/instancing.frag.spv similarity index 100% rename from data/shaders/hlsl/texturearray/instancing.frag.spv rename to shaders/hlsl/texturearray/instancing.frag.spv diff --git a/data/shaders/hlsl/texturearray/instancing.vert b/shaders/hlsl/texturearray/instancing.vert similarity index 100% rename from data/shaders/hlsl/texturearray/instancing.vert rename to shaders/hlsl/texturearray/instancing.vert diff --git a/data/shaders/hlsl/texturearray/instancing.vert.spv b/shaders/hlsl/texturearray/instancing.vert.spv similarity index 100% rename from data/shaders/hlsl/texturearray/instancing.vert.spv rename to shaders/hlsl/texturearray/instancing.vert.spv diff --git a/data/shaders/hlsl/texturecubemap/reflect.frag b/shaders/hlsl/texturecubemap/reflect.frag similarity index 100% rename from data/shaders/hlsl/texturecubemap/reflect.frag rename to shaders/hlsl/texturecubemap/reflect.frag diff --git a/data/shaders/hlsl/texturecubemap/reflect.frag.spv b/shaders/hlsl/texturecubemap/reflect.frag.spv similarity index 100% rename from data/shaders/hlsl/texturecubemap/reflect.frag.spv rename to shaders/hlsl/texturecubemap/reflect.frag.spv diff --git a/data/shaders/hlsl/texturecubemap/reflect.vert b/shaders/hlsl/texturecubemap/reflect.vert similarity index 100% rename from data/shaders/hlsl/texturecubemap/reflect.vert rename to shaders/hlsl/texturecubemap/reflect.vert diff --git a/data/shaders/hlsl/texturecubemap/reflect.vert.spv b/shaders/hlsl/texturecubemap/reflect.vert.spv similarity index 100% rename from data/shaders/hlsl/texturecubemap/reflect.vert.spv rename to shaders/hlsl/texturecubemap/reflect.vert.spv diff --git a/data/shaders/hlsl/texturecubemap/skybox.frag b/shaders/hlsl/texturecubemap/skybox.frag similarity index 100% rename from data/shaders/hlsl/texturecubemap/skybox.frag rename to shaders/hlsl/texturecubemap/skybox.frag diff --git a/data/shaders/hlsl/texturecubemap/skybox.frag.spv b/shaders/hlsl/texturecubemap/skybox.frag.spv similarity index 100% rename from data/shaders/hlsl/texturecubemap/skybox.frag.spv rename to shaders/hlsl/texturecubemap/skybox.frag.spv diff --git a/data/shaders/hlsl/texturecubemap/skybox.vert b/shaders/hlsl/texturecubemap/skybox.vert similarity index 100% rename from data/shaders/hlsl/texturecubemap/skybox.vert rename to shaders/hlsl/texturecubemap/skybox.vert diff --git a/data/shaders/hlsl/texturecubemap/skybox.vert.spv b/shaders/hlsl/texturecubemap/skybox.vert.spv similarity index 100% rename from data/shaders/hlsl/texturecubemap/skybox.vert.spv rename to shaders/hlsl/texturecubemap/skybox.vert.spv diff --git a/data/shaders/hlsl/texturecubemaparray/reflect.frag b/shaders/hlsl/texturecubemaparray/reflect.frag similarity index 100% rename from data/shaders/hlsl/texturecubemaparray/reflect.frag rename to shaders/hlsl/texturecubemaparray/reflect.frag diff --git a/data/shaders/hlsl/texturecubemaparray/reflect.frag.spv b/shaders/hlsl/texturecubemaparray/reflect.frag.spv similarity index 100% rename from data/shaders/hlsl/texturecubemaparray/reflect.frag.spv rename to shaders/hlsl/texturecubemaparray/reflect.frag.spv diff --git a/data/shaders/hlsl/texturecubemaparray/reflect.vert b/shaders/hlsl/texturecubemaparray/reflect.vert similarity index 100% rename from data/shaders/hlsl/texturecubemaparray/reflect.vert rename to shaders/hlsl/texturecubemaparray/reflect.vert diff --git a/data/shaders/hlsl/texturecubemaparray/reflect.vert.spv b/shaders/hlsl/texturecubemaparray/reflect.vert.spv similarity index 100% rename from data/shaders/hlsl/texturecubemaparray/reflect.vert.spv rename to shaders/hlsl/texturecubemaparray/reflect.vert.spv diff --git a/data/shaders/hlsl/texturecubemaparray/skybox.frag b/shaders/hlsl/texturecubemaparray/skybox.frag similarity index 100% rename from data/shaders/hlsl/texturecubemaparray/skybox.frag rename to shaders/hlsl/texturecubemaparray/skybox.frag diff --git a/data/shaders/hlsl/texturecubemaparray/skybox.frag.spv b/shaders/hlsl/texturecubemaparray/skybox.frag.spv similarity index 100% rename from data/shaders/hlsl/texturecubemaparray/skybox.frag.spv rename to shaders/hlsl/texturecubemaparray/skybox.frag.spv diff --git a/data/shaders/hlsl/texturecubemaparray/skybox.vert b/shaders/hlsl/texturecubemaparray/skybox.vert similarity index 100% rename from data/shaders/hlsl/texturecubemaparray/skybox.vert rename to shaders/hlsl/texturecubemaparray/skybox.vert diff --git a/data/shaders/hlsl/texturecubemaparray/skybox.vert.spv b/shaders/hlsl/texturecubemaparray/skybox.vert.spv similarity index 100% rename from data/shaders/hlsl/texturecubemaparray/skybox.vert.spv rename to shaders/hlsl/texturecubemaparray/skybox.vert.spv diff --git a/data/shaders/hlsl/texturemipmapgen/texture.frag b/shaders/hlsl/texturemipmapgen/texture.frag similarity index 100% rename from data/shaders/hlsl/texturemipmapgen/texture.frag rename to shaders/hlsl/texturemipmapgen/texture.frag diff --git a/data/shaders/hlsl/texturemipmapgen/texture.frag.spv b/shaders/hlsl/texturemipmapgen/texture.frag.spv similarity index 100% rename from data/shaders/hlsl/texturemipmapgen/texture.frag.spv rename to shaders/hlsl/texturemipmapgen/texture.frag.spv diff --git a/data/shaders/hlsl/texturemipmapgen/texture.vert b/shaders/hlsl/texturemipmapgen/texture.vert similarity index 100% rename from data/shaders/hlsl/texturemipmapgen/texture.vert rename to shaders/hlsl/texturemipmapgen/texture.vert diff --git a/data/shaders/hlsl/texturemipmapgen/texture.vert.spv b/shaders/hlsl/texturemipmapgen/texture.vert.spv similarity index 100% rename from data/shaders/hlsl/texturemipmapgen/texture.vert.spv rename to shaders/hlsl/texturemipmapgen/texture.vert.spv diff --git a/data/shaders/hlsl/texturesparseresidency/sparseresidency.frag b/shaders/hlsl/texturesparseresidency/sparseresidency.frag similarity index 100% rename from data/shaders/hlsl/texturesparseresidency/sparseresidency.frag rename to shaders/hlsl/texturesparseresidency/sparseresidency.frag diff --git a/data/shaders/hlsl/texturesparseresidency/sparseresidency.frag.spv b/shaders/hlsl/texturesparseresidency/sparseresidency.frag.spv similarity index 100% rename from data/shaders/hlsl/texturesparseresidency/sparseresidency.frag.spv rename to shaders/hlsl/texturesparseresidency/sparseresidency.frag.spv diff --git a/data/shaders/hlsl/texturesparseresidency/sparseresidency.vert b/shaders/hlsl/texturesparseresidency/sparseresidency.vert similarity index 100% rename from data/shaders/hlsl/texturesparseresidency/sparseresidency.vert rename to shaders/hlsl/texturesparseresidency/sparseresidency.vert diff --git a/data/shaders/hlsl/texturesparseresidency/sparseresidency.vert.spv b/shaders/hlsl/texturesparseresidency/sparseresidency.vert.spv similarity index 100% rename from data/shaders/hlsl/texturesparseresidency/sparseresidency.vert.spv rename to shaders/hlsl/texturesparseresidency/sparseresidency.vert.spv diff --git a/data/shaders/hlsl/triangle/triangle.frag b/shaders/hlsl/triangle/triangle.frag similarity index 100% rename from data/shaders/hlsl/triangle/triangle.frag rename to shaders/hlsl/triangle/triangle.frag diff --git a/data/shaders/hlsl/triangle/triangle.frag.spv b/shaders/hlsl/triangle/triangle.frag.spv similarity index 100% rename from data/shaders/hlsl/triangle/triangle.frag.spv rename to shaders/hlsl/triangle/triangle.frag.spv diff --git a/data/shaders/hlsl/triangle/triangle.vert b/shaders/hlsl/triangle/triangle.vert similarity index 100% rename from data/shaders/hlsl/triangle/triangle.vert rename to shaders/hlsl/triangle/triangle.vert diff --git a/data/shaders/hlsl/triangle/triangle.vert.spv b/shaders/hlsl/triangle/triangle.vert.spv similarity index 100% rename from data/shaders/hlsl/triangle/triangle.vert.spv rename to shaders/hlsl/triangle/triangle.vert.spv diff --git a/data/shaders/hlsl/variablerateshading/scene.frag b/shaders/hlsl/variablerateshading/scene.frag similarity index 100% rename from data/shaders/hlsl/variablerateshading/scene.frag rename to shaders/hlsl/variablerateshading/scene.frag diff --git a/data/shaders/hlsl/variablerateshading/scene.frag.spv b/shaders/hlsl/variablerateshading/scene.frag.spv similarity index 100% rename from data/shaders/hlsl/variablerateshading/scene.frag.spv rename to shaders/hlsl/variablerateshading/scene.frag.spv diff --git a/data/shaders/hlsl/variablerateshading/scene.vert b/shaders/hlsl/variablerateshading/scene.vert similarity index 100% rename from data/shaders/hlsl/variablerateshading/scene.vert rename to shaders/hlsl/variablerateshading/scene.vert diff --git a/data/shaders/hlsl/variablerateshading/scene.vert.spv b/shaders/hlsl/variablerateshading/scene.vert.spv similarity index 100% rename from data/shaders/hlsl/variablerateshading/scene.vert.spv rename to shaders/hlsl/variablerateshading/scene.vert.spv diff --git a/data/shaders/hlsl/viewportarray/multiview.geom b/shaders/hlsl/viewportarray/multiview.geom similarity index 100% rename from data/shaders/hlsl/viewportarray/multiview.geom rename to shaders/hlsl/viewportarray/multiview.geom diff --git a/data/shaders/hlsl/viewportarray/multiview.geom.spv b/shaders/hlsl/viewportarray/multiview.geom.spv similarity index 100% rename from data/shaders/hlsl/viewportarray/multiview.geom.spv rename to shaders/hlsl/viewportarray/multiview.geom.spv diff --git a/data/shaders/hlsl/viewportarray/scene.frag b/shaders/hlsl/viewportarray/scene.frag similarity index 100% rename from data/shaders/hlsl/viewportarray/scene.frag rename to shaders/hlsl/viewportarray/scene.frag diff --git a/data/shaders/hlsl/viewportarray/scene.frag.spv b/shaders/hlsl/viewportarray/scene.frag.spv similarity index 100% rename from data/shaders/hlsl/viewportarray/scene.frag.spv rename to shaders/hlsl/viewportarray/scene.frag.spv diff --git a/data/shaders/hlsl/viewportarray/scene.vert b/shaders/hlsl/viewportarray/scene.vert similarity index 100% rename from data/shaders/hlsl/viewportarray/scene.vert rename to shaders/hlsl/viewportarray/scene.vert diff --git a/data/shaders/hlsl/viewportarray/scene.vert.spv b/shaders/hlsl/viewportarray/scene.vert.spv similarity index 100% rename from data/shaders/hlsl/viewportarray/scene.vert.spv rename to shaders/hlsl/viewportarray/scene.vert.spv diff --git a/data/shaders/hlsl/vulkanscene/logo.frag b/shaders/hlsl/vulkanscene/logo.frag similarity index 100% rename from data/shaders/hlsl/vulkanscene/logo.frag rename to shaders/hlsl/vulkanscene/logo.frag diff --git a/data/shaders/hlsl/vulkanscene/logo.frag.spv b/shaders/hlsl/vulkanscene/logo.frag.spv similarity index 100% rename from data/shaders/hlsl/vulkanscene/logo.frag.spv rename to shaders/hlsl/vulkanscene/logo.frag.spv diff --git a/data/shaders/hlsl/vulkanscene/logo.vert b/shaders/hlsl/vulkanscene/logo.vert similarity index 100% rename from data/shaders/hlsl/vulkanscene/logo.vert rename to shaders/hlsl/vulkanscene/logo.vert diff --git a/data/shaders/hlsl/vulkanscene/logo.vert.spv b/shaders/hlsl/vulkanscene/logo.vert.spv similarity index 100% rename from data/shaders/hlsl/vulkanscene/logo.vert.spv rename to shaders/hlsl/vulkanscene/logo.vert.spv diff --git a/data/shaders/hlsl/vulkanscene/mesh.frag b/shaders/hlsl/vulkanscene/mesh.frag similarity index 100% rename from data/shaders/hlsl/vulkanscene/mesh.frag rename to shaders/hlsl/vulkanscene/mesh.frag diff --git a/data/shaders/hlsl/vulkanscene/mesh.frag.spv b/shaders/hlsl/vulkanscene/mesh.frag.spv similarity index 100% rename from data/shaders/hlsl/vulkanscene/mesh.frag.spv rename to shaders/hlsl/vulkanscene/mesh.frag.spv diff --git a/data/shaders/hlsl/vulkanscene/mesh.vert b/shaders/hlsl/vulkanscene/mesh.vert similarity index 100% rename from data/shaders/hlsl/vulkanscene/mesh.vert rename to shaders/hlsl/vulkanscene/mesh.vert diff --git a/data/shaders/hlsl/vulkanscene/mesh.vert.spv b/shaders/hlsl/vulkanscene/mesh.vert.spv similarity index 100% rename from data/shaders/hlsl/vulkanscene/mesh.vert.spv rename to shaders/hlsl/vulkanscene/mesh.vert.spv diff --git a/data/shaders/hlsl/vulkanscene/skybox.frag b/shaders/hlsl/vulkanscene/skybox.frag similarity index 100% rename from data/shaders/hlsl/vulkanscene/skybox.frag rename to shaders/hlsl/vulkanscene/skybox.frag diff --git a/data/shaders/hlsl/vulkanscene/skybox.frag.spv b/shaders/hlsl/vulkanscene/skybox.frag.spv similarity index 100% rename from data/shaders/hlsl/vulkanscene/skybox.frag.spv rename to shaders/hlsl/vulkanscene/skybox.frag.spv diff --git a/data/shaders/hlsl/vulkanscene/skybox.vert b/shaders/hlsl/vulkanscene/skybox.vert similarity index 100% rename from data/shaders/hlsl/vulkanscene/skybox.vert rename to shaders/hlsl/vulkanscene/skybox.vert diff --git a/data/shaders/hlsl/vulkanscene/skybox.vert.spv b/shaders/hlsl/vulkanscene/skybox.vert.spv similarity index 100% rename from data/shaders/hlsl/vulkanscene/skybox.vert.spv rename to shaders/hlsl/vulkanscene/skybox.vert.spv From c13ba757b7fa696f5a7b7a5fcb3bc6c1d2cfbc2d Mon Sep 17 00:00:00 2001 From: Sascha Willems Date: Tue, 9 May 2023 21:05:01 +0200 Subject: [PATCH 3/7] Changed assets and shader path functions, removed asset download script --- CMakeLists.txt | 4 ++-- base/VulkanTools.cpp | 32 +++++++++++++++++++++++--------- base/VulkanTools.h | 1 + download_assets.py | 31 ------------------------------- 4 files changed, 26 insertions(+), 42 deletions(-) delete mode 100755 download_assets.py diff --git a/CMakeLists.txt b/CMakeLists.txt index 90a05c8b..f6e2194f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -120,10 +120,10 @@ function(buildExamples) endfunction(buildExamples) if(RESOURCE_INSTALL_DIR) - add_definitions(-DVK_EXAMPLE_DATA_DIR=\"${RESOURCE_INSTALL_DIR}/\") + add_definitions(-DVK_EXAMPLE_ASSETS_DIR=\"${RESOURCE_INSTALL_DIR}/\") install(DIRECTORY data/ DESTINATION ${RESOURCE_INSTALL_DIR}/) else() - add_definitions(-DVK_EXAMPLE_DATA_DIR=\"${CMAKE_SOURCE_DIR}/data/\") + add_definitions(-DVK_EXAMPLE_ASSETS_DIR=\"${CMAKE_SOURCE_DIR}/assets/\") endif() # Compiler specific stuff diff --git a/base/VulkanTools.cpp b/base/VulkanTools.cpp index 25b1ce07..b36b3296 100644 --- a/base/VulkanTools.cpp +++ b/base/VulkanTools.cpp @@ -1,10 +1,10 @@ /* -* Assorted commonly used Vulkan helper functions -* -* Copyright (C) 2016 by Sascha Willems - www.saschawillems.de -* -* This code is licensed under the MIT license (MIT) (http://opensource.org/licenses/MIT) -*/ + * Assorted commonly used Vulkan helper functions + * + * Copyright (C) 2016-2023 by Sascha Willems - www.saschawillems.de + * + * This code is licensed under the MIT license (MIT) (http://opensource.org/licenses/MIT) + */ #include "VulkanTools.h" @@ -14,10 +14,24 @@ const std::string getAssetPath() { #if defined(VK_USE_PLATFORM_ANDROID_KHR) return ""; -#elif defined(VK_EXAMPLE_DATA_DIR) - return VK_EXAMPLE_DATA_DIR; +#elif defined(DVK_EXAMPLE_ASSETS_DIR) + return DVK_EXAMPLE_ASSETS_DIR; #else - return "./../data/"; + return "./../assets/"; +#endif +} +#endif + +#if !(defined(VK_USE_PLATFORM_IOS_MVK) || defined(VK_USE_PLATFORM_MACOS_MVK)) +// iOS & macOS: VulkanExampleBase::getAssetPath() implemented externally to allow access to Objective-C components +const std::string getShaderBasePath() +{ +#if defined(VK_USE_PLATFORM_ANDROID_KHR) + return "shaders/"; +#elif defined(DVK_EXAMPLE_SHADERS_DIR) + return DVK_EXAMPLE_SHADERS_DIR; +#else + return "./../shaders/"; #endif } #endif diff --git a/base/VulkanTools.h b/base/VulkanTools.h index c597b696..dc2323ce 100644 --- a/base/VulkanTools.h +++ b/base/VulkanTools.h @@ -61,6 +61,7 @@ #endif const std::string getAssetPath(); +const std::string getShaderBasePath(); namespace vks { diff --git a/download_assets.py b/download_assets.py deleted file mode 100755 index 93a509bf..00000000 --- a/download_assets.py +++ /dev/null @@ -1,31 +0,0 @@ -#!/usr/bin/env python3 - -import sys -from urllib.request import urlretrieve -from zipfile import ZipFile - -ASSET_PACK_URL = 'http://vulkan.gpuinfo.org/downloads/vulkan_asset_pack_gltf.zip' -ASSET_PACK_FILE_NAME = 'vulkan_asset_pack_gltf.zip' - -print("Downloading asset pack from '%s'" % ASSET_PACK_URL) - -def reporthook(blocknum, blocksize, totalsize): - bytesread = blocknum * blocksize - if totalsize > 0: - percent = bytesread * 1e2 / totalsize - s = "\r%5.1f%% (%*d / %d bytes)" % (percent, len(str(totalsize)), bytesread, totalsize) - sys.stderr.write(s) - if bytesread >= totalsize: - sys.stderr.write("\n") - else: - sys.stderr.write("read %d\n" % (bytesread,)) - -urlretrieve(ASSET_PACK_URL, ASSET_PACK_FILE_NAME, reporthook) - -print("Download finished") - -print("Extracting assets") - -zip = ZipFile(ASSET_PACK_FILE_NAME, 'r') -zip.extractall("./") -zip.close() From eb3d68fb5caf4b8cfbe5bb178ee3a2a00523ce82 Mon Sep 17 00:00:00 2001 From: Sascha Willems Date: Wed, 10 May 2023 20:33:19 +0200 Subject: [PATCH 4/7] Updated android build files to new asset/shader folder structure Make use of global gradle variables Updated gradle --- android/build.gradle | 18 +- android/examples/_template/build.gradle | 8 +- android/examples/bloom/build.gradle | 18 +- android/examples/computecloth/build.gradle | 14 +- .../examples/computecullandlod/build.gradle | 12 +- android/examples/computeheadless/build.gradle | 10 +- android/examples/computenbody/build.gradle | 14 +- .../examples/computeparticles/build.gradle | 14 +- .../examples/computeraytracing/build.gradle | 10 +- android/examples/computeshader/build.gradle | 12 +- .../examples/conservativeraster/build.gradle | 10 +- android/examples/debugmarker/build.gradle | 14 +- android/examples/deferred/build.gradle | 18 +- .../deferredmultisampling/build.gradle | 18 +- android/examples/deferredshadows/build.gradle | 18 +- .../examples/descriptorindexing/build.gradle | 10 +- android/examples/descriptorsets/build.gradle | 16 +- android/examples/displacement/build.gradle | 14 +- .../examples/distancefieldfonts/build.gradle | 16 +- .../dynamicuniformbuffer/build.gradle | 10 +- android/examples/gears/build.gradle | 10 +- android/examples/geometryshader/build.gradle | 12 +- android/examples/gltfloading/build.gradle | 12 +- .../examples/gltfscenerendering/build.gradle | 12 +- android/examples/gltfskinning/build.gradle | 12 +- android/examples/hdr/build.gradle | 22 +- android/examples/imgui/build.gradle | 16 +- android/examples/indirectdraw/build.gradle | 20 +- .../examples/inlineuniformblocks/build.gradle | 12 +- .../examples/inputattachments/build.gradle | 12 +- android/examples/instancing/build.gradle | 18 +- android/examples/multisampling/build.gradle | 12 +- android/examples/multithreading/build.gradle | 14 +- android/examples/multiview/build.gradle | 12 +- .../negativeviewportheight/build.gradle | 14 +- android/examples/occlusionquery/build.gradle | 16 +- android/examples/offscreen/build.gradle | 14 +- android/examples/oit/build.gradle | 14 +- android/examples/parallaxmapping/build.gradle | 16 +- android/examples/particlefire/build.gradle | 20 +- android/examples/pbrbasic/build.gradle | 18 +- android/examples/pbribl/build.gradle | 22 +- android/examples/pbrtexture/build.gradle | 16 +- android/examples/pipelines/build.gradle | 12 +- .../examples/pipelinestatistics/build.gradle | 18 +- android/examples/pushconstants/build.gradle | 14 +- android/examples/pushdescriptors/build.gradle | 16 +- android/examples/radialblur/build.gradle | 14 +- android/examples/rayquery/build.gradle | 12 +- android/examples/raytracingbasic/build.gradle | 10 +- .../raytracingreflections/build.gradle | 12 +- .../examples/raytracingshadows/build.gradle | 12 +- android/examples/renderheadless/build.gradle | 10 +- android/examples/screenshot/build.gradle | 12 +- android/examples/shadowmapping/build.gradle | 14 +- .../shadowmappingcascade/build.gradle | 14 +- .../examples/shadowmappingomni/build.gradle | 14 +- .../specializationconstants/build.gradle | 14 +- .../examples/sphericalenvmapping/build.gradle | 14 +- android/examples/ssao/build.gradle | 12 +- android/examples/stencilbuffer/build.gradle | 12 +- android/examples/subpasses/build.gradle | 16 +- .../examples/terraintessellation/build.gradle | 18 +- android/examples/tessellation/build.gradle | 12 +- android/examples/textoverlay/build.gradle | 12 +- android/examples/texture/build.gradle | 12 +- android/examples/texture3d/build.gradle | 10 +- android/examples/texturearray/build.gradle | 12 +- android/examples/texturecubemap/build.gradle | 22 +- .../examples/texturecubemaparray/build.gradle | 22 +- .../examples/texturemipmapgen/build.gradle | 14 +- android/examples/triangle/build.gradle | 10 +- .../examples/vertexattributes/build.gradle | 12 +- android/examples/viewportarray/build.gradle | 12 +- android/examples/vulkanscene/build.gradle | 20 +- android/gradle/wrapper/gradle-wrapper.jar | Bin 53636 -> 59536 bytes .../gradle/wrapper/gradle-wrapper.properties | 4 +- android/gradlew | 298 +++++++++++------- android/gradlew.bat | 53 ++-- 79 files changed, 750 insertions(+), 665 deletions(-) diff --git a/android/build.gradle b/android/build.gradle index eb06cd47..556f4dd7 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -1,4 +1,10 @@ -// Top-level build file where you can add configuration options common to all sub-projects/modules. +/** + * Copyright (C) 2016-2023 by Sascha Willems - www.saschawillems.de + * + * This code is licensed under the MIT license (MIT) (http://opensource.org/licenses/MIT) + */ + +/** Top-level build file where you can add configuration options common to all sub-projects/modules */ buildscript { repositories { @@ -6,7 +12,7 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:4.2.0' + classpath 'com.android.tools.build:gradle:7.0.0' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } @@ -17,4 +23,12 @@ allprojects { google() jcenter() } +} + +ext { + minSdkVersion = 19 + targetSdkVersion = 26 + compileSdkVersion = 26 + shaderPath = '../../../shaders/' + assetPath = '../../../assets/' } \ No newline at end of file diff --git a/android/examples/_template/build.gradle b/android/examples/_template/build.gradle index 00188610..eefe2a55 100644 --- a/android/examples/_template/build.gradle +++ b/android/examples/_template/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.%PACKAGE_NAME%" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,7 +43,7 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } diff --git a/android/examples/bloom/build.gradle b/android/examples/bloom/build.gradle index a5cfcfb9..bed7c0c1 100644 --- a/android/examples/bloom/build.gradle +++ b/android/examples/bloom/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanBloom" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,37 +43,37 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/bloom' + from rootProject.ext.shaderPath +'glsl/bloom' into 'assets/shaders/glsl/bloom' include '*.*' } copy { - from '../../../data/models' + from rootProject.ext.assetPath +'models' into 'assets/models' include 'retroufo.gltf' } copy { - from '../../../data/models' + from rootProject.ext.assetPath +'models' into 'assets/models' include 'retroufo_glow.gltf' } copy { - from '../../../data/models' + from rootProject.ext.assetPath +'models' into 'assets/models' include 'cube.gltf' } copy { - from '../../../data/textures' + from rootProject.ext.assetPath + 'textures' into 'assets/textures' include 'cubemap_space.ktx' } diff --git a/android/examples/computecloth/build.gradle b/android/examples/computecloth/build.gradle index 159714a8..80d95ddd 100644 --- a/android/examples/computecloth/build.gradle +++ b/android/examples/computecloth/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanComputecloth" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,25 +43,25 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/computecloth' + from rootProject.ext.shaderPath + 'glsl/computecloth' into 'assets/shaders/glsl/computecloth' include '*.*' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'sphere.gltf' } copy { - from '../../../data/textures' + from rootProject.ext.assetPath + 'textures' into 'assets/textures' include 'vulkan_cloth_rgba.ktx' } diff --git a/android/examples/computecullandlod/build.gradle b/android/examples/computecullandlod/build.gradle index b7915ff6..62eed3b7 100644 --- a/android/examples/computecullandlod/build.gradle +++ b/android/examples/computecullandlod/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanComputecullandlod" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,19 +43,19 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/computecullandlod' + from rootProject.ext.shaderPath + 'glsl/computecullandlod' into 'assets/shaders/glsl/computecullandlod' include '*.*' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'suzanne_lods.gltf' } diff --git a/android/examples/computeheadless/build.gradle b/android/examples/computeheadless/build.gradle index 4fad6029..0e0536c8 100644 --- a/android/examples/computeheadless/build.gradle +++ b/android/examples/computeheadless/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanComputeheadless" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,13 +43,13 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/computeheadless' + from rootProject.ext.shaderPath + 'glsl/computeheadless' into 'assets/shaders/glsl/computeheadless' include '*.*' } diff --git a/android/examples/computenbody/build.gradle b/android/examples/computenbody/build.gradle index 626d7530..6593d39f 100644 --- a/android/examples/computenbody/build.gradle +++ b/android/examples/computenbody/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanComputenbody" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,25 +43,25 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/computenbody' + from rootProject.ext.shaderPath + 'glsl/computenbody' into 'assets/shaders/glsl/computenbody' include '*.*' } copy { - from '../../../data/textures' + from rootProject.ext.assetPath + 'textures' into 'assets/textures' include 'particle01_rgba.ktx' } copy { - from '../../../data/textures' + from rootProject.ext.assetPath + 'textures' into 'assets/textures' include 'particle_gradient_rgba.ktx' } diff --git a/android/examples/computeparticles/build.gradle b/android/examples/computeparticles/build.gradle index 202ba2d9..bec13209 100644 --- a/android/examples/computeparticles/build.gradle +++ b/android/examples/computeparticles/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanComputeparticles" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,25 +43,25 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/computeparticles' + from rootProject.ext.shaderPath + 'glsl/computeparticles' into 'assets/shaders/glsl/computeparticles' include '*.*' } copy { - from '../../../data/textures' + from rootProject.ext.assetPath + 'textures' into 'assets/textures' include 'particle01_rgba.ktx' } copy { - from '../../../data/textures' + from rootProject.ext.assetPath + 'textures' into 'assets/textures' include 'particle_gradient_rgba.ktx' } diff --git a/android/examples/computeraytracing/build.gradle b/android/examples/computeraytracing/build.gradle index e6d223a4..215ecfb9 100644 --- a/android/examples/computeraytracing/build.gradle +++ b/android/examples/computeraytracing/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanComputeRaytracing" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,13 +43,13 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/computeraytracing' + from rootProject.ext.shaderPath + 'glsl/computeraytracing' into 'assets/shaders/glsl/computeraytracing' include '*.*' } diff --git a/android/examples/computeshader/build.gradle b/android/examples/computeshader/build.gradle index a7a97cf5..50762a7c 100644 --- a/android/examples/computeshader/build.gradle +++ b/android/examples/computeshader/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanComputeshader" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,19 +43,19 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/computeshader' + from rootProject.ext.shaderPath + 'glsl/computeshader' into 'assets/shaders/glsl/computeshader' include '*.*' } copy { - from '../../../data/textures' + from rootProject.ext.assetPath + 'textures' into 'assets/textures' include 'vulkan_11_rgba.ktx' } diff --git a/android/examples/conservativeraster/build.gradle b/android/examples/conservativeraster/build.gradle index 9b5b84db..9ba83feb 100644 --- a/android/examples/conservativeraster/build.gradle +++ b/android/examples/conservativeraster/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanConservativeraster" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,13 +43,13 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/conservativeraster' + from rootProject.ext.shaderPath + 'glsl/conservativeraster' into 'assets/shaders/glsl/conservativeraster' include '*.*' } diff --git a/android/examples/debugmarker/build.gradle b/android/examples/debugmarker/build.gradle index 182bfbc8..668c14e8 100644 --- a/android/examples/debugmarker/build.gradle +++ b/android/examples/debugmarker/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanDebugmarker" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,25 +43,25 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/debugmarker' + from rootProject.ext.shaderPath + 'glsl/debugmarker' into 'assets/shaders/glsl/debugmarker' include '*.*' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'treasure_smooth.gltf' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'treasure_glow.gltf' } diff --git a/android/examples/deferred/build.gradle b/android/examples/deferred/build.gradle index 9baf72cd..175cb767 100644 --- a/android/examples/deferred/build.gradle +++ b/android/examples/deferred/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanDeferred" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,37 +43,37 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/deferred' + from rootProject.ext.shaderPath + 'glsl/deferred' into 'assets/shaders/glsl/deferred' include '*.*' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'deferred_floor.gltf' } copy { - from '../../../data/textures' + from rootProject.ext.assetPath + 'textures' into 'assets/textures' include 'stonefloor01_color_*.ktx' } copy { - from '../../../data/textures' + from rootProject.ext.assetPath + 'textures' into 'assets/textures' include 'stonefloor01_normal_*.ktx' } copy { - from '../../../data/models/armor' + from rootProject.ext.assetPath + 'models/armor' into 'assets/models/armor' include '*.*' } diff --git a/android/examples/deferredmultisampling/build.gradle b/android/examples/deferredmultisampling/build.gradle index 0bf15381..64d98426 100644 --- a/android/examples/deferredmultisampling/build.gradle +++ b/android/examples/deferredmultisampling/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanDeferredmultisampling" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,37 +43,37 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/deferredmultisampling' + from rootProject.ext.shaderPath + 'glsl/deferredmultisampling' into 'assets/shaders/glsl/deferredmultisampling' include '*.*' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'deferred_box.gltf' } copy { - from '../../../data/textures' + from rootProject.ext.assetPath + 'textures' into 'assets/textures' include 'stonefloor02_color_*.ktx' } copy { - from '../../../data/textures' + from rootProject.ext.assetPath + 'textures' into 'assets/textures' include 'stonefloor02_normal_*.ktx' } copy { - from '../../../data/models/armor' + from rootProject.ext.assetPath + 'models/armor' into 'assets/models/armor' include '*.*' } diff --git a/android/examples/deferredshadows/build.gradle b/android/examples/deferredshadows/build.gradle index 0dc247ae..9a69fc4a 100644 --- a/android/examples/deferredshadows/build.gradle +++ b/android/examples/deferredshadows/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanDeferredshadows" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,37 +43,37 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/deferredshadows' + from rootProject.ext.shaderPath + 'glsl/deferredshadows' into 'assets/shaders/glsl/deferredshadows' include '*.*' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'deferred_box.gltf' } copy { - from '../../../data/textures' + from rootProject.ext.assetPath + 'textures' into 'assets/textures' include 'stonefloor02_color_*.ktx' } copy { - from '../../../data/textures' + from rootProject.ext.assetPath + 'textures' into 'assets/textures' include 'stonefloor02_normal_*.ktx' } copy { - from '../../../data/models/armor' + from rootProject.ext.assetPath + 'models/armor' into 'assets/models/armor' include '*.*' } diff --git a/android/examples/descriptorindexing/build.gradle b/android/examples/descriptorindexing/build.gradle index 882e7467..f61ed680 100644 --- a/android/examples/descriptorindexing/build.gradle +++ b/android/examples/descriptorindexing/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanDescriptorindexing" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,13 +43,13 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/descriptorindexing' + from rootProject.ext.shaderPath + 'glsl/descriptorindexing' into 'assets/shaders/glsl/descriptorindexing' include '*.*' } diff --git a/android/examples/descriptorsets/build.gradle b/android/examples/descriptorsets/build.gradle index ebd01a42..b40fabc7 100644 --- a/android/examples/descriptorsets/build.gradle +++ b/android/examples/descriptorsets/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanDescriptorsets" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,31 +43,31 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/descriptorsets' + from rootProject.ext.shaderPath + 'glsl/descriptorsets' into 'assets/shaders/glsl/descriptorsets' include '*.*' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'cube.gltf' } copy { - from '../../../data/textures' + from rootProject.ext.assetPath + 'textures' into 'assets/textures' include 'crate01_color_height_rgba.ktx' } copy { - from '../../../data/textures' + from rootProject.ext.assetPath + 'textures' into 'assets/textures' include 'crate02_color_height_rgba.ktx' } diff --git a/android/examples/displacement/build.gradle b/android/examples/displacement/build.gradle index e7ee1cda..65f92506 100644 --- a/android/examples/displacement/build.gradle +++ b/android/examples/displacement/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanDisplacement" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,25 +43,25 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/displacement' + from rootProject.ext.shaderPath + 'glsl/displacement' into 'assets/shaders/glsl/displacement' include '*.*' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'displacement_plane.gltf' } copy { - from '../../../data/textures' + from rootProject.ext.assetPath + 'textures' into 'assets/textures' include 'stonefloor03_color_height_rgba.ktx' } diff --git a/android/examples/distancefieldfonts/build.gradle b/android/examples/distancefieldfonts/build.gradle index 80a65a56..6eccb50d 100644 --- a/android/examples/distancefieldfonts/build.gradle +++ b/android/examples/distancefieldfonts/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanDistancefieldfonts" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,31 +43,31 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/distancefieldfonts' + from rootProject.ext.shaderPath + 'glsl/distancefieldfonts' into 'assets/shaders/glsl/distancefieldfonts' include '*.*' } copy { - from '../../../data/textures' + from rootProject.ext.assetPath + 'textures' into 'assets/textures' include 'font_sdf_rgba.ktx' } copy { - from '../../../data/textures' + from rootProject.ext.assetPath + 'textures' into 'assets/textures' include 'font_bitmap_rgba.ktx' } copy { - from '../../../data/./' + from rootProject.ext.assetPath + './' into 'assets/./' include 'font.fnt' } diff --git a/android/examples/dynamicuniformbuffer/build.gradle b/android/examples/dynamicuniformbuffer/build.gradle index 54a798ad..f5bb1cfd 100644 --- a/android/examples/dynamicuniformbuffer/build.gradle +++ b/android/examples/dynamicuniformbuffer/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanDynamicuniformbuffer" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,13 +43,13 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/dynamicuniformbuffer' + from rootProject.ext.shaderPath + 'glsl/dynamicuniformbuffer' into 'assets/shaders/glsl/dynamicuniformbuffer' include '*.*' } diff --git a/android/examples/gears/build.gradle b/android/examples/gears/build.gradle index 4e0794ef..66edd92b 100644 --- a/android/examples/gears/build.gradle +++ b/android/examples/gears/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanGears" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,13 +43,13 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/gears' + from rootProject.ext.shaderPath + 'glsl/gears' into 'assets/shaders/glsl/gears' include '*.*' } diff --git a/android/examples/geometryshader/build.gradle b/android/examples/geometryshader/build.gradle index 16b97480..ffae1b1d 100644 --- a/android/examples/geometryshader/build.gradle +++ b/android/examples/geometryshader/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanGeometryshader" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,19 +43,19 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/geometryshader' + from rootProject.ext.shaderPath + 'glsl/geometryshader' into 'assets/shaders/glsl/geometryshader' include '*.*' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'suzanne.gltf' } diff --git a/android/examples/gltfloading/build.gradle b/android/examples/gltfloading/build.gradle index 793da675..f475101c 100644 --- a/android/examples/gltfloading/build.gradle +++ b/android/examples/gltfloading/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanglTFScene" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,19 +43,19 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/gltfloading' + from rootProject.ext.shaderPath + 'glsl/gltfloading' into 'assets/shaders/glsl/gltfloading' include '*.*' } copy { - from '../../../data/models/FlightHelmet/glTF' + from rootProject.ext.assetPath + 'models/FlightHelmet/glTF' into 'assets/models/FlightHelmet/glTF' include '*.*' } diff --git a/android/examples/gltfscenerendering/build.gradle b/android/examples/gltfscenerendering/build.gradle index 8894e77f..372031c2 100644 --- a/android/examples/gltfscenerendering/build.gradle +++ b/android/examples/gltfscenerendering/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanScenerendering" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,19 +43,19 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/gltfscenerendering' + from rootProject.ext.shaderPath +'glsl/gltfscenerendering' into 'assets/shaders/glsl/gltfscenerendering' include '*.*' } copy { - from '../../../data/models/sponza' + from rootProject.ext.assetPath + 'models/sponza' into 'assets/models/sponza' include '*.*' } diff --git a/android/examples/gltfskinning/build.gradle b/android/examples/gltfskinning/build.gradle index bc5567d0..4cbc9b59 100644 --- a/android/examples/gltfskinning/build.gradle +++ b/android/examples/gltfskinning/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanglTFSkinning" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,19 +43,19 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into "assets/shaders/glsl/base" include '*.spv' } copy { - from '../../../data/shaders/glsl/gltfskinning' + from rootProject.ext.shaderPath + 'glsl/gltfskinning' into 'assets/shaders/glsl/gltfskinning' include '*.*' } copy { - from '../../../data/models/CesiumMan/glTF' + from rootProject.ext.assetPath + 'models/CesiumMan/glTF' into 'assets/models/CesiumMan/glTF' include '*.*' } diff --git a/android/examples/hdr/build.gradle b/android/examples/hdr/build.gradle index a000d798..c3bd99c7 100644 --- a/android/examples/hdr/build.gradle +++ b/android/examples/hdr/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanHDR" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,49 +43,49 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/hdr' + from rootProject.ext.shaderPath + 'glsl/hdr' into 'assets/shaders/glsl/hdr' include '*.*' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'cube.gltf' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'sphere.gltf' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'teapot.gltf' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'torusknot.gltf' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'venus.gltf' } copy { - from '../../../data/textures/hdr' + from rootProject.ext.assetPath + 'textures/hdr' into 'assets/textures/hdr' include 'uffizi_cube.ktx' } diff --git a/android/examples/imgui/build.gradle b/android/examples/imgui/build.gradle index 4c404537..26cdc5a0 100644 --- a/android/examples/imgui/build.gradle +++ b/android/examples/imgui/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanImGui" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,31 +43,31 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/imgui' + from rootProject.ext.shaderPath + 'glsl/imgui' into 'assets/shaders/glsl/imgui' include '*.*' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'vulkanscenemodels.gltf' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'vulkanscenebackground.gltf' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'vulkanscenelogos.gltf' } diff --git a/android/examples/indirectdraw/build.gradle b/android/examples/indirectdraw/build.gradle index 45c8ae8c..66d8d878 100644 --- a/android/examples/indirectdraw/build.gradle +++ b/android/examples/indirectdraw/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanIndirectdraw" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,43 +43,43 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/indirectdraw' + from rootProject.ext.shaderPath + 'glsl/indirectdraw' into 'assets/shaders/glsl/indirectdraw' include '*.*' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'plants.gltf' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'plane_circle.gltf' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'sphere.gltf' } copy { - from '../../../data/textures' + from rootProject.ext.assetPath + 'textures' into 'assets/textures' include 'texturearray_plants_rgba.ktx' } copy { - from '../../../data/textures' + from rootProject.ext.assetPath + 'textures' into 'assets/textures' include 'ground_dry_rgba.ktx' } diff --git a/android/examples/inlineuniformblocks/build.gradle b/android/examples/inlineuniformblocks/build.gradle index 2f36d18a..8fdee692 100644 --- a/android/examples/inlineuniformblocks/build.gradle +++ b/android/examples/inlineuniformblocks/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanInlineuniformblocks" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,19 +43,19 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/inlineuniformblocks' + from rootProject.ext.shaderPath + 'glsl/inlineuniformblocks' into 'assets/shaders/glsl/inlineuniformblocks' include '*.*' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'sphere.gltf' } diff --git a/android/examples/inputattachments/build.gradle b/android/examples/inputattachments/build.gradle index c911ffab..1c70a375 100644 --- a/android/examples/inputattachments/build.gradle +++ b/android/examples/inputattachments/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanInputattachments" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -48,19 +48,19 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/inputattachments' + from rootProject.ext.shaderPath + 'glsl/inputattachments' into 'assets/shaders/glsl/inputattachments' include '*.*' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'treasure_smooth.gltf' } diff --git a/android/examples/instancing/build.gradle b/android/examples/instancing/build.gradle index f0fbaf9e..bd0c6a40 100644 --- a/android/examples/instancing/build.gradle +++ b/android/examples/instancing/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanInstancing" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,37 +43,37 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/instancing' + from rootProject.ext.shaderPath + 'glsl/instancing' into 'assets/shaders/glsl/instancing' include '*.*' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'rock01.gltf' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'lavaplanet.gltf' } copy { - from '../../../data/textures' + from rootProject.ext.assetPath + 'textures' into 'assets/textures' include 'texturearray_rocks*.ktx' } copy { - from '../../../data/textures' + from rootProject.ext.assetPath + 'textures' into 'assets/textures' include 'lavaplanet*.ktx' } diff --git a/android/examples/multisampling/build.gradle b/android/examples/multisampling/build.gradle index 493740c6..8ac6bff1 100644 --- a/android/examples/multisampling/build.gradle +++ b/android/examples/multisampling/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanMultisampling" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,19 +43,19 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/multisampling' + from rootProject.ext.shaderPath + 'glsl/multisampling' into 'assets/shaders/glsl/multisampling' include '*.*' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'voyager.gltf' } diff --git a/android/examples/multithreading/build.gradle b/android/examples/multithreading/build.gradle index 06e692ff..1f2095ff 100644 --- a/android/examples/multithreading/build.gradle +++ b/android/examples/multithreading/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanMultithreading" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,25 +43,25 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/multithreading' + from rootProject.ext.shaderPath + 'glsl/multithreading' into 'assets/shaders/glsl/multithreading' include '*.*' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'retroufo_red_lowpoly.gltf' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'sphere.gltf' } diff --git a/android/examples/multiview/build.gradle b/android/examples/multiview/build.gradle index a073ea63..bb1eab8e 100644 --- a/android/examples/multiview/build.gradle +++ b/android/examples/multiview/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanMultiview" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,19 +43,19 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/multiview' + from rootProject.ext.shaderPath + 'glsl/multiview' into 'assets/shaders/glsl/multiview' include '*.*' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'sampleroom.gltf' } diff --git a/android/examples/negativeviewportheight/build.gradle b/android/examples/negativeviewportheight/build.gradle index c80484c4..0c2f4225 100644 --- a/android/examples/negativeviewportheight/build.gradle +++ b/android/examples/negativeviewportheight/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanNegativeviewportheight" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,25 +43,25 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/negativeviewportheight' + from rootProject.ext.shaderPath + 'glsl/negativeviewportheight' into 'assets/shaders/glsl/negativeviewportheight' include '*.*' } copy { - from '../../../data/textures' + from rootProject.ext.assetPath + 'textures' into 'assets/textures' include 'texture_orientation_ccw_rgba.ktx' } copy { - from '../../../data/textures' + from rootProject.ext.assetPath + 'textures' into 'assets/textures' include 'texture_orientation_cw_rgba.ktx' } diff --git a/android/examples/occlusionquery/build.gradle b/android/examples/occlusionquery/build.gradle index 63f1d064..377e190b 100644 --- a/android/examples/occlusionquery/build.gradle +++ b/android/examples/occlusionquery/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanOcclusionquery" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,31 +43,31 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/occlusionquery' + from rootProject.ext.shaderPath + 'glsl/occlusionquery' into 'assets/shaders/glsl/occlusionquery' include '*.*' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'plane_z.gltf' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'teapot.gltf' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'sphere.gltf' } diff --git a/android/examples/offscreen/build.gradle b/android/examples/offscreen/build.gradle index ca6dcc4b..cd3e30ec 100644 --- a/android/examples/offscreen/build.gradle +++ b/android/examples/offscreen/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanOffscreen" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,25 +43,25 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/offscreen' + from rootProject.ext.shaderPath + 'glsl/offscreen' into 'assets/shaders/glsl/offscreen' include '*.*' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'plane.gltf' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'chinesedragon.gltf' } diff --git a/android/examples/oit/build.gradle b/android/examples/oit/build.gradle index 4c5025f0..88b97ce7 100644 --- a/android/examples/oit/build.gradle +++ b/android/examples/oit/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanOrderIndependentTransparency" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,25 +43,25 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/oit' + from rootProject.ext.shaderPath + 'glsl/oit' into 'assets/shaders/glsl/oit' include '*.*' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'sphere.gltf' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'cube.gltf' } diff --git a/android/examples/parallaxmapping/build.gradle b/android/examples/parallaxmapping/build.gradle index 886ff9dd..d3b0000a 100644 --- a/android/examples/parallaxmapping/build.gradle +++ b/android/examples/parallaxmapping/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanParallaxmapping" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,31 +43,31 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/parallaxmapping' + from rootProject.ext.shaderPath + 'glsl/parallaxmapping' into 'assets/shaders/glsl/parallaxmapping' include '*.*' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'planecd.gltf' } copy { - from '../../../data/textures' + from rootProject.ext.assetPath + 'textures' into 'assets/textures' include 'rocks_normal_height_rgba.ktx' } copy { - from '../../../data/textures' + from rootProject.ext.assetPath + 'textures' into 'assets/textures' include 'rocks_color*.ktx' } diff --git a/android/examples/particlefire/build.gradle b/android/examples/particlefire/build.gradle index 460dd7d9..63f628e6 100644 --- a/android/examples/particlefire/build.gradle +++ b/android/examples/particlefire/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanParticlefire" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,43 +43,43 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/particlefire' + from rootProject.ext.shaderPath + 'glsl/particlefire' into 'assets/shaders/glsl/particlefire' include '*.*' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'fireplace.gltf' } copy { - from '../../../data/textures' + from rootProject.ext.assetPath + 'textures' into 'assets/textures' include 'particle_fire.ktx' } copy { - from '../../../data/textures' + from rootProject.ext.assetPath + 'textures' into 'assets/textures' include 'particle_smoke.ktx' } copy { - from '../../../data/textures' + from rootProject.ext.assetPath + 'textures' into 'assets/textures' include 'fireplace_normalmap*.ktx' } copy { - from '../../../data/textures' + from rootProject.ext.assetPath + 'textures' into 'assets/textures' include 'fireplace_colormap*.ktx' } diff --git a/android/examples/pbrbasic/build.gradle b/android/examples/pbrbasic/build.gradle index 502c203a..8b78a683 100644 --- a/android/examples/pbrbasic/build.gradle +++ b/android/examples/pbrbasic/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanPBRBasic" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,37 +43,37 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/pbrbasic' + from rootProject.ext.shaderPath + 'glsl/pbrbasic' into 'assets/shaders/glsl/pbrbasic' include '*.*' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'sphere.gltf' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'teapot.gltf' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'torusknot.gltf' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'venus.gltf' } diff --git a/android/examples/pbribl/build.gradle b/android/examples/pbribl/build.gradle index 06ded538..62e8c402 100644 --- a/android/examples/pbribl/build.gradle +++ b/android/examples/pbribl/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanPBRIBL" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,49 +43,49 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/pbribl' + from rootProject.ext.shaderPath + 'glsl/pbribl' into 'assets/shaders/glsl/pbribl' include '*.*' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'cube.gltf' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'sphere.gltf' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'teapot.gltf' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'torusknot.gltf' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'venus.gltf' } copy { - from '../../../data/textures/hdr' + from rootProject.ext.assetPath + 'textures/hdr' into 'assets/textures/hdr' include 'pisa_cube.ktx' } diff --git a/android/examples/pbrtexture/build.gradle b/android/examples/pbrtexture/build.gradle index edd6c7cc..7c1f45d8 100644 --- a/android/examples/pbrtexture/build.gradle +++ b/android/examples/pbrtexture/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanPBRTexture" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,31 +43,31 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/pbrtexture' + from rootProject.ext.shaderPath + 'glsl/pbrtexture' into 'assets/shaders/glsl/pbrtexture' include '*.*' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'cube.gltf' } copy { - from '../../../data/textures/hdr' + from rootProject.ext.assetPath + 'textures/hdr' into 'assets/textures/hdr' include 'gcanyon_cube.ktx' } copy { - from '../../../data/models/cerberus' + from rootProject.ext.assetPath + 'models/cerberus' into 'assets/models/cerberus' include '*.*' } diff --git a/android/examples/pipelines/build.gradle b/android/examples/pipelines/build.gradle index 7d56b6b3..39d4f4e5 100644 --- a/android/examples/pipelines/build.gradle +++ b/android/examples/pipelines/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanPipelines" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,19 +43,19 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/pipelines' + from rootProject.ext.shaderPath + 'glsl/pipelines' into 'assets/shaders/glsl/pipelines' include '*.*' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'treasure_smooth.gltf' } diff --git a/android/examples/pipelinestatistics/build.gradle b/android/examples/pipelinestatistics/build.gradle index c2813ce8..7ce56487 100644 --- a/android/examples/pipelinestatistics/build.gradle +++ b/android/examples/pipelinestatistics/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanPipelinestatistics" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,37 +43,37 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/pipelinestatistics' + from rootProject.ext.shaderPath + 'glsl/pipelinestatistics' into 'assets/shaders/glsl/pipelinestatistics' include '*.*' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'sphere.gltf' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'teapot.gltf' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'torusknot.gltf' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'venus.gltf' } diff --git a/android/examples/pushconstants/build.gradle b/android/examples/pushconstants/build.gradle index 777f98ba..781404b1 100644 --- a/android/examples/pushconstants/build.gradle +++ b/android/examples/pushconstants/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanPushconstants" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,25 +43,25 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/pushconstants' + from rootProject.ext.shaderPath + 'glsl/pushconstants' into 'assets/shaders/glsl/pushconstants' include '*.*' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'sphere.gltf' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'samplescene.gltf' } diff --git a/android/examples/pushdescriptors/build.gradle b/android/examples/pushdescriptors/build.gradle index 590e5ee6..d4cfa547 100644 --- a/android/examples/pushdescriptors/build.gradle +++ b/android/examples/pushdescriptors/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanPushdescriptors" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,31 +43,31 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/pushdescriptors' + from rootProject.ext.shaderPath + 'glsl/pushdescriptors' into 'assets/shaders/glsl/pushdescriptors' include '*.*' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'cube.gltf' } copy { - from '../../../data/textures' + from rootProject.ext.assetPath + 'textures' into 'assets/textures' include 'crate01_color_height_rgba.ktx' } copy { - from '../../../data/textures' + from rootProject.ext.assetPath + 'textures' into 'assets/textures' include 'crate02_color_height_rgba.ktx' } diff --git a/android/examples/radialblur/build.gradle b/android/examples/radialblur/build.gradle index 8f3327ae..f441634a 100644 --- a/android/examples/radialblur/build.gradle +++ b/android/examples/radialblur/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanRadialblur" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,25 +43,25 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/radialblur' + from rootProject.ext.shaderPath + 'glsl/radialblur' into 'assets/shaders/glsl/radialblur' include '*.*' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'glowsphere.gltf' } copy { - from '../../../data/textures' + from rootProject.ext.assetPath + 'textures' into 'assets/textures' include 'particle_gradient_rgba.ktx' } diff --git a/android/examples/rayquery/build.gradle b/android/examples/rayquery/build.gradle index 0d0c8866..24a12e97 100644 --- a/android/examples/rayquery/build.gradle +++ b/android/examples/rayquery/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanRayQuery" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,19 +43,19 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/rayquery' + from rootProject.ext.shaderPath + 'glsl/rayquery' into 'assets/shaders/glsl/rayquery' include '*.*' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'vulkanscene_shadow.gltf' } diff --git a/android/examples/raytracingbasic/build.gradle b/android/examples/raytracingbasic/build.gradle index bc40dea1..754626cb 100644 --- a/android/examples/raytracingbasic/build.gradle +++ b/android/examples/raytracingbasic/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanRaytracingbasic" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,13 +43,13 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/raytracingbasic' + from rootProject.ext.shaderPath + 'glsl/raytracingbasic' into 'assets/shaders/glsl/raytracingbasic' include '*.*' } diff --git a/android/examples/raytracingreflections/build.gradle b/android/examples/raytracingreflections/build.gradle index 06f6719b..774854e5 100644 --- a/android/examples/raytracingreflections/build.gradle +++ b/android/examples/raytracingreflections/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanRaytracingreflections" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,19 +43,19 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/raytracingreflections' + from rootProject.ext.shaderPath + 'glsl/raytracingreflections' into 'assets/shaders/glsl/raytracingreflections' include '*.*' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'reflection_scene.gltf' } diff --git a/android/examples/raytracingshadows/build.gradle b/android/examples/raytracingshadows/build.gradle index a1df218e..d36b99ec 100644 --- a/android/examples/raytracingshadows/build.gradle +++ b/android/examples/raytracingshadows/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanRaytracingshadows" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,19 +43,19 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/raytracingshadows' + from rootProject.ext.shaderPath + 'glsl/raytracingshadows' into 'assets/shaders/glsl/raytracingshadows' include '*.*' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'vulkanscene_shadow.gltf' } diff --git a/android/examples/renderheadless/build.gradle b/android/examples/renderheadless/build.gradle index a93c2d22..3875de88 100644 --- a/android/examples/renderheadless/build.gradle +++ b/android/examples/renderheadless/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanRenderheadless" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,13 +43,13 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/renderheadless' + from rootProject.ext.shaderPath + 'glsl/renderheadless' into 'assets/shaders/glsl/renderheadless' include '*.*' } diff --git a/android/examples/screenshot/build.gradle b/android/examples/screenshot/build.gradle index bb103596..27f10976 100644 --- a/android/examples/screenshot/build.gradle +++ b/android/examples/screenshot/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanScreenshot" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,19 +43,19 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/screenshot' + from rootProject.ext.shaderPath + 'glsl/screenshot' into 'assets/shaders/glsl/screenshot' include '*.*' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'chinesedragon.gltf' } diff --git a/android/examples/shadowmapping/build.gradle b/android/examples/shadowmapping/build.gradle index b102de96..6f633e70 100644 --- a/android/examples/shadowmapping/build.gradle +++ b/android/examples/shadowmapping/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanShadowmapping" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,25 +43,25 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/shadowmapping' + from rootProject.ext.shaderPath + 'glsl/shadowmapping' into 'assets/shaders/glsl/shadowmapping' include '*.*' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'vulkanscene_shadow.gltf' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'samplescene.gltf' } diff --git a/android/examples/shadowmappingcascade/build.gradle b/android/examples/shadowmappingcascade/build.gradle index 251a53ed..fc472392 100644 --- a/android/examples/shadowmappingcascade/build.gradle +++ b/android/examples/shadowmappingcascade/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanShadowmappingcascade" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,25 +43,25 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/shadowmappingcascade' + from rootProject.ext.shaderPath + 'glsl/shadowmappingcascade' into 'assets/shaders/glsl/shadowmappingcascade' include '*.*' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'terrain_gridlines.gltf' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'oaktree.gltf' } diff --git a/android/examples/shadowmappingomni/build.gradle b/android/examples/shadowmappingomni/build.gradle index cbdec3b7..eda1c362 100644 --- a/android/examples/shadowmappingomni/build.gradle +++ b/android/examples/shadowmappingomni/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanShadowmappingomni" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,25 +43,25 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/shadowmappingomni' + from rootProject.ext.shaderPath + 'glsl/shadowmappingomni' into 'assets/shaders/glsl/shadowmappingomni' include '*.*' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'shadowscene_fire.gltf' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'cube.gltf' } diff --git a/android/examples/specializationconstants/build.gradle b/android/examples/specializationconstants/build.gradle index bb7e0160..3b56f7ae 100644 --- a/android/examples/specializationconstants/build.gradle +++ b/android/examples/specializationconstants/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanSpecializationconstants" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,25 +43,25 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/specializationconstants' + from rootProject.ext.shaderPath + 'glsl/specializationconstants' into 'assets/shaders/glsl/specializationconstants' include '*.*' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'color_teapot_spheres.gltf' } copy { - from '../../../data/textures' + from rootProject.ext.assetPath + 'textures' into 'assets/textures' include 'metalplate_nomips_rgba.ktx' } diff --git a/android/examples/sphericalenvmapping/build.gradle b/android/examples/sphericalenvmapping/build.gradle index b214f95a..946c7592 100644 --- a/android/examples/sphericalenvmapping/build.gradle +++ b/android/examples/sphericalenvmapping/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanSphericalenvmapping" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,25 +43,25 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/sphericalenvmapping' + from rootProject.ext.shaderPath + 'glsl/sphericalenvmapping' into 'assets/shaders/glsl/sphericalenvmapping' include '*.*' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'chinesedragon.gltf' } copy { - from '../../../data/textures' + from rootProject.ext.assetPath + 'textures' into 'assets/textures' include 'matcap_array_rgba.ktx' } diff --git a/android/examples/ssao/build.gradle b/android/examples/ssao/build.gradle index b5d29ecc..0f525e5e 100644 --- a/android/examples/ssao/build.gradle +++ b/android/examples/ssao/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanSSAO" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,19 +43,19 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/ssao' + from rootProject.ext.shaderPath + 'glsl/ssao' into 'assets/shaders/glsl/ssao' include '*.*' } copy { - from '../../../data/models/sponza' + from rootProject.ext.assetPath + 'models/sponza' into 'assets/models/sponza' include '*.*' } diff --git a/android/examples/stencilbuffer/build.gradle b/android/examples/stencilbuffer/build.gradle index 8fbd1a45..a3c732b4 100644 --- a/android/examples/stencilbuffer/build.gradle +++ b/android/examples/stencilbuffer/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanStencilbuffer" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,19 +43,19 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/stencilbuffer' + from rootProject.ext.shaderPath + 'glsl/stencilbuffer' into 'assets/shaders/glsl/stencilbuffer' include '*.*' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'venus.gltf' } diff --git a/android/examples/subpasses/build.gradle b/android/examples/subpasses/build.gradle index 9480f39f..3332f2aa 100644 --- a/android/examples/subpasses/build.gradle +++ b/android/examples/subpasses/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanSubpasses" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,31 +43,31 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/subpasses' + from rootProject.ext.shaderPath + 'glsl/subpasses' into 'assets/shaders/glsl/subpasses' include '*.*' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'samplebuilding.gltf' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'samplebuilding_glass.gltf' } copy { - from '../../../data/textures' + from rootProject.ext.assetPath + 'textures' into 'assets/textures' include 'colored_glass_rgba.ktx' } diff --git a/android/examples/terraintessellation/build.gradle b/android/examples/terraintessellation/build.gradle index d7c280fb..3803f8af 100644 --- a/android/examples/terraintessellation/build.gradle +++ b/android/examples/terraintessellation/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanTerraintessellation" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,37 +43,37 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/terraintessellation' + from rootProject.ext.shaderPath + 'glsl/terraintessellation' into 'assets/shaders/glsl/terraintessellation' include '*.*' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'sphere.gltf' } copy { - from '../../../data/textures' + from rootProject.ext.assetPath + 'textures' into 'assets/textures' include 'skysphere*.ktx' } copy { - from '../../../data/textures' + from rootProject.ext.assetPath + 'textures' into 'assets/textures' include 'terrain_texturearray*.ktx' } copy { - from '../../../data/textures' + from rootProject.ext.assetPath + 'textures' into 'assets/textures' include 'terrain_heightmap_r16.ktx' } diff --git a/android/examples/tessellation/build.gradle b/android/examples/tessellation/build.gradle index 08204702..9ee511e5 100644 --- a/android/examples/tessellation/build.gradle +++ b/android/examples/tessellation/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanTessellation" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,19 +43,19 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/tessellation' + from rootProject.ext.shaderPath + 'glsl/tessellation' into 'assets/shaders/glsl/tessellation' include '*.*' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'deer.gltf' } diff --git a/android/examples/textoverlay/build.gradle b/android/examples/textoverlay/build.gradle index eb52548d..494beb0b 100644 --- a/android/examples/textoverlay/build.gradle +++ b/android/examples/textoverlay/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanTextoverlay" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,19 +43,19 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/textoverlay' + from rootProject.ext.shaderPath + 'glsl/textoverlay' into 'assets/shaders/glsl/textoverlay' include '*.*' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'cube.gltf' } diff --git a/android/examples/texture/build.gradle b/android/examples/texture/build.gradle index 35d48f69..388629e1 100644 --- a/android/examples/texture/build.gradle +++ b/android/examples/texture/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanTexture" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,19 +43,19 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/texture' + from rootProject.ext.shaderPath + 'glsl/texture' into 'assets/shaders/glsl/texture' include '*.*' } copy { - from '../../../data/textures' + from rootProject.ext.assetPath + 'textures' into 'assets/textures' include 'metalplate01_rgba.ktx' } diff --git a/android/examples/texture3d/build.gradle b/android/examples/texture3d/build.gradle index 052453a3..a8c10459 100644 --- a/android/examples/texture3d/build.gradle +++ b/android/examples/texture3d/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanTexture3d" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,13 +43,13 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/texture3d' + from rootProject.ext.shaderPath + 'glsl/texture3d' into 'assets/shaders/glsl/texture3d' include '*.*' } diff --git a/android/examples/texturearray/build.gradle b/android/examples/texturearray/build.gradle index 78101ac9..39d3f977 100644 --- a/android/examples/texturearray/build.gradle +++ b/android/examples/texturearray/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanTexturearray" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,19 +43,19 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/texturearray' + from rootProject.ext.shaderPath + 'glsl/texturearray' into 'assets/shaders/glsl/texturearray' include '*.*' } copy { - from '../../../data/textures' + from rootProject.ext.assetPath + 'textures' into 'assets/textures' include 'texturearray_rgba.ktx' } diff --git a/android/examples/texturecubemap/build.gradle b/android/examples/texturecubemap/build.gradle index b2b49e64..3da3cb5f 100644 --- a/android/examples/texturecubemap/build.gradle +++ b/android/examples/texturecubemap/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanTexturecubemap" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,49 +43,49 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/texturecubemap' + from rootProject.ext.shaderPath + 'glsl/texturecubemap' into 'assets/shaders/glsl/texturecubemap' include '*.*' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'sphere.gltf' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'teapot.gltf' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'torusknot.gltf' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'cube.gltf' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'venus.gltf' } copy { - from '../../../data/textures' + from rootProject.ext.assetPath + 'textures' into 'assets/textures' include 'cubemap_yokohama_rgba.ktx' } diff --git a/android/examples/texturecubemaparray/build.gradle b/android/examples/texturecubemaparray/build.gradle index 3048e7cd..3cf57bfc 100644 --- a/android/examples/texturecubemaparray/build.gradle +++ b/android/examples/texturecubemaparray/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanTexturecubemapArray" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,49 +43,49 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/texturecubemaparray' + from rootProject.ext.shaderPath + 'glsl/texturecubemaparray' into 'assets/shaders/glsl/texturecubemaparray' include '*.*' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'sphere.gltf' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'teapot.gltf' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'torusknot.gltf' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'cube.gltf' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'venus.gltf' } copy { - from '../../../data/textures' + from rootProject.ext.assetPath + 'textures' into 'assets/textures' include 'cubemap_array.ktx' } diff --git a/android/examples/texturemipmapgen/build.gradle b/android/examples/texturemipmapgen/build.gradle index c9eda9c6..8c3e5f1f 100644 --- a/android/examples/texturemipmapgen/build.gradle +++ b/android/examples/texturemipmapgen/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanTexturemipmapgen" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,25 +43,25 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/texturemipmapgen' + from rootProject.ext.shaderPath + 'glsl/texturemipmapgen' into 'assets/shaders/glsl/texturemipmapgen' include '*.*' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'tunnel_cylinder.gltf' } copy { - from '../../../data/textures' + from rootProject.ext.assetPath + 'textures' into 'assets/textures' include 'metalplate_nomips_rgba.ktx' } diff --git a/android/examples/triangle/build.gradle b/android/examples/triangle/build.gradle index f85072f7..ee7e8b4b 100644 --- a/android/examples/triangle/build.gradle +++ b/android/examples/triangle/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanTriangle" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,13 +43,13 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/triangle' + from rootProject.ext.shaderPath + 'glsl/triangle' into 'assets/shaders/glsl/triangle' include '*.*' } diff --git a/android/examples/vertexattributes/build.gradle b/android/examples/vertexattributes/build.gradle index 38feb8f5..5e7e253d 100644 --- a/android/examples/vertexattributes/build.gradle +++ b/android/examples/vertexattributes/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanVertexattributes" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,19 +43,19 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/vertexattributes' + from rootProject.ext.shaderPath + 'glsl/vertexattributes' into 'assets/shaders/glsl/vertexattributes' include '*.*' } copy { - from '../../../data/models/sponza' + from rootProject.ext.assetPath + 'models/sponza' into 'assets/models/sponza' include '*.*' } diff --git a/android/examples/viewportarray/build.gradle b/android/examples/viewportarray/build.gradle index c816a92c..74def6e3 100644 --- a/android/examples/viewportarray/build.gradle +++ b/android/examples/viewportarray/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanViewportarray" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,19 +43,19 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/viewportarray' + from rootProject.ext.shaderPath + 'glsl/viewportarray' into 'assets/shaders/glsl/viewportarray' include '*.*' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'sampleroom.gltf' } diff --git a/android/examples/vulkanscene/build.gradle b/android/examples/vulkanscene/build.gradle index 20563716..6db1f1a0 100644 --- a/android/examples/vulkanscene/build.gradle +++ b/android/examples/vulkanscene/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply from: '../gradle/outputfilename.gradle' android { - compileSdkVersion 26 + compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "de.saschawillems.vulkanVulkanscene" - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { @@ -43,43 +43,43 @@ task copyTask { } copy { - from '../../../data/shaders/glsl/base' + from rootProject.ext.shaderPath + 'glsl/base' into 'assets/shaders/glsl/base' include '*.spv' } copy { - from '../../../data/shaders/glsl/vulkanscene' + from rootProject.ext.shaderPath + 'glsl/vulkanscene' into 'assets/shaders/glsl/vulkanscene' include '*.*' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'vulkanscenelogos.gltf' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'vulkanscenebackground.gltf' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'vulkanscenemodels.gltf' } copy { - from '../../../data/models' + from rootProject.ext.assetPath + 'models' into 'assets/models' include 'cube.gltf' } copy { - from '../../../data/textures' + from rootProject.ext.assetPath + 'textures' into 'assets/textures' include 'cubemap_vulkan.ktx' } diff --git a/android/gradle/wrapper/gradle-wrapper.jar b/android/gradle/wrapper/gradle-wrapper.jar index 13372aef5e24af05341d49695ee84e5f9b594659..7454180f2ae8848c63b8b4dea2cb829da983f2fa 100644 GIT binary patch literal 59536 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 QuEJmfE|#`Dqx|px0L@K;Y5)KL literal 53636 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ⅅ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 H-+%o-(+5aQ diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties index f21ad904..ffed3a25 100644 --- a/android/gradle/wrapper/gradle-wrapper.properties +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -1,7 +1,5 @@ -#Sun Aug 04 12:29:22 CEST 2019 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip -org.gradle.jvmargs=-Xmx4096m diff --git a/android/gradlew b/android/gradlew index 9d82f789..c53aefaa 100755 --- a/android/gradlew +++ b/android/gradlew @@ -1,74 +1,129 @@ -#!/usr/bin/env bash +#!/bin/sh + +# +# Copyright © 2015-2021 the original authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ############################################################################## -## -## Gradle start up script for UN*X -## +# +# Gradle start up script for POSIX generated by Gradle. +# +# Important for running: +# +# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is +# noncompliant, but you have some other compliant shell such as ksh or +# bash, then to run this script, type that shell name before the whole +# command line, like: +# +# ksh Gradle +# +# Busybox and similar reduced shells will NOT work, because this script +# requires all of these POSIX shell features: +# * functions; +# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», +# «${var#prefix}», «${var%suffix}», and «$( cmd )»; +# * compound commands having a testable exit status, especially «case»; +# * various built-in commands including «command», «set», and «ulimit». +# +# Important for patching: +# +# (2) This script targets any POSIX shell, so it avoids extensions provided +# by Bash, Ksh, etc; in particular arrays are avoided. +# +# The "traditional" practice of packing multiple parameters into a +# space-separated string is a well documented source of bugs and security +# problems, so this is (mostly) avoided, by progressively accumulating +# options in "$@", and eventually passing that to Java. +# +# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, +# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; +# see the in-line comments for details. +# +# There are tweaks for specific operating systems such as AIX, CygWin, +# Darwin, MinGW, and NonStop. +# +# (3) This script is generated from the Groovy template +# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# within the Gradle project. +# +# You can find Gradle at https://github.com/gradle/gradle/. +# ############################################################################## -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS="" +# Attempt to set APP_HOME + +# Resolve links: $0 may be a link +app_path=$0 + +# Need this for daisy-chained symlinks. +while + APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path + [ -h "$app_path" ] +do + ls=$( ls -ld "$app_path" ) + link=${ls#*' -> '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac +done + +APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit APP_NAME="Gradle" -APP_BASE_NAME=`basename "$0"` +APP_BASE_NAME=${0##*/} + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' # Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD="maximum" +MAX_FD=maximum -warn ( ) { +warn () { echo "$*" -} +} >&2 -die ( ) { +die () { echo echo "$*" echo exit 1 -} +} >&2 # OS specific support (must be 'true' or 'false'). cygwin=false msys=false darwin=false -case "`uname`" in - CYGWIN* ) - cygwin=true - ;; - Darwin* ) - darwin=true - ;; - MINGW* ) - msys=true - ;; +nonstop=false +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; esac -# Attempt to set APP_HOME -# Resolve links: $0 may be a link -PRG="$0" -# Need this for relative symlinks. -while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG=`dirname "$PRG"`"/$link" - fi -done -SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >/dev/null -APP_HOME="`pwd -P`" -cd "$SAVED" >/dev/null - CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + # Determine the Java command to use to start the JVM. if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" + JAVACMD=$JAVA_HOME/jre/sh/java else - JAVACMD="$JAVA_HOME/bin/java" + JAVACMD=$JAVA_HOME/bin/java fi if [ ! -x "$JAVACMD" ] ; then die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME @@ -77,7 +132,7 @@ Please set the JAVA_HOME variable in your environment to match the location of your Java installation." fi else - JAVACMD="java" + JAVACMD=java which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. Please set the JAVA_HOME variable in your environment to match the @@ -85,76 +140,95 @@ location of your Java installation." fi # Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then - MAX_FD_LIMIT=`ulimit -H -n` - if [ $? -eq 0 ] ; then - if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then - MAX_FD="$MAX_FD_LIMIT" - fi - ulimit -n $MAX_FD - if [ $? -ne 0 ] ; then - warn "Could not set maximum file descriptor limit: $MAX_FD" - fi - else - warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" - fi -fi - -# For Darwin, add options to specify how the application appears in the dock -if $darwin; then - GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" -fi - -# For Cygwin, switch paths to Windows format before running java -if $cygwin ; then - APP_HOME=`cygpath --path --mixed "$APP_HOME"` - CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` - JAVACMD=`cygpath --unix "$JAVACMD"` - - # We build the pattern for arguments to be converted via cygpath - ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` - SEP="" - for dir in $ROOTDIRSRAW ; do - ROOTDIRS="$ROOTDIRS$SEP$dir" - SEP="|" - done - OURCYGPATTERN="(^($ROOTDIRS))" - # Add a user-defined pattern to the cygpath arguments - if [ "$GRADLE_CYGPATTERN" != "" ] ; then - OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" - fi - # Now convert the arguments - kludge to limit ourselves to /bin/sh - i=0 - for arg in "$@" ; do - CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` - CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option - - if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition - eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` - else - eval `echo args$i`="\"$arg\"" - fi - i=$((i+1)) - done - case $i in - (0) set -- ;; - (1) set -- "$args0" ;; - (2) set -- "$args0" "$args1" ;; - (3) set -- "$args0" "$args1" "$args2" ;; - (4) set -- "$args0" "$args1" "$args2" "$args3" ;; - (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; - (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; - (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; - (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; - (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" esac fi -# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules -function splitJvmOpts() { - JVM_OPTS=("$@") -} -eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS -JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. -exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" +# For Cygwin or MSYS, switch paths to Windows format before running java +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) + + # Now convert the arguments - kludge to limit ourselves to /bin/sh + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) + fi + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg + done +fi + +# Collect all arguments for the java command; +# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of +# shell script including quotes and variable substitutions, so put them in +# double quotes to make sure that they get re-expanded; and +# * put everything else in single quotes, so that it's not re-expanded. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + org.gradle.wrapper.GradleWrapperMain \ + "$@" + +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# + +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' + +exec "$JAVACMD" "$@" diff --git a/android/gradlew.bat b/android/gradlew.bat index 8a0b282a..107acd32 100644 --- a/android/gradlew.bat +++ b/android/gradlew.bat @@ -1,3 +1,19 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + @if "%DEBUG%" == "" @echo off @rem ########################################################################## @rem @@ -8,20 +24,23 @@ @rem Set local scope for the variables with windows NT shell if "%OS%"=="Windows_NT" setlocal -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS= - set DIRNAME=%~dp0 if "%DIRNAME%" == "" set DIRNAME=. set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + @rem Find java.exe if defined JAVA_HOME goto findJavaFromJavaHome set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto init +if "%ERRORLEVEL%" == "0" goto execute echo. echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. @@ -35,7 +54,7 @@ goto fail set JAVA_HOME=%JAVA_HOME:"=% set JAVA_EXE=%JAVA_HOME%/bin/java.exe -if exist "%JAVA_EXE%" goto init +if exist "%JAVA_EXE%" goto execute echo. echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% @@ -45,34 +64,14 @@ echo location of your Java installation. goto fail -:init -@rem Get command-line arguments, handling Windowz variants - -if not "%OS%" == "Windows_NT" goto win9xME_args -if "%@eval[2+2]" == "4" goto 4NT_args - -:win9xME_args -@rem Slurp the command line arguments. -set CMD_LINE_ARGS= -set _SKIP=2 - -:win9xME_args_slurp -if "x%~1" == "x" goto execute - -set CMD_LINE_ARGS=%* -goto execute - -:4NT_args -@rem Get arguments from the 4NT Shell from JP Software -set CMD_LINE_ARGS=%$ - :execute @rem Setup the command line set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + @rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* :end @rem End local scope for the variables with windows NT shell From a124271b7e5023c560d0899ad00ef912573da1e7 Mon Sep 17 00:00:00 2001 From: Sascha Willems Date: Wed, 10 May 2023 20:34:09 +0200 Subject: [PATCH 5/7] Changed shader path lookup --- base/vulkanexamplebase.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/base/vulkanexamplebase.cpp b/base/vulkanexamplebase.cpp index 143ae8b7..c48ab61a 100644 --- a/base/vulkanexamplebase.cpp +++ b/base/vulkanexamplebase.cpp @@ -191,7 +191,7 @@ void VulkanExampleBase::destroyCommandBuffers() std::string VulkanExampleBase::getShadersPath() const { - return getAssetPath() + "shaders/" + shaderDir + "/"; + return getShaderBasePath() + shaderDir + "/"; } void VulkanExampleBase::createPipelineCache() From 69bb4d6ac0860c01bfd2bbd7124ea670a451f379 Mon Sep 17 00:00:00 2001 From: Sascha Willems Date: Wed, 10 May 2023 21:10:59 +0200 Subject: [PATCH 6/7] Path lookup --- CMakeLists.txt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f6e2194f..fa23d906 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -121,9 +121,12 @@ endfunction(buildExamples) if(RESOURCE_INSTALL_DIR) add_definitions(-DVK_EXAMPLE_ASSETS_DIR=\"${RESOURCE_INSTALL_DIR}/\") - install(DIRECTORY data/ DESTINATION ${RESOURCE_INSTALL_DIR}/) + add_definitions(-DVK_EXAMPLE_SHADERS_DIR=\"${RESOURCE_INSTALL_DIR}/\") + install(DIRECTORY assets/ DESTINATION ${RESOURCE_INSTALL_DIR}/) + install(DIRECTORY shader/ DESTINATION ${RESOURCE_INSTALL_DIR}/) else() add_definitions(-DVK_EXAMPLE_ASSETS_DIR=\"${CMAKE_SOURCE_DIR}/assets/\") + add_definitions(-DVK_EXAMPLE_SHADERS_DIR=\"${CMAKE_SOURCE_DIR}/shaders/\") endif() # Compiler specific stuff From 10031d4cca35c1b23a5575e8f4c27cbbd64b9803 Mon Sep 17 00:00:00 2001 From: Sascha Willems Date: Wed, 10 May 2023 21:29:33 +0200 Subject: [PATCH 7/7] Changed references to the asset pack --- base/VulkanTexture.cpp | 4 ++-- base/VulkanTools.cpp | 8 ++++---- base/VulkanglTFModel.cpp | 4 ++-- examples/gltfloading/gltfloading.cpp | 2 +- examples/gltfscenerendering/gltfscenerendering.cpp | 2 +- examples/gltfskinning/gltfskinning.cpp | 2 +- examples/texture/texture.cpp | 4 ++-- examples/texturearray/texturearray.cpp | 4 ++-- examples/texturecubemap/texturecubemap.cpp | 4 ++-- examples/texturecubemaparray/texturecubemaparray.cpp | 4 ++-- examples/texturemipmapgen/texturemipmapgen.cpp | 4 ++-- examples/vertexattributes/vertexattributes.cpp | 2 +- 12 files changed, 22 insertions(+), 22 deletions(-) diff --git a/base/VulkanTexture.cpp b/base/VulkanTexture.cpp index 039cf59d..dc7079a5 100644 --- a/base/VulkanTexture.cpp +++ b/base/VulkanTexture.cpp @@ -34,7 +34,7 @@ namespace vks #if defined(__ANDROID__) AAsset* asset = AAssetManager_open(androidApp->activity->assetManager, filename.c_str(), AASSET_MODE_STREAMING); if (!asset) { - 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); + vks::tools::exitFatal("Could not load texture from " + filename + "\n\nMake sure the assets submodule has been checked out and is up-to-date.", -1); } size_t size = AAsset_getLength(asset); assert(size > 0); @@ -45,7 +45,7 @@ namespace vks delete[] textureData; #else if (!vks::tools::fileExists(filename)) { - 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); + vks::tools::exitFatal("Could not load texture from " + filename + "\n\nMake sure the assets submodule has been checked out and is up-to-date.", -1); } result = ktxTexture_CreateFromNamedFile(filename.c_str(), KTX_TEXTURE_CREATE_LOAD_IMAGE_DATA_BIT, target); #endif diff --git a/base/VulkanTools.cpp b/base/VulkanTools.cpp index b36b3296..84175828 100644 --- a/base/VulkanTools.cpp +++ b/base/VulkanTools.cpp @@ -14,8 +14,8 @@ const std::string getAssetPath() { #if defined(VK_USE_PLATFORM_ANDROID_KHR) return ""; -#elif defined(DVK_EXAMPLE_ASSETS_DIR) - return DVK_EXAMPLE_ASSETS_DIR; +#elif defined(VK_EXAMPLE_ASSETS_DIR) + return VK_EXAMPLE_ASSETS_DIR; #else return "./../assets/"; #endif @@ -28,8 +28,8 @@ const std::string getShaderBasePath() { #if defined(VK_USE_PLATFORM_ANDROID_KHR) return "shaders/"; -#elif defined(DVK_EXAMPLE_SHADERS_DIR) - return DVK_EXAMPLE_SHADERS_DIR; +#elif defined(VK_EXAMPLE_SHADERS_DIR) + return VK_EXAMPLE_SHADERS_DIR; #else return "./../shaders/"; #endif diff --git a/base/VulkanglTFModel.cpp b/base/VulkanglTFModel.cpp index 93f18d4d..a811c958 100644 --- a/base/VulkanglTFModel.cpp +++ b/base/VulkanglTFModel.cpp @@ -289,7 +289,7 @@ void vkglTF::Texture::fromglTfImage(tinygltf::Image &gltfimage, std::string path #if defined(__ANDROID__) AAsset* asset = AAssetManager_open(androidApp->activity->assetManager, filename.c_str(), AASSET_MODE_STREAMING); if (!asset) { - 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); + vks::tools::exitFatal("Could not load texture from " + filename + "\n\nMake sure the assets submodule has been checked out and is up-to-date.", -1); } size_t size = AAsset_getLength(asset); assert(size > 0); @@ -300,7 +300,7 @@ void vkglTF::Texture::fromglTfImage(tinygltf::Image &gltfimage, std::string path delete[] textureData; #else if (!vks::tools::fileExists(filename)) { - 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); + vks::tools::exitFatal("Could not load texture from " + filename + "\n\nMake sure the assets submodule has been checked out and is up-to-date.", -1); } result = ktxTexture_CreateFromNamedFile(filename.c_str(), KTX_TEXTURE_CREATE_LOAD_IMAGE_DATA_BIT, &ktxTexture); #endif diff --git a/examples/gltfloading/gltfloading.cpp b/examples/gltfloading/gltfloading.cpp index 548e0250..ca072c96 100644 --- a/examples/gltfloading/gltfloading.cpp +++ b/examples/gltfloading/gltfloading.cpp @@ -513,7 +513,7 @@ public: } } else { - vks::tools::exitFatal("Could not open the glTF file.\n\nThe file is part of the additional asset pack.\n\nRun \"download_assets.py\" in the repository root to download the latest version.", -1); + vks::tools::exitFatal("Could not open the glTF file.\n\nMake sure the assets submodule has been checked out and is up-to-date.", -1); return; } diff --git a/examples/gltfscenerendering/gltfscenerendering.cpp b/examples/gltfscenerendering/gltfscenerendering.cpp index 7ba5ee0f..be30f6ad 100644 --- a/examples/gltfscenerendering/gltfscenerendering.cpp +++ b/examples/gltfscenerendering/gltfscenerendering.cpp @@ -383,7 +383,7 @@ void VulkanExample::loadglTFFile(std::string filename) } } else { - vks::tools::exitFatal("Could not open the glTF file.\n\nThe file is part of the additional asset pack.\n\nRun \"download_assets.py\" in the repository root to download the latest version.", -1); + vks::tools::exitFatal("Could not open the glTF file.\n\nMake sure the assets submodule has been checked out and is up-to-date.", -1); return; } diff --git a/examples/gltfskinning/gltfskinning.cpp b/examples/gltfskinning/gltfskinning.cpp index f019395e..aa6b70c5 100644 --- a/examples/gltfskinning/gltfskinning.cpp +++ b/examples/gltfskinning/gltfskinning.cpp @@ -754,7 +754,7 @@ void VulkanExample::loadglTFFile(std::string filename) } else { - vks::tools::exitFatal("Could not open the glTF file.\n\nThe file is part of the additional asset pack.\n\nRun \"download_assets.py\" in the repository root to download the latest version.", -1); + vks::tools::exitFatal("Could not open the glTF file.\n\nMake sure the assets submodule has been checked out and is up-to-date.", -1); return; } diff --git a/examples/texture/texture.cpp b/examples/texture/texture.cpp index f4904eb2..8bc5ed12 100644 --- a/examples/texture/texture.cpp +++ b/examples/texture/texture.cpp @@ -129,7 +129,7 @@ public: // So they need to be loaded via the asset manager AAsset* asset = AAssetManager_open(androidApp->activity->assetManager, filename.c_str(), AASSET_MODE_STREAMING); if (!asset) { - 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); + vks::tools::exitFatal("Could not load texture from " + filename + "\n\nMake sure the assets submodule has been checked out and is up-to-date.", -1); } size_t size = AAsset_getLength(asset); assert(size > 0); @@ -141,7 +141,7 @@ public: delete[] textureData; #else if (!vks::tools::fileExists(filename)) { - 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); + vks::tools::exitFatal("Could not load texture from " + filename + "\n\nMake sure the assets submodule has been checked out and is up-to-date.", -1); } result = ktxTexture_CreateFromNamedFile(filename.c_str(), KTX_TEXTURE_CREATE_LOAD_IMAGE_DATA_BIT, &ktxTexture); #endif diff --git a/examples/texturearray/texturearray.cpp b/examples/texturearray/texturearray.cpp index bd5285d8..7acc5512 100644 --- a/examples/texturearray/texturearray.cpp +++ b/examples/texturearray/texturearray.cpp @@ -100,7 +100,7 @@ public: // So they need to be loaded via the asset manager AAsset* asset = AAssetManager_open(androidApp->activity->assetManager, filename.c_str(), AASSET_MODE_STREAMING); if (!asset) { - 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); + vks::tools::exitFatal("Could not load texture from " + filename + "\n\nMake sure the assets submodule has been checked out and is up-to-date.", -1); } size_t size = AAsset_getLength(asset); assert(size > 0); @@ -112,7 +112,7 @@ public: delete[] textureData; #else if (!vks::tools::fileExists(filename)) { - 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); + vks::tools::exitFatal("Could not load texture from " + filename + "\n\nMake sure the assets submodule has been checked out and is up-to-date.", -1); } result = ktxTexture_CreateFromNamedFile(filename.c_str(), KTX_TEXTURE_CREATE_LOAD_IMAGE_DATA_BIT, &ktxTexture); #endif diff --git a/examples/texturecubemap/texturecubemap.cpp b/examples/texturecubemap/texturecubemap.cpp index 718e0e4b..222adc5c 100644 --- a/examples/texturecubemap/texturecubemap.cpp +++ b/examples/texturecubemap/texturecubemap.cpp @@ -102,7 +102,7 @@ public: // So they need to be loaded via the asset manager AAsset* asset = AAssetManager_open(androidApp->activity->assetManager, filename.c_str(), AASSET_MODE_STREAMING); if (!asset) { - 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); + vks::tools::exitFatal("Could not load texture from " + filename + "\n\nMake sure the assets submodule has been checked out and is up-to-date.", -1); } size_t size = AAsset_getLength(asset); assert(size > 0); @@ -114,7 +114,7 @@ public: delete[] textureData; #else if (!vks::tools::fileExists(filename)) { - 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); + vks::tools::exitFatal("Could not load texture from " + filename + "\n\nMake sure the assets submodule has been checked out and is up-to-date.", -1); } result = ktxTexture_CreateFromNamedFile(filename.c_str(), KTX_TEXTURE_CREATE_LOAD_IMAGE_DATA_BIT, &ktxTexture); #endif diff --git a/examples/texturecubemaparray/texturecubemaparray.cpp b/examples/texturecubemaparray/texturecubemaparray.cpp index 16572be7..eed45c3d 100644 --- a/examples/texturecubemaparray/texturecubemaparray.cpp +++ b/examples/texturecubemaparray/texturecubemaparray.cpp @@ -105,7 +105,7 @@ public: // So they need to be loaded via the asset manager AAsset* asset = AAssetManager_open(androidApp->activity->assetManager, filename.c_str(), AASSET_MODE_STREAMING); if (!asset) { - 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); + vks::tools::exitFatal("Could not load texture from " + filename + "\n\nMake sure the assets submodule has been checked out and is up-to-date.", -1); } size_t size = AAsset_getLength(asset); assert(size > 0); @@ -117,7 +117,7 @@ public: delete[] textureData; #else if (!vks::tools::fileExists(filename)) { - 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); + vks::tools::exitFatal("Could not load texture from " + filename + "\n\nMake sure the assets submodule has been checked out and is up-to-date.", -1); } result = ktxTexture_CreateFromNamedFile(filename.c_str(), KTX_TEXTURE_CREATE_LOAD_IMAGE_DATA_BIT, &ktxTexture); #endif diff --git a/examples/texturemipmapgen/texturemipmapgen.cpp b/examples/texturemipmapgen/texturemipmapgen.cpp index 475e557c..d5091e20 100644 --- a/examples/texturemipmapgen/texturemipmapgen.cpp +++ b/examples/texturemipmapgen/texturemipmapgen.cpp @@ -88,7 +88,7 @@ public: // So they need to be loaded via the asset manager AAsset* asset = AAssetManager_open(androidApp->activity->assetManager, filename.c_str(), AASSET_MODE_STREAMING); if (!asset) { - 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); + vks::tools::exitFatal("Could not load texture from " + filename + "\n\nMake sure the assets submodule has been checked out and is up-to-date.", -1); } size_t size = AAsset_getLength(asset); assert(size > 0); @@ -100,7 +100,7 @@ public: delete[] textureData; #else if (!vks::tools::fileExists(filename)) { - 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); + vks::tools::exitFatal("Could not load texture from " + filename + "\n\nMake sure the assets submodule has been checked out and is up-to-date.", -1); } result = ktxTexture_CreateFromNamedFile(filename.c_str(), KTX_TEXTURE_CREATE_LOAD_IMAGE_DATA_BIT, &ktxTexture); #endif diff --git a/examples/vertexattributes/vertexattributes.cpp b/examples/vertexattributes/vertexattributes.cpp index 5607b051..2eabaf08 100644 --- a/examples/vertexattributes/vertexattributes.cpp +++ b/examples/vertexattributes/vertexattributes.cpp @@ -257,7 +257,7 @@ void VulkanExample::loadglTFFile(std::string filename) std::string path = filename.substr(0, pos); if (!fileLoaded) { - vks::tools::exitFatal("Could not open the glTF file.\n\nThe file is part of the additional asset pack.\n\nRun \"download_assets.py\" in the repository root to download the latest version.", -1); + vks::tools::exitFatal("Could not open the glTF file.\n\nMake sure the assets submodule has been checked out and is up-to-date.", -1); return; }