├── .gitattributes ├── .gitignore ├── .gitmodules ├── .travis.yml ├── CMakeLists.txt ├── LICENSE.md ├── README.md ├── android ├── README.md ├── bloom │ ├── .gitignore │ ├── AndroidManifest.xml │ ├── example.json │ └── jni │ │ ├── Android.mk │ │ └── Application.mk ├── build-all.py ├── build.py ├── cleanup.bat ├── computecloth │ ├── .gitignore │ ├── AndroidManifest.xml │ ├── example.json │ └── jni │ │ ├── Android.mk │ │ └── Application.mk ├── computecullandlod │ ├── .gitignore │ ├── AndroidManifest.xml │ ├── example.json │ └── jni │ │ ├── Android.mk │ │ └── Application.mk ├── computenbody │ ├── .gitignore │ ├── AndroidManifest.xml │ ├── example.json │ └── jni │ │ ├── Android.mk │ │ └── Application.mk ├── computeparticles │ ├── .gitignore │ ├── AndroidManifest.xml │ ├── example.json │ └── jni │ │ ├── Android.mk │ │ └── Application.mk ├── computeshader │ ├── .gitignore │ ├── AndroidManifest.xml │ ├── example.json │ └── jni │ │ ├── Android.mk │ │ └── Application.mk ├── debugmarker │ ├── .gitignore │ ├── AndroidManifest.xml │ ├── example.json │ └── jni │ │ ├── Android.mk │ │ └── Application.mk ├── deferred │ ├── .gitignore │ ├── AndroidManifest.xml │ ├── example.json │ └── jni │ │ ├── Android.mk │ │ └── Application.mk ├── deferredmultisampling │ ├── .gitignore │ ├── AndroidManifest.xml │ ├── example.json │ └── jni │ │ ├── Android.mk │ │ └── Application.mk ├── deferredshadows │ ├── .gitignore │ ├── AndroidManifest.xml │ ├── example.json │ └── jni │ │ ├── Android.mk │ │ └── Application.mk ├── displacement │ ├── .gitignore │ ├── AndroidManifest.xml │ ├── example.json │ └── jni │ │ ├── Android.mk │ │ └── Application.mk ├── distancefieldfonts │ ├── .gitignore │ ├── AndroidManifest.xml │ ├── example.json │ └── jni │ │ ├── Android.mk │ │ └── Application.mk ├── dynamicuniformbuffer │ ├── .gitignore │ ├── AndroidManifest.xml │ ├── example.json │ └── jni │ │ ├── Android.mk │ │ └── Application.mk ├── gears │ ├── .gitignore │ ├── AndroidManifest.xml │ ├── example.json │ └── jni │ │ ├── Android.mk │ │ └── Application.mk ├── geometryshader │ ├── .gitignore │ ├── AndroidManifest.xml │ ├── example.json │ └── jni │ │ ├── Android.mk │ │ └── Application.mk ├── hdr │ ├── .gitignore │ ├── AndroidManifest.xml │ ├── example.json │ └── jni │ │ ├── Android.mk │ │ └── Application.mk ├── images │ └── icon.png ├── imgui │ ├── .gitignore │ ├── AndroidManifest.xml │ ├── example.json │ └── jni │ │ ├── Android.mk │ │ └── Application.mk ├── indirectdraw │ ├── .gitignore │ ├── AndroidManifest.xml │ ├── example.json │ └── jni │ │ ├── Android.mk │ │ └── Application.mk ├── install-all.py ├── instancing │ ├── .gitignore │ ├── AndroidManifest.xml │ ├── example.json │ └── jni │ │ ├── Android.mk │ │ └── Application.mk ├── layers │ └── README.md ├── mesh │ ├── .gitignore │ ├── AndroidManifest.xml │ ├── example.json │ └── jni │ │ ├── Android.mk │ │ └── Application.mk ├── multisampling │ ├── .gitignore │ ├── AndroidManifest.xml │ ├── example.json │ └── jni │ │ ├── Android.mk │ │ └── Application.mk ├── multithreading │ ├── .gitignore │ ├── AndroidManifest.xml │ ├── example.json │ └── jni │ │ ├── Android.mk │ │ └── Application.mk ├── occlusionquery │ ├── .gitignore │ ├── AndroidManifest.xml │ ├── example.json │ └── jni │ │ ├── Android.mk │ │ └── Application.mk ├── offscreen │ ├── .gitignore │ ├── AndroidManifest.xml │ ├── example.json │ └── jni │ │ ├── Android.mk │ │ └── Application.mk ├── parallaxmapping │ ├── .gitignore │ ├── AndroidManifest.xml │ ├── example.json │ └── jni │ │ ├── Android.mk │ │ └── Application.mk ├── particlefire │ ├── .gitignore │ ├── AndroidManifest.xml │ ├── example.json │ └── jni │ │ ├── Android.mk │ │ └── Application.mk ├── pbrbasic │ ├── .gitignore │ ├── AndroidManifest.xml │ ├── example.json │ └── jni │ │ ├── Android.mk │ │ └── Application.mk ├── pbribl │ ├── .gitignore │ ├── AndroidManifest.xml │ ├── example.json │ └── jni │ │ ├── Android.mk │ │ └── Application.mk ├── pbrtexture │ ├── .gitignore │ ├── AndroidManifest.xml │ ├── example.json │ └── jni │ │ ├── Android.mk │ │ └── Application.mk ├── pipelines │ ├── .gitignore │ ├── AndroidManifest.xml │ ├── example.json │ └── jni │ │ ├── Android.mk │ │ └── Application.mk ├── pushconstants │ ├── .gitignore │ ├── AndroidManifest.xml │ ├── example.json │ └── jni │ │ ├── Android.mk │ │ └── Application.mk ├── radialblur │ ├── .gitignore │ ├── AndroidManifest.xml │ ├── example.json │ └── jni │ │ ├── Android.mk │ │ └── Application.mk ├── raytracing │ ├── .gitignore │ ├── AndroidManifest.xml │ ├── example.json │ └── jni │ │ ├── Android.mk │ │ └── Application.mk ├── scenerendering │ ├── .gitignore │ ├── AndroidManifest.xml │ ├── example.json │ └── jni │ │ ├── Android.mk │ │ └── Application.mk ├── shadowmapping │ ├── .gitignore │ ├── AndroidManifest.xml │ ├── example.json │ └── jni │ │ ├── Android.mk │ │ └── Application.mk ├── shadowmappingomni │ ├── .gitignore │ ├── AndroidManifest.xml │ ├── example.json │ └── jni │ │ ├── Android.mk │ │ └── Application.mk ├── skeletalanimation │ ├── .gitignore │ ├── AndroidManifest.xml │ ├── example.json │ └── jni │ │ ├── Android.mk │ │ └── Application.mk ├── specializationconstants │ ├── .gitignore │ ├── AndroidManifest.xml │ ├── example.json │ └── jni │ │ ├── Android.mk │ │ └── Application.mk ├── sphericalenvmapping │ ├── .gitignore │ ├── AndroidManifest.xml │ ├── example.json │ └── jni │ │ ├── Android.mk │ │ └── Application.mk ├── ssao │ ├── .gitignore │ ├── AndroidManifest.xml │ ├── example.json │ └── jni │ │ ├── Android.mk │ │ └── Application.mk ├── stencilbuffer │ ├── .gitignore │ ├── AndroidManifest.xml │ ├── example.json │ └── jni │ │ ├── Android.mk │ │ └── Application.mk ├── subpasses │ ├── .gitignore │ ├── AndroidManifest.xml │ ├── example.json │ └── jni │ │ ├── Android.mk │ │ └── Application.mk ├── terraintessellation │ ├── .gitignore │ ├── AndroidManifest.xml │ ├── example.json │ └── jni │ │ ├── Android.mk │ │ └── Application.mk ├── tessellation │ ├── .gitignore │ ├── AndroidManifest.xml │ ├── example.json │ └── jni │ │ ├── Android.mk │ │ └── Application.mk ├── textoverlay │ ├── .gitignore │ ├── AndroidManifest.xml │ ├── example.json │ └── jni │ │ ├── Android.mk │ │ └── Application.mk ├── texture │ ├── .gitignore │ ├── AndroidManifest.xml │ ├── example.json │ └── jni │ │ ├── Android.mk │ │ └── Application.mk ├── texture3d │ ├── .gitignore │ ├── AndroidManifest.xml │ ├── example.json │ └── jni │ │ ├── Android.mk │ │ └── Application.mk ├── texturearray │ ├── .gitignore │ ├── AndroidManifest.xml │ ├── example.json │ └── jni │ │ ├── Android.mk │ │ └── Application.mk ├── texturecubemap │ ├── .gitignore │ ├── AndroidManifest.xml │ ├── example.json │ └── jni │ │ ├── Android.mk │ │ └── Application.mk ├── texturemipmapgen │ ├── .gitignore │ ├── AndroidManifest.xml │ ├── example.json │ └── jni │ │ ├── Android.mk │ │ └── Application.mk ├── triangle │ ├── .gitignore │ ├── AndroidManifest.xml │ ├── example.json │ └── jni │ │ ├── Android.mk │ │ └── Application.mk ├── uninstall-all.py └── vulkanscene │ ├── .gitignore │ ├── AndroidManifest.xml │ ├── example.json │ └── jni │ ├── Android.mk │ └── Application.mk ├── appveyor.yml ├── base ├── CMakeLists.txt ├── VulkanAndroid.cpp ├── VulkanAndroid.h ├── VulkanBuffer.hpp ├── VulkanDebug.cpp ├── VulkanDebug.h ├── VulkanDevice.hpp ├── VulkanFrameBuffer.hpp ├── VulkanHeightmap.hpp ├── VulkanInitializers.hpp ├── VulkanModel.hpp ├── VulkanSwapChain.hpp ├── VulkanTextOverlay.hpp ├── VulkanTexture.hpp ├── VulkanTools.cpp ├── VulkanTools.h ├── benchmark.hpp ├── camera.hpp ├── frustum.hpp ├── keycodes.hpp ├── threadpool.hpp ├── vulkanexamplebase.cpp └── vulkanexamplebase.h ├── bin ├── assimp-vc140-mt.dll └── benchmark-all.py ├── bloom ├── bloom.cpp ├── bloom.vcxproj └── bloom.vcxproj.filters ├── cleanup.bat ├── cmake ├── FindASSIMP.cmake ├── FindWayland.cmake └── FindXCB.cmake ├── computecloth ├── computecloth.cpp ├── computecloth.vcxproj └── computecloth.vcxproj.filters ├── computecullandlod ├── computecullandlod.cpp ├── computecullandlod.vcxproj └── computecullandlod.vcxproj.filters ├── computenbody ├── computenbody.cpp ├── computenbody.vcxproj └── computenbody.vcxproj.filters ├── computeparticles ├── computeparticles.cpp ├── computeparticles.vcxproj └── computeparticles.vcxproj.filters ├── computeshader ├── computeshader.cpp ├── computeshader.vcxproj └── computeshader.vcxproj.filters ├── data ├── README.md ├── font.fnt └── shaders │ ├── base │ ├── generate-spirv.bat │ ├── textoverlay.frag │ ├── textoverlay.frag.spv │ ├── textoverlay.vert │ └── textoverlay.vert.spv │ ├── bloom │ ├── colorpass.frag │ ├── colorpass.frag.spv │ ├── colorpass.vert │ ├── colorpass.vert.spv │ ├── gaussblur.frag │ ├── gaussblur.frag.spv │ ├── gaussblur.vert │ ├── gaussblur.vert.spv │ ├── generate-spirv.bat │ ├── phongpass.frag │ ├── phongpass.frag.spv │ ├── phongpass.vert │ ├── phongpass.vert.spv │ ├── skybox.frag │ ├── skybox.frag.spv │ ├── skybox.vert │ └── skybox.vert.spv │ ├── compileshaders.py │ ├── computecloth │ ├── cloth.comp │ ├── cloth.comp.spv │ ├── cloth.frag │ ├── cloth.frag.spv │ ├── cloth.vert │ ├── cloth.vert.spv │ ├── sphere.frag │ ├── sphere.frag.spv │ ├── sphere.vert │ └── sphere.vert.spv │ ├── computecullandlod │ ├── cull.comp │ ├── cull.comp.spv │ ├── indirectdraw.frag │ ├── indirectdraw.frag.spv │ ├── indirectdraw.vert │ └── indirectdraw.vert.spv │ ├── computenbody │ ├── particle.frag │ ├── particle.frag.spv │ ├── particle.vert │ ├── particle.vert.spv │ ├── particle_calculate.comp │ ├── particle_calculate.comp.spv │ ├── particle_integrate.comp │ └── particle_integrate.comp.spv │ ├── computeparticles │ ├── generate-spirv.bat │ ├── particle.comp │ ├── particle.comp.spv │ ├── particle.frag │ ├── particle.frag.spv │ ├── particle.vert │ └── particle.vert.spv │ ├── computeshader │ ├── edgedetect.comp │ ├── edgedetect.comp.spv │ ├── emboss.comp │ ├── emboss.comp.spv │ ├── generate-spirv.bat │ ├── sharpen.comp │ ├── sharpen.comp.spv │ ├── texture.frag │ ├── texture.frag.spv │ ├── texture.vert │ └── texture.vert.spv │ ├── cubemap │ ├── generate-spirv.bat │ ├── reflect.frag │ ├── reflect.frag.spv │ ├── reflect.vert │ ├── reflect.vert.spv │ ├── skybox.frag │ ├── skybox.frag.spv │ ├── skybox.vert │ └── skybox.vert.spv │ ├── debugmarker │ ├── colorpass.frag │ ├── colorpass.frag.spv │ ├── colorpass.vert │ ├── colorpass.vert.spv │ ├── generate-spirv.bat │ ├── postprocess.frag │ ├── postprocess.frag.spv │ ├── postprocess.vert │ ├── postprocess.vert.spv │ ├── toon.frag │ ├── toon.frag.spv │ ├── toon.vert │ └── toon.vert.spv │ ├── deferred │ ├── debug.frag │ ├── debug.frag.spv │ ├── debug.vert │ ├── debug.vert.spv │ ├── deferred.frag │ ├── deferred.frag.spv │ ├── deferred.vert │ ├── deferred.vert.spv │ ├── generate-spirv.bat │ ├── mrt.frag │ ├── mrt.frag.spv │ ├── mrt.vert │ └── mrt.vert.spv │ ├── deferredmultisampling │ ├── debug.frag │ ├── debug.frag.spv │ ├── debug.vert │ ├── debug.vert.spv │ ├── deferred.frag │ ├── deferred.frag.spv │ ├── deferred.vert │ ├── deferred.vert.spv │ ├── mrt.frag │ ├── mrt.frag.spv │ ├── mrt.vert │ └── mrt.vert.spv │ ├── deferredshadows │ ├── debug.frag │ ├── debug.frag.spv │ ├── debug.vert │ ├── debug.vert.spv │ ├── deferred.frag │ ├── deferred.frag.spv │ ├── deferred.vert │ ├── deferred.vert.spv │ ├── generate-spirv.bat │ ├── geom.spv │ ├── mrt.frag │ ├── mrt.frag.spv │ ├── mrt.vert │ ├── mrt.vert.spv │ ├── shadow.frag │ ├── shadow.frag.spv │ ├── shadow.geom │ ├── shadow.geom.spv │ ├── shadow.vert │ └── shadow.vert.spv │ ├── displacement │ ├── base.frag │ ├── base.frag.spv │ ├── base.vert │ ├── base.vert.spv │ ├── displacement.tesc │ ├── displacement.tesc.spv │ ├── displacement.tese │ ├── displacement.tese.spv │ └── generate-spirv.bat │ ├── distancefieldfonts │ ├── bitmap.frag │ ├── bitmap.frag.spv │ ├── bitmap.vert │ ├── bitmap.vert.spv │ ├── generate-spirv.bat │ ├── sdf.frag │ ├── sdf.frag.spv │ ├── sdf.vert │ └── sdf.vert.spv │ ├── dynamicuniformbuffer │ ├── base.frag │ ├── base.frag.spv │ ├── base.vert │ └── base.vert.spv │ ├── gears │ ├── gears.frag │ ├── gears.frag.spv │ ├── gears.vert │ └── gears.vert.spv │ ├── geometryshader │ ├── base.frag │ ├── base.frag.spv │ ├── base.vert │ ├── base.vert.spv │ ├── generate-spirv.bat │ ├── mesh.frag │ ├── mesh.frag.spv │ ├── mesh.vert │ ├── mesh.vert.spv │ ├── normaldebug.geom │ └── normaldebug.geom.spv │ ├── hdr │ ├── bloom.frag │ ├── bloom.frag.spv │ ├── bloom.vert │ ├── bloom.vert.spv │ ├── composition.frag │ ├── composition.frag.spv │ ├── composition.vert │ ├── composition.vert.spv │ ├── gbuffer.frag │ ├── gbuffer.frag.spv │ ├── gbuffer.vert │ └── gbuffer.vert.spv │ ├── imgui │ ├── scene.frag │ ├── scene.frag.spv │ ├── scene.vert │ ├── scene.vert.spv │ ├── ui.frag │ ├── ui.frag.spv │ ├── ui.vert │ └── ui.vert.spv │ ├── indirectdraw │ ├── generate-spirv.bat │ ├── ground.frag │ ├── ground.frag.spv │ ├── ground.vert │ ├── ground.vert.spv │ ├── indirectdraw.frag │ ├── indirectdraw.frag.spv │ ├── indirectdraw.vert │ ├── indirectdraw.vert.spv │ ├── skysphere.frag │ ├── skysphere.frag.spv │ ├── skysphere.vert │ └── skysphere.vert.spv │ ├── instancing │ ├── generate-spirv.bat │ ├── instancing.frag │ ├── instancing.frag.spv │ ├── instancing.vert │ ├── instancing.vert.spv │ ├── planet.frag │ ├── planet.frag.spv │ ├── planet.vert │ ├── planet.vert.spv │ ├── starfield.frag │ ├── starfield.frag.spv │ ├── starfield.vert │ └── starfield.vert.spv │ ├── mesh │ ├── generate-spirv.bat │ ├── mesh.frag │ ├── mesh.frag.spv │ ├── mesh.vert │ └── mesh.vert.spv │ ├── multithreading │ ├── generate-spirv.bat │ ├── phong.frag │ ├── phong.frag.spv │ ├── phong.vert │ ├── phong.vert.spv │ ├── starsphere.frag │ ├── starsphere.frag.spv │ ├── starsphere.vert │ └── starsphere.vert.spv │ ├── occlusionquery │ ├── generate-spirv.bat │ ├── mesh.frag │ ├── mesh.frag.spv │ ├── mesh.vert │ ├── mesh.vert.spv │ ├── occluder.frag │ ├── occluder.frag.spv │ ├── occluder.vert │ ├── occluder.vert.spv │ ├── simple.frag │ ├── simple.frag.spv │ ├── simple.vert │ └── simple.vert.spv │ ├── offscreen │ ├── generate-spirv.bat │ ├── mirror.frag │ ├── mirror.frag.spv │ ├── mirror.vert │ ├── mirror.vert.spv │ ├── phong.frag │ ├── phong.frag.spv │ ├── phong.vert │ ├── phong.vert.spv │ ├── quad.frag │ ├── quad.frag.spv │ ├── quad.vert │ └── quad.vert.spv │ ├── parallax │ ├── parallax.frag │ ├── parallax.frag.spv │ ├── parallax.vert │ └── parallax.vert.spv │ ├── particlefire │ ├── generate-spirv.bat │ ├── normalmap.frag │ ├── normalmap.frag.spv │ ├── normalmap.vert │ ├── normalmap.vert.spv │ ├── particle.frag │ ├── particle.frag.spv │ ├── particle.vert │ └── particle.vert.spv │ ├── pbrbasic │ ├── pbr.frag │ ├── pbr.frag.spv │ ├── pbr.vert │ └── pbr.vert.spv │ ├── pbribl │ ├── filtercube.vert │ ├── filtercube.vert.spv │ ├── genbrdflut.frag │ ├── genbrdflut.frag.spv │ ├── genbrdflut.vert │ ├── genbrdflut.vert.spv │ ├── irradiancecube.frag │ ├── irradiancecube.frag.spv │ ├── pbribl.frag │ ├── pbribl.frag.spv │ ├── pbribl.vert │ ├── pbribl.vert.spv │ ├── prefilterenvmap.frag │ ├── prefilterenvmap.frag.spv │ ├── skybox.frag │ ├── skybox.frag.spv │ ├── skybox.vert │ └── skybox.vert.spv │ ├── pbrtexture │ ├── filtercube.vert │ ├── filtercube.vert.spv │ ├── genbrdflut.frag │ ├── genbrdflut.frag.spv │ ├── genbrdflut.vert │ ├── genbrdflut.vert.spv │ ├── irradiancecube.frag │ ├── irradiancecube.frag.spv │ ├── pbrtexture.frag │ ├── pbrtexture.frag.spv │ ├── pbrtexture.vert │ ├── pbrtexture.vert.spv │ ├── prefilterenvmap.frag │ ├── prefilterenvmap.frag.spv │ ├── skybox.frag │ ├── skybox.frag.spv │ ├── skybox.vert │ └── skybox.vert.spv │ ├── pipelines │ ├── generate-spriv.bat │ ├── phong.frag │ ├── phong.frag.spv │ ├── phong.vert │ ├── phong.vert.spv │ ├── toon.frag │ ├── toon.frag.spv │ ├── toon.vert │ ├── toon.vert.spv │ ├── wireframe.frag │ ├── wireframe.frag.spv │ ├── wireframe.vert │ └── wireframe.vert.spv │ ├── pushconstants │ ├── generate-spirv.bat │ ├── lights.frag │ ├── lights.frag.spv │ ├── lights.vert │ └── lights.vert.spv │ ├── radialblur │ ├── colorpass.frag │ ├── colorpass.frag.spv │ ├── colorpass.vert │ ├── colorpass.vert.spv │ ├── generate-spirv.bat │ ├── phongpass.frag │ ├── phongpass.frag.spv │ ├── phongpass.vert │ ├── phongpass.vert.spv │ ├── radialblur.frag │ ├── radialblur.frag.spv │ ├── radialblur.vert │ └── radialblur.vert.spv │ ├── raytracing │ ├── generate-spirv.bat │ ├── raytracing.comp │ ├── raytracing.comp.spv │ ├── texture.frag │ ├── texture.frag.spv │ ├── texture.vert │ └── texture.vert.spv │ ├── scenerendering │ ├── generate-spirv.bat │ ├── scene.frag │ ├── scene.frag.spv │ ├── scene.vert │ └── scene.vert.spv │ ├── screenshot │ ├── mesh.frag │ ├── mesh.frag.spv │ ├── mesh.vert │ └── mesh.vert.spv │ ├── shadowmapomni │ ├── cubemapdisplay.frag │ ├── cubemapdisplay.frag.spv │ ├── cubemapdisplay.vert │ ├── cubemapdisplay.vert.spv │ ├── generate-spirv.bat │ ├── offscreen.frag │ ├── offscreen.frag.spv │ ├── offscreen.vert │ ├── offscreen.vert.spv │ ├── scene.frag │ ├── scene.frag.spv │ ├── scene.vert │ └── scene.vert.spv │ ├── shadowmapping │ ├── generate-spirv.bat │ ├── offscreen.frag │ ├── offscreen.frag.spv │ ├── offscreen.vert │ ├── offscreen.vert.spv │ ├── quad.frag │ ├── quad.frag.spv │ ├── quad.vert │ ├── quad.vert.spv │ ├── scene.frag │ ├── scene.frag.spv │ ├── scene.vert │ └── scene.vert.spv │ ├── skeletalanimation │ ├── generate-spirv.bat │ ├── mesh.frag │ ├── mesh.frag.spv │ ├── mesh.vert │ ├── mesh.vert.spv │ ├── texture.frag │ ├── texture.frag.spv │ ├── texture.vert │ └── texture.vert.spv │ ├── specializationconstants │ ├── uber.frag │ ├── uber.frag.spv │ ├── uber.vert │ └── uber.vert.spv │ ├── sphericalenvmapping │ ├── generate-spirv.bat │ ├── sem.frag │ ├── sem.frag.spv │ ├── sem.vert │ └── sem.vert.spv │ ├── ssao │ ├── blur.frag │ ├── blur.frag.spv │ ├── composition.frag │ ├── composition.frag.spv │ ├── fullscreen.vert │ ├── fullscreen.vert.spv │ ├── gbuffer.frag │ ├── gbuffer.frag.spv │ ├── gbuffer.vert │ ├── gbuffer.vert.spv │ ├── ssao.frag │ └── ssao.frag.spv │ ├── stencilbuffer │ ├── outline.frag │ ├── outline.frag.spv │ ├── outline.vert │ ├── outline.vert.spv │ ├── toon.frag │ ├── toon.frag.spv │ ├── toon.vert │ └── toon.vert.spv │ ├── subpasses │ ├── composition.frag │ ├── composition.frag.spv │ ├── composition.vert │ ├── composition.vert.spv │ ├── gbuffer.frag │ ├── gbuffer.frag.spv │ ├── gbuffer.vert │ ├── gbuffer.vert.spv │ ├── transparent.frag │ ├── transparent.frag.spv │ ├── transparent.vert │ └── transparent.vert.spv │ ├── terraintessellation │ ├── generate-spirv.bat │ ├── skysphere.frag │ ├── skysphere.frag.spv │ ├── skysphere.vert │ ├── skysphere.vert.spv │ ├── terrain.frag │ ├── terrain.frag.spv │ ├── terrain.tesc │ ├── terrain.tesc.spv │ ├── terrain.tese │ ├── terrain.tese.spv │ ├── terrain.vert │ └── terrain.vert.spv │ ├── tessellation │ ├── base.frag │ ├── base.frag.spv │ ├── base.vert │ ├── base.vert.spv │ ├── generate-spriv.bat │ ├── passthrough.tesc │ ├── passthrough.tesc.spv │ ├── passthrough.tese │ ├── passthrough.tese.spv │ ├── pntriangles.tesc │ ├── pntriangles.tesc.spv │ ├── pntriangles.tese │ └── pntriangles.tese.spv │ ├── textoverlay │ ├── background.frag │ ├── background.frag.spv │ ├── background.vert │ ├── background.vert.spv │ ├── generate-spirv.bat │ ├── mesh.frag │ ├── mesh.frag.spv │ ├── mesh.vert │ ├── mesh.vert.spv │ ├── text.frag │ ├── text.frag.spv │ ├── text.vert │ └── text.vert.spv │ ├── texture │ ├── generate-spirv.bat │ ├── texture.frag │ ├── texture.frag.spv │ ├── texture.vert │ └── texture.vert.spv │ ├── texture3d │ ├── texture3d.frag │ ├── texture3d.frag.spv │ ├── texture3d.vert │ └── texture3d.vert.spv │ ├── texturearray │ ├── generate-spirv.bat │ ├── instancing.frag │ ├── instancing.frag.spv │ ├── instancing.vert │ └── instancing.vert.spv │ ├── texturemipmapgen │ ├── texture.frag │ ├── texture.frag.spv │ ├── texture.vert │ └── texture.vert.spv │ ├── texturesparseresidency │ ├── sparseresidency.frag │ ├── sparseresidency.frag.spv │ ├── sparseresidency.vert │ └── sparseresidency.vert.spv │ ├── triangle │ ├── triangle.frag │ ├── triangle.frag.spv │ ├── triangle.vert │ └── triangle.vert.spv │ ├── viewportarray │ ├── multiview.geom │ ├── multiview.geom.spv │ ├── scene.frag │ ├── scene.frag.spv │ ├── scene.vert │ └── scene.vert.spv │ └── vulkanscene │ ├── generate-spriv.bat │ ├── logo.frag │ ├── logo.frag.spv │ ├── logo.vert │ ├── logo.vert.spv │ ├── mesh.frag │ ├── mesh.frag.spv │ ├── mesh.vert │ ├── mesh.vert.spv │ ├── skybox.frag │ ├── skybox.frag.spv │ ├── skybox.vert │ └── skybox.vert.spv ├── debugmarker ├── debugmarker.cpp ├── debugmarker.vcxproj └── debugmarker.vcxproj.filters ├── deferred ├── deferred.cpp ├── deferred.vcxproj └── deferred.vcxproj.filters ├── deferredmultisampling ├── deferredmultisampling.cpp ├── deferredmultisampling.vcxproj └── deferredmultisampling.vcxproj.filters ├── deferredshadows ├── deferredshadows.cpp ├── deferredshadows.vcxproj └── deferredshadows.vcxproj.filters ├── displacement ├── displacement.cpp ├── displacement.vcxproj └── displacement.vcxproj.filters ├── distancefieldfonts ├── distancefieldfonts.cpp ├── distancefieldfonts.vcxproj └── distancefieldfonts.vcxproj.filters ├── documentation ├── Khronos_meetup_munich_fromGLtoVulkan.pdf ├── additionaldocs.md ├── examplebaseclass.md └── swapchain.md ├── download_assets.py ├── dynamicuniformbuffer ├── README.md ├── dynamicuniformbuffer.cpp ├── dynamicuniformbuffer.vcxproj └── dynamicuniformbuffer.vcxproj.filters ├── external ├── assimp │ └── assimp │ │ ├── .editorconfig │ │ ├── Compiler │ │ ├── poppack1.h │ │ ├── pstdint.h │ │ └── pushpack1.h │ │ ├── DefaultLogger.hpp │ │ ├── Exporter.hpp │ │ ├── IOStream.hpp │ │ ├── IOSystem.hpp │ │ ├── Importer.hpp │ │ ├── LogStream.hpp │ │ ├── Logger.hpp │ │ ├── NullLogger.hpp │ │ ├── ProgressHandler.hpp │ │ ├── ai_assert.h │ │ ├── anim.h │ │ ├── camera.h │ │ ├── cexport.h │ │ ├── cfileio.h │ │ ├── cimport.h │ │ ├── color4.h │ │ ├── color4.inl │ │ ├── config.h │ │ ├── defs.h │ │ ├── importerdesc.h │ │ ├── light.h │ │ ├── material.h │ │ ├── material.inl │ │ ├── matrix3x3.h │ │ ├── matrix3x3.inl │ │ ├── matrix4x4.h │ │ ├── matrix4x4.inl │ │ ├── mesh.h │ │ ├── metadata.h │ │ ├── port │ │ └── AndroidJNI │ │ │ └── AndroidJNIIOSystem.h │ │ ├── postprocess.h │ │ ├── quaternion.h │ │ ├── quaternion.inl │ │ ├── scene.h │ │ ├── texture.h │ │ ├── types.h │ │ ├── vector2.h │ │ ├── vector2.inl │ │ ├── vector3.h │ │ ├── vector3.inl │ │ └── version.h ├── imgui │ ├── LICENSE │ ├── README.md │ ├── imconfig.h │ ├── imgui.cpp │ ├── imgui.h │ ├── imgui_demo.cpp │ ├── imgui_draw.cpp │ ├── imgui_internal.h │ ├── stb_rect_pack.h │ ├── stb_textedit.h │ └── stb_truetype.h ├── stb │ └── stb_font_consolas_24_latin1.inl └── vulkan │ ├── GLSL.std.450.h │ ├── spirv.h │ ├── spirv.hpp │ ├── spirv.hpp11 │ ├── spirv.json │ ├── spirv.lua │ ├── spirv.py │ ├── vk_icd.h │ ├── vk_layer.h │ ├── vk_layer_dispatch_table.h │ ├── vk_platform.h │ ├── vk_sdk_platform.h │ └── vulkan.h ├── gears ├── gears.cpp ├── gears.vcxproj ├── gears.vcxproj.filters ├── vulkangear.cpp └── vulkangear.h ├── geometryshader ├── geometryshader.cpp ├── geometryshader.vcxproj └── geometryshader.vcxproj.filters ├── hdr ├── hdr.cpp ├── hdr.vcxproj └── hdr.vcxproj.filters ├── images ├── androidlogo.png ├── applelogo.png ├── linuxlogo.png ├── vulkanlogo.png ├── vulkanlogoscene.png └── windowslogo.png ├── imgui ├── imgui.vcxproj ├── imgui.vcxproj.filters └── main.cpp ├── indirectdraw ├── README.md ├── indirectdraw.cpp ├── indirectdraw.vcxproj └── indirectdraw.vcxproj.filters ├── instancing ├── instancing.cpp ├── instancing.vcxproj └── instancing.vcxproj.filters ├── libs ├── assimp │ ├── assimp-vc140-mt.lib │ └── assimp.lib └── vulkan │ ├── libvulkan.so │ ├── libvulkan.so.1 │ ├── libvulkan.so.1.0.30 │ └── vulkan-1.lib ├── mesh ├── mesh.cpp ├── mesh.vcxproj └── mesh.vcxproj.filters ├── multisampling ├── multisampling.cpp ├── multisampling.vcxproj └── multisampling.vcxproj.filters ├── multithreading ├── multithreading.cpp ├── multithreading.vcxproj └── multithreading.vcxproj.filters ├── occlusionquery ├── occlusionquery.cpp ├── occlusionquery.vcxproj └── occlusionquery.vcxproj.filters ├── offscreen ├── offscreen.cpp ├── offscreen.vcxproj └── offscreen.vcxproj.filters ├── parallaxmapping ├── parallaxmapping.cpp ├── parallaxmapping.vcxproj └── parallaxmapping.vcxproj.filters ├── particlefire ├── particlefire.cpp ├── particlefire.vcxproj └── particlefire.vcxproj.filters ├── pbrbasic ├── pbrbasic.cpp ├── pbrbasic.vcxproj └── pbrbasic.vcxproj.filters ├── pbribl ├── pbribl.cpp ├── pbribl.vcxproj └── pbribl.vcxproj.filters ├── pbrtexture ├── main.cpp ├── pbrtexture.vcxproj └── pbrtexture.vcxproj.filters ├── pipelines ├── pipelines.cpp ├── pipelines.vcxproj └── pipelines.vcxproj.filters ├── pushconstants ├── pushconstants.cpp ├── pushconstants.vcxproj └── pushconstants.vcxproj.filters ├── radialblur ├── radialblur.cpp ├── radialblur.vcxproj └── radialblur.vcxproj.filters ├── raytracing ├── raytracing.cpp ├── raytracing.vcxproj └── raytracing.vcxproj.filters ├── scenerendering ├── scenerendering.cpp ├── scenerendering.vcxproj └── scenerendering.vcxproj.filters ├── screenshot ├── screenshot.cpp ├── screenshot.vcxproj └── screenshot.vcxproj.filters ├── screenshots ├── basic_gears.png ├── basic_mesh.png ├── basic_offscreen.jpg ├── basic_pipelines.png ├── basic_texture.png ├── basic_triangle.png ├── bloom.jpg ├── compute_cullandlod.jpg ├── compute_imageprocessing.jpg ├── compute_nbody.jpg ├── compute_particles.jpg ├── compute_raytracing.jpg ├── deferred_shading.jpg ├── deferred_shadows.jpg ├── dynamicuniformbuffer.jpg ├── ext_debugmarker.jpg ├── font_distancefield.png ├── geom_normals.jpg ├── hdr.jpg ├── indirectdraw.jpg ├── instancing.jpg ├── mesh_skeletalanimation.png ├── multisampling.png ├── multisampling_nomsaa.png ├── multithreading.jpg ├── occlusion_queries.png ├── parallax_mapping.jpg ├── particlefire.jpg ├── pbrbasic.jpg ├── pbribl.jpg ├── pbrtexture.jpg ├── push_constants.png ├── radial_blur.png ├── scenerendering.jpg ├── shadow_omnidirectional.png ├── shadowmapping.png ├── specialization_constants.jpg ├── spherical_env_mapping.png ├── ssao.jpg ├── subpasses.jpg ├── tess_displacement.jpg ├── tess_dynamicterrain.jpg ├── tess_pntriangles.jpg ├── textoverlay.png ├── texture_array.png ├── texture_cubemap.jpg ├── texture_mipmap_gen.jpg └── vulkan_scene.png ├── shadowmapping ├── shadowmapping.cpp ├── shadowmapping.vcxproj └── shadowmapping.vcxproj.filters ├── shadowmappingomni ├── shadowmappingomni.cpp ├── shadowmappingomni.vcxproj └── shadowmappingomni.vcxproj.filters ├── skeletalanimation ├── skeletalanimation.cpp ├── skeletalanimation.vcxproj └── skeletalanimation.vcxproj.filters ├── specializationconstants ├── specializationconstants.cpp ├── specializationconstants.vcxproj └── specializationconstants.vcxproj.filters ├── sphericalenvmapping ├── sphericalenvmapping.cpp ├── sphericalenvmapping.vcxproj └── sphericalenvmapping.vcxproj.filters ├── ssao ├── ssao.cpp ├── ssao.vcxproj └── ssao.vcxproj.filters ├── stencilbuffer ├── stencilbuffer.cpp ├── stencilbuffer.vcxproj └── stencilbuffer.vcxproj.filters ├── subpasses ├── subpasses.cpp ├── subpasses.vcxproj └── subpasses.vcxproj.filters ├── terraintessellation ├── terraintessellation.cpp ├── terraintessellation.vcxproj └── terraintessellation.vcxproj.filters ├── tessellation ├── tessellation.cpp ├── tessellation.vcxproj └── tessellation.vcxproj.filters ├── textoverlay ├── textoverlay.cpp ├── textoverlay.vcxproj └── textoverlay.vcxproj.filters ├── texture ├── texture.cpp ├── texture.vcxproj └── texture.vcxproj.filters ├── texture3d ├── texture3d.cpp ├── texture3d.vcxproj └── texture3d.vcxproj.filters ├── texturearray ├── texturearray.cpp ├── texturearray.vcxproj └── texturearray.vcxproj.filters ├── texturecubemap ├── texturecubemap.cpp ├── texturecubemap.vcxproj └── texturecubemap.vcxproj.filters ├── texturemipmapgen ├── README.md ├── texturemipmapgen.cpp ├── texturemipmapgen.vcxproj └── texturemipmapgen.vcxproj.filters ├── texturesparseresidency ├── texturesparseresidency.cpp ├── texturesparseresidency.vcxproj └── texturesparseresidency.vcxproj.filters ├── triangle ├── triangle.cpp ├── triangle.vcxproj └── triangle.vcxproj.filters ├── viewportarray ├── viewportarray.cpp ├── viewportarray.vcxproj └── viewportarray.vcxproj.filters ├── vulkanExamples.sln ├── vulkanExamples.vcxproj ├── vulkanExamples.vcxproj.filters ├── vulkanscene ├── vulkanscene.cpp ├── vulkanscene.vcxproj └── vulkanscene.vcxproj.filters └── xcode ├── MVKExample.cpp ├── MVKExample.h ├── MoltenVK ├── README_MoltenVK_Examples.md ├── assimp ├── assimp-ios └── assimp-macos ├── examples.h ├── examples.xcodeproj ├── project.pbxproj ├── project.xcworkspace │ ├── contents.xcworkspacedata │ └── xcshareddata │ │ └── examples.xcscmblueprint └── xcshareddata │ └── xcschemes │ ├── examples-ios.xcscheme │ └── examples-macos.xcscheme ├── images └── MoltenVK-Logo-Banner.png ├── ios ├── AppDelegate.h ├── AppDelegate.m ├── DemoViewController.h ├── DemoViewController.mm ├── Info.plist ├── Resources │ ├── Default-568h@2x.png │ ├── Default~ipad.png │ ├── Icon.png │ └── Main.storyboard └── main.m └── macos ├── AppDelegate.h ├── AppDelegate.m ├── DemoViewController.h ├── DemoViewController.mm ├── Info.plist ├── Resources ├── Main.storyboard └── macOS.xcassets │ ├── AppIcon.appiconset │ ├── Contents.json │ ├── Icon-128.png │ ├── Icon-16.png │ ├── Icon-256.png │ ├── Icon-32.png │ └── Icon-512.png │ └── Contents.json └── main.m /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "external/glm"] 2 | path = external/glm 3 | url = https://github.com/g-truc/glm 4 | [submodule "external/gli"] 5 | path = external/gli 6 | url = https://github.com/g-truc/gli 7 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: cpp 2 | sudo: required 3 | os: linux 4 | dist: trusty 5 | compiler: 6 | - clang 7 | - gcc 8 | before_script: 9 | - sudo apt-get -qq update 10 | - sudo apt-get install -y libassimp-dev libx11-xcb-dev libxrandr-dev 11 | script: 12 | - cmake . 13 | - make 14 | notifications: 15 | email: 16 | recipients: 17 | - webmaster@saschawillems.de 18 | on_success: change 19 | on_failure: always -------------------------------------------------------------------------------- /android/bloom/.gitignore: -------------------------------------------------------------------------------- 1 | /assets/ 2 | /res/ 3 | /bin/ 4 | /libs/ 5 | /obj/ 6 | /build.xml 7 | /local.properties 8 | /project.properties 9 | /proguard-project.txt 10 | *.apk -------------------------------------------------------------------------------- /android/bloom/example.json: -------------------------------------------------------------------------------- 1 | { 2 | "apkname": "vulkanBloom", 3 | "directories": { 4 | "shaders": "bloom" 5 | }, 6 | "assets": { 7 | "models": [ 8 | "retroufo.dae", 9 | "retroufo_glow.dae", 10 | "cube.obj" 11 | ], 12 | "textures": [ 13 | "cubemap_space.ktx" 14 | ] 15 | } 16 | } -------------------------------------------------------------------------------- /android/bloom/jni/Application.mk: -------------------------------------------------------------------------------- 1 | APP_PLATFORM := android-19 2 | APP_ABI := armeabi-v7a 3 | APP_STL := c++_static 4 | APP_CPPFLAGS := -std=c++11 5 | NDK_TOOLCHAIN_VERSION := clang 6 | -------------------------------------------------------------------------------- /android/cleanup.bat: -------------------------------------------------------------------------------- 1 | FOR /d /r . %%x IN (assets) DO @IF EXIST "%%x" rd /s /q "%%x" 2 | FOR /d /r . %%x IN (bin) DO @IF EXIST "%%x" rd /s /q "%%x" 3 | FOR /d /r . %%x IN (libs) DO @IF EXIST "%%x" rd /s /q "%%x" 4 | FOR /d /r . %%x IN (obj) DO @IF EXIST "%%x" rd /s /q "%%x" 5 | FOR /d /r . %%x IN (res) DO @IF EXIST "%%x" rd /s /q "%%x" -------------------------------------------------------------------------------- /android/computecloth/.gitignore: -------------------------------------------------------------------------------- 1 | /assets/ 2 | /res/ 3 | /bin/ 4 | /libs/ 5 | /obj/ 6 | /build.xml 7 | /local.properties 8 | /project.properties 9 | /proguard-project.txt 10 | *.apk -------------------------------------------------------------------------------- /android/computecloth/example.json: -------------------------------------------------------------------------------- 1 | { 2 | "apkname": "vulkanComputecloth", 3 | "directories": { 4 | "shaders": "computecloth" 5 | }, 6 | "assets": { 7 | "models": [ 8 | "geosphere.obj" 9 | ], 10 | "textures": [ 11 | "vulkan_cloth_rgba.ktx" 12 | ] 13 | } 14 | } -------------------------------------------------------------------------------- /android/computecloth/jni/Application.mk: -------------------------------------------------------------------------------- 1 | APP_PLATFORM := android-19 2 | APP_ABI := armeabi-v7a 3 | APP_STL := c++_static 4 | APP_CPPFLAGS := -std=c++11 5 | NDK_TOOLCHAIN_VERSION := clang 6 | -------------------------------------------------------------------------------- /android/computecullandlod/.gitignore: -------------------------------------------------------------------------------- 1 | /assets/ 2 | /res/ 3 | /bin/ 4 | /libs/ 5 | /obj/ 6 | /build.xml 7 | /local.properties 8 | /project.properties 9 | /proguard-project.txt 10 | *.apk -------------------------------------------------------------------------------- /android/computecullandlod/example.json: -------------------------------------------------------------------------------- 1 | { 2 | "apkname": "vulkanComputecullandlod", 3 | "directories": { 4 | "shaders": "computecullandlod" 5 | }, 6 | "assets": { 7 | "models": [ 8 | "suzanne_lods.dae" 9 | ] 10 | } 11 | } -------------------------------------------------------------------------------- /android/computecullandlod/jni/Application.mk: -------------------------------------------------------------------------------- 1 | APP_PLATFORM := android-19 2 | APP_ABI := armeabi-v7a 3 | APP_STL := c++_static 4 | APP_CPPFLAGS := -std=c++11 5 | NDK_TOOLCHAIN_VERSION := clang 6 | -------------------------------------------------------------------------------- /android/computenbody/.gitignore: -------------------------------------------------------------------------------- 1 | /assets/ 2 | /res/ 3 | /bin/ 4 | /libs/ 5 | /obj/ 6 | /build.xml 7 | /local.properties 8 | /project.properties 9 | /proguard-project.txt 10 | *.apk -------------------------------------------------------------------------------- /android/computenbody/example.json: -------------------------------------------------------------------------------- 1 | { 2 | "apkname": "vulkanComputenbody", 3 | "directories": { 4 | "shaders": "computenbody" 5 | }, 6 | "assets": { 7 | "textures": [ 8 | "particle01_rgba.ktx", 9 | "particle_gradient_rgba.ktx" 10 | ] 11 | } 12 | } -------------------------------------------------------------------------------- /android/computenbody/jni/Application.mk: -------------------------------------------------------------------------------- 1 | APP_PLATFORM := android-19 2 | APP_ABI := armeabi-v7a 3 | APP_STL := c++_static 4 | APP_CPPFLAGS := -std=c++11 5 | NDK_TOOLCHAIN_VERSION := clang 6 | -------------------------------------------------------------------------------- /android/computeparticles/.gitignore: -------------------------------------------------------------------------------- 1 | /assets/ 2 | /res/ 3 | /bin/ 4 | /libs/ 5 | /obj/ 6 | /build.xml 7 | /local.properties 8 | /project.properties 9 | /proguard-project.txt 10 | *.apk -------------------------------------------------------------------------------- /android/computeparticles/example.json: -------------------------------------------------------------------------------- 1 | { 2 | "apkname": "vulkanComputeparticles", 3 | "directories": { 4 | "shaders": "computeparticles" 5 | }, 6 | "assets": { 7 | "textures": [ 8 | "particle01_rgba.ktx", 9 | "particle_gradient_rgba.ktx" 10 | ] 11 | } 12 | } -------------------------------------------------------------------------------- /android/computeparticles/jni/Application.mk: -------------------------------------------------------------------------------- 1 | APP_PLATFORM := android-19 2 | APP_ABI := armeabi-v7a 3 | APP_STL := c++_static 4 | APP_CPPFLAGS := -std=c++11 5 | NDK_TOOLCHAIN_VERSION := clang 6 | -------------------------------------------------------------------------------- /android/computeshader/.gitignore: -------------------------------------------------------------------------------- 1 | /assets/ 2 | /res/ 3 | /bin/ 4 | /libs/ 5 | /obj/ 6 | /build.xml 7 | /local.properties 8 | /project.properties 9 | /proguard-project.txt 10 | *.apk -------------------------------------------------------------------------------- /android/computeshader/example.json: -------------------------------------------------------------------------------- 1 | { 2 | "apkname": "vulkanComputeshader", 3 | "directories": { 4 | "shaders": "computeshader" 5 | }, 6 | "assets": { 7 | "textures": [ 8 | "het_kanonschot_rgba8.ktx" 9 | ] 10 | } 11 | } -------------------------------------------------------------------------------- /android/computeshader/jni/Application.mk: -------------------------------------------------------------------------------- 1 | APP_PLATFORM := android-19 2 | APP_ABI := armeabi-v7a 3 | APP_STL := c++_static 4 | APP_CPPFLAGS := -std=c++11 5 | NDK_TOOLCHAIN_VERSION := clang 6 | -------------------------------------------------------------------------------- /android/debugmarker/.gitignore: -------------------------------------------------------------------------------- 1 | /assets/ 2 | /res/ 3 | /bin/ 4 | /libs/ 5 | /obj/ 6 | /build.xml 7 | /local.properties 8 | /project.properties 9 | /proguard-project.txt 10 | *.apk -------------------------------------------------------------------------------- /android/debugmarker/example.json: -------------------------------------------------------------------------------- 1 | { 2 | "apkname": "vulkanDebugmarker", 3 | "directories": { 4 | "shaders": "debugmarker" 5 | }, 6 | "assets": { 7 | "models": [ 8 | "treasure_smooth.dae", 9 | "treasure_glow.dae" 10 | ] 11 | } 12 | } -------------------------------------------------------------------------------- /android/debugmarker/jni/Application.mk: -------------------------------------------------------------------------------- 1 | APP_PLATFORM := android-19 2 | APP_ABI := armeabi-v7a 3 | APP_STL := c++_static 4 | APP_CPPFLAGS := -std=c++11 5 | NDK_TOOLCHAIN_VERSION := clang 6 | -------------------------------------------------------------------------------- /android/deferred/.gitignore: -------------------------------------------------------------------------------- 1 | /assets/ 2 | /res/ 3 | /bin/ 4 | /libs/ 5 | /obj/ 6 | /build.xml 7 | /local.properties 8 | /project.properties 9 | /proguard-project.txt 10 | *.apk -------------------------------------------------------------------------------- /android/deferred/jni/Application.mk: -------------------------------------------------------------------------------- 1 | APP_PLATFORM := android-19 2 | APP_ABI := armeabi-v7a 3 | APP_STL := c++_static 4 | APP_CPPFLAGS := -std=c++11 5 | NDK_TOOLCHAIN_VERSION := clang 6 | -------------------------------------------------------------------------------- /android/deferredmultisampling/.gitignore: -------------------------------------------------------------------------------- 1 | /assets/ 2 | /res/ 3 | /bin/ 4 | /libs/ 5 | /obj/ 6 | /build.xml 7 | /local.properties 8 | /project.properties 9 | /proguard-project.txt 10 | *.apk -------------------------------------------------------------------------------- /android/deferredmultisampling/jni/Application.mk: -------------------------------------------------------------------------------- 1 | APP_PLATFORM := android-19 2 | APP_ABI := armeabi-v7a 3 | APP_STL := c++_static 4 | APP_CPPFLAGS := -std=c++11 5 | APP_CPPFLAGS += -fexceptions 6 | NDK_TOOLCHAIN_VERSION := clang 7 | -------------------------------------------------------------------------------- /android/deferredshadows/.gitignore: -------------------------------------------------------------------------------- 1 | /assets/ 2 | /res/ 3 | /bin/ 4 | /libs/ 5 | /obj/ 6 | /build.xml 7 | /local.properties 8 | /project.properties 9 | /proguard-project.txt 10 | *.apk -------------------------------------------------------------------------------- /android/deferredshadows/jni/Application.mk: -------------------------------------------------------------------------------- 1 | APP_PLATFORM := android-19 2 | APP_ABI := armeabi-v7a 3 | APP_STL := c++_static 4 | APP_CPPFLAGS := -std=c++11 5 | NDK_TOOLCHAIN_VERSION := clang 6 | -------------------------------------------------------------------------------- /android/displacement/.gitignore: -------------------------------------------------------------------------------- 1 | /assets/ 2 | /res/ 3 | /bin/ 4 | /libs/ 5 | /obj/ 6 | /build.xml 7 | /local.properties 8 | /project.properties 9 | /proguard-project.txt 10 | *.apk -------------------------------------------------------------------------------- /android/displacement/example.json: -------------------------------------------------------------------------------- 1 | { 2 | "apkname": "vulkanDisplacement", 3 | "directories": { 4 | "shaders": "displacement" 5 | }, 6 | "assets": { 7 | "models": [ 8 | "plane.obj" 9 | ], 10 | "textures": [ 11 | "stonefloor03_color_bc3_unorm.ktx", 12 | "stonefloor03_color_astc_8x8_unorm.ktx", 13 | "stonefloor03_color_etc2_unorm.ktx" 14 | ] 15 | } 16 | } -------------------------------------------------------------------------------- /android/displacement/jni/Application.mk: -------------------------------------------------------------------------------- 1 | APP_PLATFORM := android-19 2 | APP_ABI := armeabi-v7a 3 | APP_STL := c++_static 4 | APP_CPPFLAGS := -std=c++11 5 | NDK_TOOLCHAIN_VERSION := clang 6 | -------------------------------------------------------------------------------- /android/distancefieldfonts/.gitignore: -------------------------------------------------------------------------------- 1 | /assets/ 2 | /res/ 3 | /bin/ 4 | /libs/ 5 | /obj/ 6 | /build.xml 7 | /local.properties 8 | /project.properties 9 | /proguard-project.txt 10 | *.apk -------------------------------------------------------------------------------- /android/distancefieldfonts/example.json: -------------------------------------------------------------------------------- 1 | { 2 | "apkname": "vulkanDistancefieldfonts", 3 | "directories": { 4 | "shaders": "distancefieldfonts" 5 | }, 6 | "assets": { 7 | "textures": [ 8 | "font_sdf_rgba.ktx", 9 | "font_bitmap_rgba.ktx" 10 | ], 11 | "additional": { 12 | "files": [ 13 | "/font.fnt" 14 | ] 15 | } 16 | } 17 | } -------------------------------------------------------------------------------- /android/distancefieldfonts/jni/Application.mk: -------------------------------------------------------------------------------- 1 | APP_PLATFORM := android-19 2 | APP_ABI := armeabi-v7a 3 | APP_STL := c++_static 4 | APP_CPPFLAGS := -std=c++11 5 | NDK_TOOLCHAIN_VERSION := clang 6 | -------------------------------------------------------------------------------- /android/dynamicuniformbuffer/.gitignore: -------------------------------------------------------------------------------- 1 | /assets/ 2 | /res/ 3 | /bin/ 4 | /libs/ 5 | /obj/ 6 | /build.xml 7 | /local.properties 8 | /project.properties 9 | /proguard-project.txt 10 | *.apk -------------------------------------------------------------------------------- /android/dynamicuniformbuffer/example.json: -------------------------------------------------------------------------------- 1 | { 2 | "apkname": "vulkanDynamicuniformbuffer", 3 | "directories": { 4 | "shaders": "dynamicuniformbuffer" 5 | }, 6 | "assets": {} 7 | } -------------------------------------------------------------------------------- /android/dynamicuniformbuffer/jni/Application.mk: -------------------------------------------------------------------------------- 1 | APP_PLATFORM := android-19 2 | APP_ABI := armeabi-v7a 3 | APP_STL := c++_static 4 | APP_CPPFLAGS := -std=c++11 5 | APP_CPPFLAGS += -fexceptions 6 | NDK_TOOLCHAIN_VERSION := clang -------------------------------------------------------------------------------- /android/gears/.gitignore: -------------------------------------------------------------------------------- 1 | /assets/ 2 | /res/ 3 | /bin/ 4 | /libs/ 5 | /obj/ 6 | /build.xml 7 | /local.properties 8 | /project.properties 9 | /proguard-project.txt 10 | *.apk -------------------------------------------------------------------------------- /android/gears/example.json: -------------------------------------------------------------------------------- 1 | { 2 | "apkname": "vulkanGears", 3 | "directories": { 4 | "shaders": "gears" 5 | }, 6 | "assets": {} 7 | } -------------------------------------------------------------------------------- /android/gears/jni/Application.mk: -------------------------------------------------------------------------------- 1 | APP_PLATFORM := android-19 2 | APP_ABI := armeabi-v7a 3 | APP_STL := c++_static 4 | APP_CPPFLAGS := -std=c++11 5 | NDK_TOOLCHAIN_VERSION := clang 6 | -------------------------------------------------------------------------------- /android/geometryshader/.gitignore: -------------------------------------------------------------------------------- 1 | /assets/ 2 | /res/ 3 | /bin/ 4 | /libs/ 5 | /obj/ 6 | /build.xml 7 | /local.properties 8 | /project.properties 9 | /proguard-project.txt 10 | *.apk -------------------------------------------------------------------------------- /android/geometryshader/example.json: -------------------------------------------------------------------------------- 1 | { 2 | "apkname": "vulkanGeometryshader", 3 | "directories": { 4 | "shaders": "geometryshader" 5 | }, 6 | "assets": { 7 | "models": [ 8 | "suzanne.obj" 9 | ] 10 | } 11 | } -------------------------------------------------------------------------------- /android/geometryshader/jni/Application.mk: -------------------------------------------------------------------------------- 1 | APP_PLATFORM := android-19 2 | APP_ABI := armeabi-v7a 3 | APP_STL := c++_static 4 | APP_CPPFLAGS := -std=c++11 5 | NDK_TOOLCHAIN_VERSION := clang 6 | -------------------------------------------------------------------------------- /android/hdr/.gitignore: -------------------------------------------------------------------------------- 1 | /assets/ 2 | /res/ 3 | /bin/ 4 | /libs/ 5 | /obj/ 6 | /build.xml 7 | /local.properties 8 | /project.properties 9 | /proguard-project.txt 10 | *.apk -------------------------------------------------------------------------------- /android/hdr/example.json: -------------------------------------------------------------------------------- 1 | { 2 | "apkname": "vulkanHDR", 3 | "directories": { 4 | "shaders": "hdr" 5 | }, 6 | "assets": { 7 | "models": [ 8 | "cube.obj", 9 | "geosphere.obj", 10 | "teapot.dae", 11 | "torusknot.obj", 12 | "venus.fbx" 13 | ], 14 | "additional" : { 15 | "directories": [ 16 | "textures/hdr" 17 | ], 18 | "files": [ 19 | "textures/hdr/uffizi_cube.ktx" 20 | ] 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /android/hdr/jni/Application.mk: -------------------------------------------------------------------------------- 1 | APP_PLATFORM := android-19 2 | APP_ABI := armeabi-v7a 3 | APP_STL := c++_static 4 | APP_CPPFLAGS := -std=c++11 5 | NDK_TOOLCHAIN_VERSION := clang 6 | -------------------------------------------------------------------------------- /android/images/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/android/images/icon.png -------------------------------------------------------------------------------- /android/imgui/.gitignore: -------------------------------------------------------------------------------- 1 | /assets/ 2 | /res/ 3 | /bin/ 4 | /libs/ 5 | /obj/ 6 | /build.xml 7 | /local.properties 8 | /project.properties 9 | /proguard-project.txt 10 | *.apk -------------------------------------------------------------------------------- /android/imgui/example.json: -------------------------------------------------------------------------------- 1 | { 2 | "apkname": "vulkanImGui", 3 | "directories": { 4 | "shaders": "imgui" 5 | }, 6 | "assets": { 7 | "models": [ 8 | "vulkanscenemodels.dae", 9 | "vulkanscenebackground.dae", 10 | "vulkanscenelogos.dae" 11 | ] 12 | } 13 | } -------------------------------------------------------------------------------- /android/imgui/jni/Application.mk: -------------------------------------------------------------------------------- 1 | APP_PLATFORM := android-19 2 | APP_ABI := armeabi-v7a 3 | APP_STL := c++_static 4 | APP_CPPFLAGS := -std=c++11 5 | NDK_TOOLCHAIN_VERSION := clang 6 | -------------------------------------------------------------------------------- /android/indirectdraw/.gitignore: -------------------------------------------------------------------------------- 1 | /assets/ 2 | /res/ 3 | /bin/ 4 | /libs/ 5 | /obj/ 6 | /build.xml 7 | /local.properties 8 | /project.properties 9 | /proguard-project.txt 10 | *.apk -------------------------------------------------------------------------------- /android/indirectdraw/example.json: -------------------------------------------------------------------------------- 1 | { 2 | "apkname": "vulkanIndirectdraw", 3 | "directories": { 4 | "shaders": "indirectdraw" 5 | }, 6 | "assets": { 7 | "models": [ 8 | "plants.dae", 9 | "plane_circle.dae", 10 | "skysphere.dae" 11 | ], 12 | "textures": [ 13 | "texturearray_plants_bc3_unorm.ktx", 14 | "texturearray_plants_astc_8x8_unorm.ktx", 15 | "texturearray_plants_etc2_unorm.ktx", 16 | "ground_dry_bc3_unorm.ktx", 17 | "ground_dry_astc_8x8_unorm.ktx", 18 | "ground_dry_etc2_unorm.ktx" 19 | ] 20 | } 21 | } -------------------------------------------------------------------------------- /android/indirectdraw/jni/Application.mk: -------------------------------------------------------------------------------- 1 | APP_PLATFORM := android-19 2 | APP_ABI := armeabi-v7a 3 | APP_STL := c++_static 4 | APP_CPPFLAGS := -std=c++11 5 | NDK_TOOLCHAIN_VERSION := clang 6 | -------------------------------------------------------------------------------- /android/install-all.py: -------------------------------------------------------------------------------- 1 | # Install all examples to connected device(s) 2 | import subprocess 3 | import sys 4 | 5 | answer = input("Install all vulkan examples to attached device, this may take some time! (Y/N)").lower() == 'y' 6 | if answer: 7 | BUILD_ARGUMENTS = "" 8 | for arg in sys.argv[1:]: 9 | if arg == "-validation": 10 | BUILD_ARGUMENTS += "-validation" 11 | if subprocess.call(("python build-all.py -deploy %s" % BUILD_ARGUMENTS).split(' ')) != 0: 12 | print("Error: Not all examples may have been installed!") 13 | sys.exit(-1) 14 | -------------------------------------------------------------------------------- /android/instancing/.gitignore: -------------------------------------------------------------------------------- 1 | /assets/ 2 | /res/ 3 | /bin/ 4 | /libs/ 5 | /obj/ 6 | /build.xml 7 | /local.properties 8 | /project.properties 9 | /proguard-project.txt 10 | *.apk -------------------------------------------------------------------------------- /android/instancing/example.json: -------------------------------------------------------------------------------- 1 | { 2 | "apkname": "vulkanInstancing", 3 | "directories": { 4 | "shaders": "instancing" 5 | }, 6 | "assets": { 7 | "models": [ 8 | "rock01.dae", 9 | "sphere.obj" 10 | ], 11 | "textures": [ 12 | "texturearray_rocks_bc3_unorm.ktx", 13 | "texturearray_rocks_astc_8x8_unorm.ktx", 14 | "texturearray_rocks_etc2_unorm.ktx", 15 | "lavaplanet_bc3_unorm.ktx", 16 | "lavaplanet_astc_8x8_unorm.ktx", 17 | "lavaplanet_etc2_unorm.ktx" 18 | ] 19 | } 20 | } -------------------------------------------------------------------------------- /android/instancing/jni/Application.mk: -------------------------------------------------------------------------------- 1 | APP_PLATFORM := android-19 2 | APP_ABI := armeabi-v7a 3 | APP_STL := c++_static 4 | APP_CPPFLAGS := -std=c++11 5 | NDK_TOOLCHAIN_VERSION := clang 6 | -------------------------------------------------------------------------------- /android/layers/README.md: -------------------------------------------------------------------------------- 1 | # Android validation layers 2 | 3 | Put the pre-built validation layers into the folder for the architecture you're targeting. 4 | 5 | E.g. for armeabi-v7a: 6 | 7 | - ./armeabi-v7a/libVkLayer_core_validation.so 8 | - ./armeabi-v7a/libVkLayer_object_tracker.so 9 | - ... 10 | 11 | After this, build the example you want validation to be enabled for with the "-validation" flag, e.g.: 12 | 13 | ``` 14 | build pbrtexture -validation 15 | ``` -------------------------------------------------------------------------------- /android/mesh/.gitignore: -------------------------------------------------------------------------------- 1 | /assets/ 2 | /res/ 3 | /bin/ 4 | /libs/ 5 | /obj/ 6 | /build.xml 7 | /local.properties 8 | /project.properties 9 | /proguard-project.txt 10 | *.apk -------------------------------------------------------------------------------- /android/mesh/example.json: -------------------------------------------------------------------------------- 1 | { 2 | "apkname": "vulkanMesh", 3 | "directories": { 4 | "shaders": "mesh" 5 | }, 6 | "assets": { 7 | "additional": { 8 | "directories": [ 9 | "models/voyager" 10 | ], 11 | "files": [ 12 | "models/voyager/*.*" 13 | ] 14 | } 15 | } 16 | } -------------------------------------------------------------------------------- /android/mesh/jni/Application.mk: -------------------------------------------------------------------------------- 1 | APP_PLATFORM := android-19 2 | APP_ABI := armeabi-v7a 3 | APP_STL := c++_static 4 | APP_CPPFLAGS := -std=c++11 5 | NDK_TOOLCHAIN_VERSION := clang 6 | -------------------------------------------------------------------------------- /android/multisampling/.gitignore: -------------------------------------------------------------------------------- 1 | /assets/ 2 | /res/ 3 | /bin/ 4 | /libs/ 5 | /obj/ 6 | /build.xml 7 | /local.properties 8 | /project.properties 9 | /proguard-project.txt 10 | *.apk -------------------------------------------------------------------------------- /android/multisampling/example.json: -------------------------------------------------------------------------------- 1 | { 2 | "apkname": "vulkanMultisampling", 3 | "directories": { 4 | "shaders": "mesh" 5 | }, 6 | "assets": { 7 | "additional": { 8 | "directories": [ 9 | "models/voyager" 10 | ], 11 | "files": [ 12 | "models/voyager/*.*" 13 | ] 14 | } 15 | } 16 | } -------------------------------------------------------------------------------- /android/multisampling/jni/Application.mk: -------------------------------------------------------------------------------- 1 | APP_PLATFORM := android-19 2 | APP_ABI := armeabi-v7a 3 | APP_STL := c++_static 4 | APP_CPPFLAGS := -std=c++11 5 | NDK_TOOLCHAIN_VERSION := clang 6 | -------------------------------------------------------------------------------- /android/multithreading/.gitignore: -------------------------------------------------------------------------------- 1 | /assets/ 2 | /res/ 3 | /bin/ 4 | /libs/ 5 | /obj/ 6 | /build.xml 7 | /local.properties 8 | /project.properties 9 | /proguard-project.txt 10 | *.apk -------------------------------------------------------------------------------- /android/multithreading/example.json: -------------------------------------------------------------------------------- 1 | { 2 | "apkname": "vulkanMultithreading", 3 | "directories": { 4 | "shaders": "multithreading" 5 | }, 6 | "assets": { 7 | "models": [ 8 | "retroufo_red_lowpoly.dae", 9 | "sphere.obj" 10 | ] 11 | } 12 | } -------------------------------------------------------------------------------- /android/multithreading/jni/Application.mk: -------------------------------------------------------------------------------- 1 | APP_PLATFORM := android-19 2 | APP_ABI := armeabi-v7a 3 | APP_STL := c++_static 4 | #APP_CPPFLAGS := -std=c++11 5 | NDK_TOOLCHAIN_VERSION := clang 6 | -------------------------------------------------------------------------------- /android/occlusionquery/.gitignore: -------------------------------------------------------------------------------- 1 | /assets/ 2 | /res/ 3 | /bin/ 4 | /libs/ 5 | /obj/ 6 | /build.xml 7 | /local.properties 8 | /project.properties 9 | /proguard-project.txt 10 | *.apk -------------------------------------------------------------------------------- /android/occlusionquery/example.json: -------------------------------------------------------------------------------- 1 | { 2 | "apkname": "vulkanOcclusionquery", 3 | "directories": { 4 | "shaders": "occlusionquery" 5 | }, 6 | "assets": { 7 | "models": [ 8 | "plane_z.3ds", 9 | "teapot.3ds", 10 | "sphere.3ds" 11 | ] 12 | } 13 | } -------------------------------------------------------------------------------- /android/occlusionquery/jni/Application.mk: -------------------------------------------------------------------------------- 1 | APP_PLATFORM := android-19 2 | APP_ABI := armeabi-v7a 3 | APP_STL := c++_static 4 | APP_CPPFLAGS := -std=c++11 5 | NDK_TOOLCHAIN_VERSION := clang 6 | -------------------------------------------------------------------------------- /android/offscreen/.gitignore: -------------------------------------------------------------------------------- 1 | /assets/ 2 | /res/ 3 | /bin/ 4 | /libs/ 5 | /obj/ 6 | /build.xml 7 | /local.properties 8 | /project.properties 9 | /proguard-project.txt 10 | *.apk -------------------------------------------------------------------------------- /android/offscreen/example.json: -------------------------------------------------------------------------------- 1 | { 2 | "apkname": "vulkanOffscreen", 3 | "directories": { 4 | "shaders": "offscreen" 5 | }, 6 | "assets": { 7 | "models": [ 8 | "plane.obj", 9 | "chinesedragon.dae" 10 | ], 11 | "textures": [ 12 | "darkmetal_bc3_unorm.ktx", 13 | "darkmetal_astc_8x8_unorm.ktx", 14 | "darkmetal_etc2_unorm.ktx" 15 | ] 16 | } 17 | } -------------------------------------------------------------------------------- /android/offscreen/jni/Application.mk: -------------------------------------------------------------------------------- 1 | APP_PLATFORM := android-19 2 | APP_ABI := armeabi-v7a 3 | APP_STL := c++_static 4 | NDK_TOOLCHAIN_VERSION := clang 5 | -------------------------------------------------------------------------------- /android/parallaxmapping/.gitignore: -------------------------------------------------------------------------------- 1 | /assets/ 2 | /res/ 3 | /bin/ 4 | /libs/ 5 | /obj/ 6 | /build.xml 7 | /local.properties 8 | /project.properties 9 | /proguard-project.txt 10 | *.apk -------------------------------------------------------------------------------- /android/parallaxmapping/example.json: -------------------------------------------------------------------------------- 1 | { 2 | "apkname": "vulkanParallaxmapping", 3 | "directories": { 4 | "shaders": "parallax" 5 | }, 6 | "assets": { 7 | "models": [ 8 | "plane_z.obj" 9 | ], 10 | "textures": [ 11 | "rocks_normal_height_rgba.dds", 12 | "rocks_color_bc3_unorm.dds", 13 | "rocks_color_astc_8x8_unorm.ktx", 14 | "rocks_color_etc2_unorm.ktx" 15 | ] 16 | } 17 | } -------------------------------------------------------------------------------- /android/parallaxmapping/jni/Application.mk: -------------------------------------------------------------------------------- 1 | APP_PLATFORM := android-19 2 | APP_ABI := armeabi-v7a 3 | APP_STL := c++_static 4 | APP_CPPFLAGS := -std=c++11 5 | NDK_TOOLCHAIN_VERSION := clang 6 | -------------------------------------------------------------------------------- /android/particlefire/.gitignore: -------------------------------------------------------------------------------- 1 | /assets/ 2 | /res/ 3 | /bin/ 4 | /libs/ 5 | /obj/ 6 | /build.xml 7 | /local.properties 8 | /project.properties 9 | /proguard-project.txt 10 | *.apk -------------------------------------------------------------------------------- /android/particlefire/example.json: -------------------------------------------------------------------------------- 1 | { 2 | "apkname": "vulkanParticlefire", 3 | "directories": { 4 | "shaders": "particlefire" 5 | }, 6 | "assets": { 7 | "models": [ 8 | "fireplace.obj" 9 | ], 10 | "textures": [ 11 | "particle_fire.ktx", 12 | "particle_smoke.ktx", 13 | "fireplace_normalmap_bc3_unorm.ktx", 14 | "fireplace_normalmap_astc_8x8_unorm.ktx", 15 | "fireplace_normalmap_etc2_unorm.ktx", 16 | "fireplace_colormap_bc3_unorm.ktx", 17 | "fireplace_colormap_astc_8x8_unorm.ktx", 18 | "fireplace_colormap_etc2_unorm.ktx" 19 | ] 20 | } 21 | } -------------------------------------------------------------------------------- /android/particlefire/jni/Application.mk: -------------------------------------------------------------------------------- 1 | APP_PLATFORM := android-19 2 | APP_ABI := armeabi-v7a 3 | APP_STL := c++_static 4 | APP_CPPFLAGS := -std=c++11 5 | NDK_TOOLCHAIN_VERSION := clang 6 | -------------------------------------------------------------------------------- /android/pbrbasic/.gitignore: -------------------------------------------------------------------------------- 1 | /assets/ 2 | /res/ 3 | /bin/ 4 | /libs/ 5 | /obj/ 6 | /build.xml 7 | /local.properties 8 | /project.properties 9 | /proguard-project.txt 10 | *.apk -------------------------------------------------------------------------------- /android/pbrbasic/example.json: -------------------------------------------------------------------------------- 1 | { 2 | "apkname": "vulkanPBRBasic", 3 | "directories": { 4 | "shaders": "pbrbasic" 5 | }, 6 | "assets": { 7 | "models": [ 8 | "cube.obj", 9 | "geosphere.obj", 10 | "teapot.dae", 11 | "torusknot.obj", 12 | "venus.fbx" 13 | ] 14 | } 15 | } -------------------------------------------------------------------------------- /android/pbrbasic/jni/Application.mk: -------------------------------------------------------------------------------- 1 | APP_PLATFORM := android-19 2 | APP_ABI := armeabi-v7a 3 | APP_STL := c++_static 4 | APP_CPPFLAGS := -std=c++11 5 | NDK_TOOLCHAIN_VERSION := clang 6 | -------------------------------------------------------------------------------- /android/pbribl/.gitignore: -------------------------------------------------------------------------------- 1 | /assets/ 2 | /res/ 3 | /bin/ 4 | /libs/ 5 | /obj/ 6 | /build.xml 7 | /local.properties 8 | /project.properties 9 | /proguard-project.txt 10 | *.apk -------------------------------------------------------------------------------- /android/pbribl/example.json: -------------------------------------------------------------------------------- 1 | { 2 | "apkname": "vulkanPBRIBL", 3 | "directories": { 4 | "shaders": "pbribl" 5 | }, 6 | "assets": { 7 | "models": [ 8 | "cube.obj", 9 | "geosphere.obj", 10 | "teapot.dae", 11 | "torusknot.obj", 12 | "venus.fbx" 13 | ], 14 | "additional" : { 15 | "directories": [ 16 | "textures/hdr" 17 | ], 18 | "files": [ 19 | "textures/hdr/pisa_cube.ktx" 20 | ] 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /android/pbribl/jni/Application.mk: -------------------------------------------------------------------------------- 1 | APP_PLATFORM := android-19 2 | APP_ABI := armeabi-v7a 3 | APP_STL := c++_static 4 | APP_CPPFLAGS := -std=c++11 5 | NDK_TOOLCHAIN_VERSION := clang 6 | -------------------------------------------------------------------------------- /android/pbrtexture/.gitignore: -------------------------------------------------------------------------------- 1 | /assets/ 2 | /res/ 3 | /bin/ 4 | /libs/ 5 | /obj/ 6 | /build.xml 7 | /local.properties 8 | /project.properties 9 | /proguard-project.txt 10 | *.apk -------------------------------------------------------------------------------- /android/pbrtexture/example.json: -------------------------------------------------------------------------------- 1 | { 2 | "apkname": "vulkanPBRTexture", 3 | "directories": { 4 | "shaders": "pbrtexture" 5 | }, 6 | "assets": { 7 | "models": [ 8 | "cube.obj" 9 | ], 10 | "additional" : { 11 | "directories": ["textures/hdr", "models/cerberus"], 12 | "files": [ 13 | "textures/hdr/gcanyon_cube.ktx", 14 | "models/cerberus/*.*" 15 | ] 16 | } 17 | } 18 | } -------------------------------------------------------------------------------- /android/pbrtexture/jni/Application.mk: -------------------------------------------------------------------------------- 1 | APP_PLATFORM := android-19 2 | APP_ABI := armeabi-v7a 3 | APP_STL := c++_static 4 | APP_CPPFLAGS := -std=c++11 5 | NDK_TOOLCHAIN_VERSION := clang 6 | -------------------------------------------------------------------------------- /android/pipelines/.gitignore: -------------------------------------------------------------------------------- 1 | /assets/ 2 | /res/ 3 | /bin/ 4 | /libs/ 5 | /obj/ 6 | /build.xml 7 | /local.properties 8 | /project.properties 9 | /proguard-project.txt 10 | *.apk -------------------------------------------------------------------------------- /android/pipelines/example.json: -------------------------------------------------------------------------------- 1 | { 2 | "apkname": "vulkanPipelines", 3 | "directories": { 4 | "shaders": "pipelines" 5 | }, 6 | "assets": { 7 | "models": [ 8 | "treasure_smooth.dae" 9 | ] 10 | } 11 | } -------------------------------------------------------------------------------- /android/pipelines/jni/Application.mk: -------------------------------------------------------------------------------- 1 | APP_PLATFORM := android-19 2 | APP_ABI := armeabi-v7a 3 | APP_STL := c++_static 4 | APP_CPPFLAGS := -std=c++11 5 | NDK_TOOLCHAIN_VERSION := clang 6 | -------------------------------------------------------------------------------- /android/pushconstants/.gitignore: -------------------------------------------------------------------------------- 1 | /assets/ 2 | /res/ 3 | /bin/ 4 | /libs/ 5 | /obj/ 6 | /build.xml 7 | /local.properties 8 | /project.properties 9 | /proguard-project.txt 10 | *.apk -------------------------------------------------------------------------------- /android/pushconstants/example.json: -------------------------------------------------------------------------------- 1 | { 2 | "apkname": "vulkanPushconstants", 3 | "directories": { 4 | "shaders": "pushconstants" 5 | }, 6 | "assets": { 7 | "models": [ 8 | "samplescene.dae" 9 | ] 10 | } 11 | } -------------------------------------------------------------------------------- /android/pushconstants/jni/Application.mk: -------------------------------------------------------------------------------- 1 | APP_PLATFORM := android-19 2 | APP_ABI := armeabi-v7a 3 | APP_STL := c++_static 4 | APP_CPPFLAGS := -std=c++11 5 | NDK_TOOLCHAIN_VERSION := clang 6 | -------------------------------------------------------------------------------- /android/radialblur/.gitignore: -------------------------------------------------------------------------------- 1 | /assets/ 2 | /res/ 3 | /bin/ 4 | /libs/ 5 | /obj/ 6 | /build.xml 7 | /local.properties 8 | /project.properties 9 | /proguard-project.txt 10 | *.apk -------------------------------------------------------------------------------- /android/radialblur/example.json: -------------------------------------------------------------------------------- 1 | { 2 | "apkname": "vulkanRadialblur", 3 | "directories": { 4 | "shaders": "radialblur" 5 | }, 6 | "assets": { 7 | "models": [ 8 | "glowsphere.dae" 9 | ], 10 | "textures": [ 11 | "particle_gradient_rgba.ktx" 12 | ] 13 | } 14 | } -------------------------------------------------------------------------------- /android/radialblur/jni/Application.mk: -------------------------------------------------------------------------------- 1 | APP_PLATFORM := android-19 2 | APP_ABI := armeabi-v7a 3 | APP_STL := c++_static 4 | APP_CPPFLAGS := -std=c++11 5 | NDK_TOOLCHAIN_VERSION := clang 6 | -------------------------------------------------------------------------------- /android/raytracing/.gitignore: -------------------------------------------------------------------------------- 1 | /assets/ 2 | /res/ 3 | /bin/ 4 | /libs/ 5 | /obj/ 6 | /build.xml 7 | /local.properties 8 | /project.properties 9 | /proguard-project.txt 10 | *.apk -------------------------------------------------------------------------------- /android/raytracing/example.json: -------------------------------------------------------------------------------- 1 | { 2 | "apkname": "vulkanRaytracing", 3 | "directories": { 4 | "shaders": "raytracing" 5 | }, 6 | "assets": {} 7 | } -------------------------------------------------------------------------------- /android/raytracing/jni/Application.mk: -------------------------------------------------------------------------------- 1 | APP_PLATFORM := android-19 2 | APP_ABI := armeabi-v7a 3 | APP_STL := c++_static 4 | APP_CPPFLAGS := -std=c++11 5 | NDK_TOOLCHAIN_VERSION := clang 6 | -------------------------------------------------------------------------------- /android/scenerendering/.gitignore: -------------------------------------------------------------------------------- 1 | /assets/ 2 | /res/ 3 | /bin/ 4 | /libs/ 5 | /obj/ 6 | /build.xml 7 | /local.properties 8 | /project.properties 9 | /proguard-project.txt 10 | *.apk -------------------------------------------------------------------------------- /android/scenerendering/example.json: -------------------------------------------------------------------------------- 1 | { 2 | "apkname": "vulkanScenerendering", 3 | "directories": { 4 | "shaders": "scenerendering" 5 | }, 6 | "assets": { 7 | "additional" : { 8 | "directories" : [ 9 | "models/sibenik" 10 | ], 11 | "files" : [ 12 | "models/sibenik/*.*" 13 | ] 14 | } 15 | } 16 | } -------------------------------------------------------------------------------- /android/scenerendering/jni/Application.mk: -------------------------------------------------------------------------------- 1 | APP_PLATFORM := android-19 2 | APP_ABI := armeabi-v7a 3 | APP_STL := c++_static 4 | APP_CPPFLAGS := -std=c++11 5 | NDK_TOOLCHAIN_VERSION := clang 6 | -------------------------------------------------------------------------------- /android/shadowmapping/.gitignore: -------------------------------------------------------------------------------- 1 | /assets/ 2 | /res/ 3 | /bin/ 4 | /libs/ 5 | /obj/ 6 | /build.xml 7 | /local.properties 8 | /project.properties 9 | /proguard-project.txt 10 | *.apk -------------------------------------------------------------------------------- /android/shadowmapping/example.json: -------------------------------------------------------------------------------- 1 | { 2 | "apkname": "vulkanShadowmapping", 3 | "directories": { 4 | "shaders": "shadowmapping" 5 | }, 6 | "assets": { 7 | "models": [ 8 | "vulkanscene_shadow.dae" 9 | ] 10 | } 11 | } -------------------------------------------------------------------------------- /android/shadowmapping/jni/Application.mk: -------------------------------------------------------------------------------- 1 | APP_PLATFORM := android-19 2 | APP_ABI := armeabi-v7a 3 | APP_STL := c++_static 4 | APP_CPPFLAGS := -std=c++11 5 | NDK_TOOLCHAIN_VERSION := clang 6 | -------------------------------------------------------------------------------- /android/shadowmappingomni/.gitignore: -------------------------------------------------------------------------------- 1 | /assets/ 2 | /res/ 3 | /bin/ 4 | /libs/ 5 | /obj/ 6 | /build.xml 7 | /local.properties 8 | /project.properties 9 | /proguard-project.txt 10 | *.apk -------------------------------------------------------------------------------- /android/shadowmappingomni/example.json: -------------------------------------------------------------------------------- 1 | { 2 | "apkname": "vulkanShadowmappingomni", 3 | "directories": { 4 | "shaders": "shadowmapomni" 5 | }, 6 | "assets": { 7 | "models": [ 8 | "shadowscene_fire.dae", 9 | "cube.obj" 10 | ] 11 | } 12 | } -------------------------------------------------------------------------------- /android/shadowmappingomni/jni/Application.mk: -------------------------------------------------------------------------------- 1 | APP_PLATFORM := android-19 2 | APP_ABI := armeabi-v7a 3 | APP_STL := c++_static 4 | APP_CPPFLAGS := -std=c++11 5 | NDK_TOOLCHAIN_VERSION := clang 6 | -------------------------------------------------------------------------------- /android/skeletalanimation/.gitignore: -------------------------------------------------------------------------------- 1 | /assets/ 2 | /res/ 3 | /bin/ 4 | /libs/ 5 | /obj/ 6 | /build.xml 7 | /local.properties 8 | /project.properties 9 | /proguard-project.txt 10 | *.apk -------------------------------------------------------------------------------- /android/skeletalanimation/example.json: -------------------------------------------------------------------------------- 1 | { 2 | "apkname": "vulkanSkeletalanimation", 3 | "directories": { 4 | "shaders": "skeletalanimation" 5 | }, 6 | "assets": { 7 | "models": [ 8 | "goblin.dae", 9 | "plane_z.obj" 10 | ], 11 | "textures": [ 12 | "trail_bc3_unorm.ktx", 13 | "goblin_bc3_unorm.ktx", 14 | "trail_astc_8x8_unorm.ktx", 15 | "goblin_astc_8x8_unorm.ktx", 16 | "trail_etc2_unorm.ktx", 17 | "goblin_etc2_unorm.ktx" 18 | ] 19 | } 20 | } -------------------------------------------------------------------------------- /android/skeletalanimation/jni/Application.mk: -------------------------------------------------------------------------------- 1 | APP_PLATFORM := android-19 2 | APP_ABI := armeabi-v7a 3 | APP_STL := c++_static 4 | APP_CPPFLAGS := -std=c++11 5 | NDK_TOOLCHAIN_VERSION := clang 6 | -------------------------------------------------------------------------------- /android/specializationconstants/.gitignore: -------------------------------------------------------------------------------- 1 | /assets/ 2 | /res/ 3 | /bin/ 4 | /libs/ 5 | /obj/ 6 | /build.xml 7 | /local.properties 8 | /project.properties 9 | /proguard-project.txt 10 | *.apk -------------------------------------------------------------------------------- /android/specializationconstants/example.json: -------------------------------------------------------------------------------- 1 | { 2 | "apkname": "vulkanSpecializationconstants", 3 | "directories": { 4 | "shaders": "specializationconstants" 5 | }, 6 | "assets": { 7 | "models": [ 8 | "color_teapot_spheres.dae" 9 | ], 10 | "textures" : [ 11 | "metalplate_nomips_rgba.ktx" 12 | ] 13 | } 14 | } -------------------------------------------------------------------------------- /android/specializationconstants/jni/Application.mk: -------------------------------------------------------------------------------- 1 | APP_PLATFORM := android-19 2 | APP_ABI := armeabi-v7a 3 | APP_STL := c++_static 4 | APP_CPPFLAGS := -std=c++11 5 | APP_CPPFLAGS += -fexceptions 6 | NDK_TOOLCHAIN_VERSION := clang 7 | -------------------------------------------------------------------------------- /android/sphericalenvmapping/.gitignore: -------------------------------------------------------------------------------- 1 | /assets/ 2 | /res/ 3 | /bin/ 4 | /libs/ 5 | /obj/ 6 | /build.xml 7 | /local.properties 8 | /project.properties 9 | /proguard-project.txt 10 | *.apk -------------------------------------------------------------------------------- /android/sphericalenvmapping/example.json: -------------------------------------------------------------------------------- 1 | { 2 | "apkname": "vulkanSphericalenvmapping", 3 | "directories": { 4 | "shaders": "sphericalenvmapping" 5 | }, 6 | "assets": { 7 | "models": [ 8 | "chinesedragon.dae" 9 | ], 10 | "textures": [ 11 | "matcap_array_rgba.ktx" 12 | ] 13 | } 14 | } -------------------------------------------------------------------------------- /android/sphericalenvmapping/jni/Application.mk: -------------------------------------------------------------------------------- 1 | APP_PLATFORM := android-19 2 | APP_ABI := armeabi-v7a 3 | APP_STL := c++_static 4 | APP_CPPFLAGS := -std=c++11 5 | NDK_TOOLCHAIN_VERSION := clang 6 | -------------------------------------------------------------------------------- /android/ssao/.gitignore: -------------------------------------------------------------------------------- 1 | /assets/ 2 | /res/ 3 | /bin/ 4 | /libs/ 5 | /obj/ 6 | /build.xml 7 | /local.properties 8 | /project.properties 9 | /proguard-project.txt 10 | *.apk -------------------------------------------------------------------------------- /android/ssao/example.json: -------------------------------------------------------------------------------- 1 | { 2 | "apkname": "vulkanSSAO", 3 | "directories": { 4 | "shaders": "ssao" 5 | }, 6 | "assets": { 7 | "additional" : { 8 | "directories" : [ 9 | "models/sibenik" 10 | ], 11 | "files" : [ 12 | "models/sibenik/*.*" 13 | ] 14 | } 15 | } 16 | } -------------------------------------------------------------------------------- /android/ssao/jni/Application.mk: -------------------------------------------------------------------------------- 1 | APP_PLATFORM := android-19 2 | APP_ABI := armeabi-v7a 3 | APP_STL := c++_static 4 | APP_CPPFLAGS := -std=c++11 5 | NDK_TOOLCHAIN_VERSION := clang 6 | -------------------------------------------------------------------------------- /android/stencilbuffer/.gitignore: -------------------------------------------------------------------------------- 1 | /assets/ 2 | /res/ 3 | /bin/ 4 | /libs/ 5 | /obj/ 6 | /build.xml 7 | /local.properties 8 | /project.properties 9 | /proguard-project.txt 10 | *.apk -------------------------------------------------------------------------------- /android/stencilbuffer/example.json: -------------------------------------------------------------------------------- 1 | { 2 | "apkname": "vulkanStencilbuffer", 3 | "directories": { 4 | "shaders": "stencilbuffer" 5 | }, 6 | "assets": { 7 | "models": [ 8 | "venus.fbx" 9 | ] 10 | } 11 | } -------------------------------------------------------------------------------- /android/stencilbuffer/jni/Application.mk: -------------------------------------------------------------------------------- 1 | APP_PLATFORM := android-19 2 | APP_ABI := armeabi-v7a 3 | APP_STL := c++_static 4 | APP_CPPFLAGS := -std=c++11 5 | NDK_TOOLCHAIN_VERSION := clang 6 | -------------------------------------------------------------------------------- /android/subpasses/.gitignore: -------------------------------------------------------------------------------- 1 | /assets/ 2 | /res/ 3 | /bin/ 4 | /libs/ 5 | /obj/ 6 | /build.xml 7 | /local.properties 8 | /project.properties 9 | /proguard-project.txt 10 | *.apk -------------------------------------------------------------------------------- /android/subpasses/example.json: -------------------------------------------------------------------------------- 1 | { 2 | "apkname": "vulkanSubpasses", 3 | "directories": { 4 | "shaders": "subpasses" 5 | }, 6 | "assets": { 7 | "models": [ 8 | "samplebuilding.dae", 9 | "samplebuilding_glass.dae" 10 | ], 11 | "textures": [ 12 | "colored_glass_bc3_unorm.ktx", 13 | "colored_glass_etc2_unorm.ktx", 14 | "colored_glass_astc_8x8_unorm.ktx" 15 | ] 16 | } 17 | } -------------------------------------------------------------------------------- /android/subpasses/jni/Application.mk: -------------------------------------------------------------------------------- 1 | APP_PLATFORM := android-19 2 | APP_ABI := armeabi-v7a 3 | APP_STL := c++_static 4 | APP_CPPFLAGS := -std=c++11 5 | NDK_TOOLCHAIN_VERSION := clang 6 | -------------------------------------------------------------------------------- /android/terraintessellation/.gitignore: -------------------------------------------------------------------------------- 1 | /assets/ 2 | /res/ 3 | /bin/ 4 | /libs/ 5 | /obj/ 6 | /build.xml 7 | /local.properties 8 | /project.properties 9 | /proguard-project.txt 10 | *.apk -------------------------------------------------------------------------------- /android/terraintessellation/example.json: -------------------------------------------------------------------------------- 1 | { 2 | "apkname": "vulkanTerraintessellation", 3 | "directories": { 4 | "shaders": "terraintessellation" 5 | }, 6 | "assets": { 7 | "models": [ 8 | "geosphere.obj" 9 | ], 10 | "textures": [ 11 | "skysphere_bc3_unorm.ktx", 12 | "skysphere_astc_8x8_unorm.ktx", 13 | "skysphere_etc2_unorm.ktx", 14 | "terrain_texturearray_bc3_unorm.ktx", 15 | "terrain_texturearray_astc_8x8_unorm.ktx", 16 | "terrain_texturearray_etc2_unorm.ktx" 17 | ] 18 | } 19 | } -------------------------------------------------------------------------------- /android/terraintessellation/jni/Application.mk: -------------------------------------------------------------------------------- 1 | APP_PLATFORM := android-19 2 | APP_ABI := armeabi-v7a 3 | APP_STL := c++_static 4 | APP_CPPFLAGS := -std=c++11 5 | NDK_TOOLCHAIN_VERSION := clang 6 | -------------------------------------------------------------------------------- /android/tessellation/.gitignore: -------------------------------------------------------------------------------- 1 | /assets/ 2 | /res/ 3 | /bin/ 4 | /libs/ 5 | /obj/ 6 | /build.xml 7 | /local.properties 8 | /project.properties 9 | /proguard-project.txt 10 | *.apk -------------------------------------------------------------------------------- /android/tessellation/example.json: -------------------------------------------------------------------------------- 1 | { 2 | "apkname": "vulkanTessellation", 3 | "directories": { 4 | "shaders": "tessellation" 5 | }, 6 | "assets": { 7 | "textures": [ 8 | "deer_bc3_unorm.ktx", 9 | "deer_astc_8x8_unorm.ktx", 10 | "deer_etc2_unorm.ktx" 11 | ], 12 | "additional": { 13 | "directories": [ 14 | "models/lowpoly" 15 | ], 16 | "files" : [ 17 | "models/lowpoly/deer.dae" 18 | ] 19 | } 20 | } 21 | } -------------------------------------------------------------------------------- /android/tessellation/jni/Application.mk: -------------------------------------------------------------------------------- 1 | APP_PLATFORM := android-19 2 | APP_ABI := armeabi-v7a 3 | APP_STL := c++_static 4 | APP_CPPFLAGS := -std=c++11 5 | NDK_TOOLCHAIN_VERSION := clang 6 | -------------------------------------------------------------------------------- /android/textoverlay/.gitignore: -------------------------------------------------------------------------------- 1 | /assets/ 2 | /res/ 3 | /bin/ 4 | /libs/ 5 | /obj/ 6 | /build.xml 7 | /local.properties 8 | /project.properties 9 | /proguard-project.txt 10 | *.apk -------------------------------------------------------------------------------- /android/textoverlay/example.json: -------------------------------------------------------------------------------- 1 | { 2 | "apkname": "vulkanTextoverlay", 3 | "directories": { 4 | "shaders": "textoverlay" 5 | }, 6 | "assets": { 7 | "models": [ 8 | "cube.dae" 9 | ], 10 | "textures": [ 11 | "skysphere_bc3_unorm.ktx", 12 | "skysphere_astc_8x8_unorm.ktx", 13 | "skysphere_etc2_unorm.ktx", 14 | "round_window_bc3_unorm.ktx", 15 | "round_window_astc_8x8_unorm.ktx", 16 | "round_window_etc2_unorm.ktx" 17 | ] 18 | } 19 | } -------------------------------------------------------------------------------- /android/textoverlay/jni/Application.mk: -------------------------------------------------------------------------------- 1 | APP_PLATFORM := android-19 2 | APP_ABI := armeabi-v7a 3 | APP_STL := c++_static 4 | APP_CPPFLAGS := -std=c++11 5 | NDK_TOOLCHAIN_VERSION := clang 6 | -------------------------------------------------------------------------------- /android/texture/.gitignore: -------------------------------------------------------------------------------- 1 | /assets/ 2 | /res/ 3 | /bin/ 4 | /libs/ 5 | /obj/ 6 | /build.xml 7 | /local.properties 8 | /project.properties 9 | /proguard-project.txt 10 | *.apk -------------------------------------------------------------------------------- /android/texture/example.json: -------------------------------------------------------------------------------- 1 | { 2 | "apkname": "vulkanTexture", 3 | "directories": { 4 | "shaders": "texture" 5 | }, 6 | "assets": { 7 | "textures": [ 8 | "metalplate01_rgba.ktx" 9 | ] 10 | } 11 | } -------------------------------------------------------------------------------- /android/texture/jni/Application.mk: -------------------------------------------------------------------------------- 1 | APP_PLATFORM := android-19 2 | APP_ABI := armeabi-v7a 3 | APP_STL := c++_static 4 | APP_CPPFLAGS := -std=c++11 5 | NDK_TOOLCHAIN_VERSION := clang 6 | -------------------------------------------------------------------------------- /android/texture3d/.gitignore: -------------------------------------------------------------------------------- 1 | /assets/ 2 | /res/ 3 | /bin/ 4 | /libs/ 5 | /obj/ 6 | /build.xml 7 | /local.properties 8 | /project.properties 9 | /proguard-project.txt 10 | *.apk -------------------------------------------------------------------------------- /android/texture3d/example.json: -------------------------------------------------------------------------------- 1 | { 2 | "apkname": "vulkanTexture3d", 3 | "directories": { 4 | "shaders": "texture3d" 5 | }, 6 | "assets": {} 7 | } -------------------------------------------------------------------------------- /android/texture3d/jni/Application.mk: -------------------------------------------------------------------------------- 1 | APP_PLATFORM := android-19 2 | APP_ABI := armeabi-v7a 3 | APP_STL := c++_static 4 | APP_CPPFLAGS := -std=c++11 5 | NDK_TOOLCHAIN_VERSION := clang 6 | -------------------------------------------------------------------------------- /android/texturearray/.gitignore: -------------------------------------------------------------------------------- 1 | /assets/ 2 | /res/ 3 | /bin/ 4 | /libs/ 5 | /obj/ 6 | /build.xml 7 | /local.properties 8 | /project.properties 9 | /proguard-project.txt 10 | *.apk -------------------------------------------------------------------------------- /android/texturearray/example.json: -------------------------------------------------------------------------------- 1 | { 2 | "apkname": "vulkanTexturearray", 3 | "directories": { 4 | "shaders": "texturearray" 5 | }, 6 | "assets": { 7 | "textures": [ 8 | "texturearray_bc3_unorm.ktx", 9 | "texturearray_astc_8x8_unorm.ktx", 10 | "texturearray_etc2_unorm.ktx" 11 | ] 12 | } 13 | } -------------------------------------------------------------------------------- /android/texturearray/jni/Application.mk: -------------------------------------------------------------------------------- 1 | APP_PLATFORM := android-19 2 | APP_ABI := armeabi-v7a 3 | APP_STL := c++_static 4 | APP_CPPFLAGS := -std=c++11 5 | NDK_TOOLCHAIN_VERSION := clang 6 | -------------------------------------------------------------------------------- /android/texturecubemap/.gitignore: -------------------------------------------------------------------------------- 1 | /assets/ 2 | /res/ 3 | /bin/ 4 | /libs/ 5 | /obj/ 6 | /build.xml 7 | /local.properties 8 | /project.properties 9 | /proguard-project.txt 10 | *.apk -------------------------------------------------------------------------------- /android/texturecubemap/example.json: -------------------------------------------------------------------------------- 1 | { 2 | "apkname": "vulkanTexturecubemap", 3 | "directories": { 4 | "shaders": "cubemap" 5 | }, 6 | "assets": { 7 | "models": [ 8 | "sphere.obj", 9 | "teapot.dae", 10 | "torusknot.obj", 11 | "cube.obj" 12 | ], 13 | "textures": [ 14 | "cubemap_yokohama_bc3_unorm.ktx", 15 | "cubemap_yokohama_etc2_unorm.ktx", 16 | "cubemap_yokohama_astc_8x8_unorm.ktx" 17 | ] 18 | } 19 | } -------------------------------------------------------------------------------- /android/texturecubemap/jni/Application.mk: -------------------------------------------------------------------------------- 1 | APP_PLATFORM := android-19 2 | APP_ABI := armeabi-v7a 3 | APP_STL := c++_static 4 | APP_CPPFLAGS := -std=c++11 5 | NDK_TOOLCHAIN_VERSION := clang 6 | -------------------------------------------------------------------------------- /android/texturemipmapgen/.gitignore: -------------------------------------------------------------------------------- 1 | /assets/ 2 | /res/ 3 | /bin/ 4 | /libs/ 5 | /obj/ 6 | /build.xml 7 | /local.properties 8 | /project.properties 9 | /proguard-project.txt 10 | *.apk -------------------------------------------------------------------------------- /android/texturemipmapgen/example.json: -------------------------------------------------------------------------------- 1 | { 2 | "apkname": "vulkanTexturemipmapgen", 3 | "directories": { 4 | "shaders": "texturemipmapgen" 5 | }, 6 | "assets": { 7 | "models": [ 8 | "tunnel_cylinder.dae" 9 | ], 10 | "textures": [ 11 | "metalplate_nomips_rgba.ktx" 12 | ] 13 | } 14 | } -------------------------------------------------------------------------------- /android/texturemipmapgen/jni/Application.mk: -------------------------------------------------------------------------------- 1 | APP_PLATFORM := android-19 2 | APP_ABI := armeabi-v7a 3 | APP_STL := c++_static 4 | APP_CPPFLAGS := -std=c++11 5 | NDK_TOOLCHAIN_VERSION := clang 6 | -------------------------------------------------------------------------------- /android/triangle/.gitignore: -------------------------------------------------------------------------------- 1 | /assets/ 2 | /res/ 3 | /bin/ 4 | /libs/ 5 | /obj/ 6 | /build.xml 7 | /local.properties 8 | /project.properties 9 | /proguard-project.txt 10 | *.apk -------------------------------------------------------------------------------- /android/triangle/example.json: -------------------------------------------------------------------------------- 1 | { 2 | "apkname": "vulkanTriangle", 3 | "directories": { 4 | "shaders": "triangle" 5 | } 6 | } -------------------------------------------------------------------------------- /android/triangle/jni/Application.mk: -------------------------------------------------------------------------------- 1 | APP_PLATFORM := android-19 2 | APP_ABI := armeabi-v7a 3 | APP_STL := c++_static 4 | APP_CPPFLAGS := -std=c++11 5 | APP_CPPFLAGS += -fexceptions 6 | NDK_TOOLCHAIN_VERSION := clang 7 | -------------------------------------------------------------------------------- /android/vulkanscene/.gitignore: -------------------------------------------------------------------------------- 1 | /assets/ 2 | /res/ 3 | /bin/ 4 | /libs/ 5 | /obj/ 6 | /build.xml 7 | /local.properties 8 | /project.properties 9 | /proguard-project.txt 10 | *.apk -------------------------------------------------------------------------------- /android/vulkanscene/example.json: -------------------------------------------------------------------------------- 1 | { 2 | "apkname": "vulkanVulkanscene", 3 | "directories": { 4 | "shaders": "vulkanscene" 5 | }, 6 | "assets": { 7 | "models": [ 8 | "vulkanscenelogos.dae", 9 | "vulkanscenebackground.dae", 10 | "vulkanscenemodels.dae", 11 | "cube.obj" 12 | ], 13 | "textures": [ 14 | "cubemap_vulkan.ktx" 15 | ] 16 | } 17 | } -------------------------------------------------------------------------------- /android/vulkanscene/jni/Application.mk: -------------------------------------------------------------------------------- 1 | APP_PLATFORM := android-19 2 | APP_ABI := armeabi-v7a 3 | APP_STL := c++_static 4 | APP_CPPFLAGS := -std=c++11 5 | NDK_TOOLCHAIN_VERSION := clang 6 | -------------------------------------------------------------------------------- /appveyor.yml: -------------------------------------------------------------------------------- 1 | version: '{build}' 2 | branches: 3 | only: 4 | - master 5 | skip_tags: true 6 | image: Visual Studio 2015 7 | platform: x64 8 | install: 9 | - git submodule update --init --recursive 10 | build: 11 | project: vulkanExamples.sln 12 | parallel: true 13 | verbosity: minimal 14 | notifications: 15 | - provider: Email 16 | to: 17 | - webmaster@saschawillems.de 18 | subject: Vulkan examples build {{buildVersion}} - {{status}} 19 | on_build_success: false 20 | on_build_failure: true 21 | on_build_status_changed: true -------------------------------------------------------------------------------- /base/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | file(GLOB BASE_SRC *.cpp) 2 | file(GLOB BASE_HEADERS *.hpp) 3 | 4 | if(WIN32) 5 | add_library(base STATIC ${BASE_SRC}) 6 | target_link_libraries(base ${Vulkan_LIBRARY} ${ASSIMP_LIBRARIES} ${WINLIBS}) 7 | else(WIN32) 8 | add_library(base STATIC ${BASE_SRC}) 9 | target_link_libraries(base ${Vulkan_LIBRARY} ${ASSIMP_LIBRARIES} ${XCB_LIBRARIES} ${WAYLAND_CLIENT_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT}) 10 | endif(WIN32) -------------------------------------------------------------------------------- /bin/assimp-vc140-mt.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/bin/assimp-vc140-mt.dll -------------------------------------------------------------------------------- /cleanup.bat: -------------------------------------------------------------------------------- 1 | FOR /d /r . %%x IN (x64) DO @IF EXIST "%%x" rd /s /q "%%x" 2 | cd bin 3 | del *.ilk 4 | del *.lastcodeanalysissucceeded 5 | del *.obj 6 | del *.idb 7 | del *.pdb 8 | del *.log 9 | del *.tlog 10 | del *.xml 11 | FOR /d /r . %%x IN (*tlog) DO @IF EXIST "%%x" rd /s /q "%%x" 12 | cd.. -------------------------------------------------------------------------------- /data/shaders/base/generate-spirv.bat: -------------------------------------------------------------------------------- 1 | glslangvalidator -V textoverlay.vert -o textoverlay.vert.spv 2 | glslangvalidator -V textoverlay.frag -o textoverlay.frag.spv -------------------------------------------------------------------------------- /data/shaders/base/textoverlay.frag: -------------------------------------------------------------------------------- 1 | #version 450 core 2 | 3 | layout (location = 0) in vec2 inUV; 4 | 5 | layout (binding = 0) uniform sampler2D samplerFont; 6 | 7 | layout (location = 0) out vec4 outFragColor; 8 | 9 | void main(void) 10 | { 11 | float color = texture(samplerFont, inUV).r; 12 | outFragColor = vec4(vec3(color), 1.0); 13 | } 14 | -------------------------------------------------------------------------------- /data/shaders/base/textoverlay.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/base/textoverlay.frag.spv -------------------------------------------------------------------------------- /data/shaders/base/textoverlay.vert: -------------------------------------------------------------------------------- 1 | #version 450 core 2 | 3 | layout (location = 0) in vec2 inPos; 4 | layout (location = 1) in vec2 inUV; 5 | 6 | layout (location = 0) out vec2 outUV; 7 | 8 | out gl_PerVertex 9 | { 10 | vec4 gl_Position; 11 | }; 12 | 13 | void main(void) 14 | { 15 | gl_Position = vec4(inPos, 0.0, 1.0); 16 | outUV = inUV; 17 | } 18 | -------------------------------------------------------------------------------- /data/shaders/base/textoverlay.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/base/textoverlay.vert.spv -------------------------------------------------------------------------------- /data/shaders/bloom/colorpass.frag: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | #extension GL_ARB_separate_shader_objects : enable 4 | #extension GL_ARB_shading_language_420pack : enable 5 | 6 | layout (binding = 1) uniform sampler2D colorMap; 7 | 8 | layout (location = 0) in vec3 inColor; 9 | layout (location = 1) in vec2 inUV; 10 | 11 | layout (location = 0) out vec4 outFragColor; 12 | 13 | void main() 14 | { 15 | outFragColor.rgb = inColor; 16 | // outFragColor = texture(colorMap, inUV);// * vec4(inColor, 1.0); 17 | } -------------------------------------------------------------------------------- /data/shaders/bloom/colorpass.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/bloom/colorpass.frag.spv -------------------------------------------------------------------------------- /data/shaders/bloom/colorpass.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/bloom/colorpass.vert.spv -------------------------------------------------------------------------------- /data/shaders/bloom/gaussblur.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/bloom/gaussblur.frag.spv -------------------------------------------------------------------------------- /data/shaders/bloom/gaussblur.vert: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | #extension GL_ARB_separate_shader_objects : enable 4 | #extension GL_ARB_shading_language_420pack : enable 5 | 6 | layout (location = 0) out vec2 outUV; 7 | 8 | out gl_PerVertex 9 | { 10 | vec4 gl_Position; 11 | }; 12 | 13 | void main() 14 | { 15 | outUV = vec2((gl_VertexIndex << 1) & 2, gl_VertexIndex & 2); 16 | gl_Position = vec4(outUV * 2.0f - 1.0f, 0.0f, 1.0f); 17 | } 18 | -------------------------------------------------------------------------------- /data/shaders/bloom/gaussblur.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/bloom/gaussblur.vert.spv -------------------------------------------------------------------------------- /data/shaders/bloom/generate-spirv.bat: -------------------------------------------------------------------------------- 1 | glslangvalidator -V colorpass.vert -o colorpass.vert.spv 2 | glslangvalidator -V colorpass.frag -o colorpass.frag.spv 3 | 4 | glslangvalidator -V phongpass.vert -o phongpass.vert.spv 5 | glslangvalidator -V phongpass.frag -o phongpass.frag.spv 6 | 7 | glslangvalidator -V gaussblur.vert -o gaussblur.vert.spv 8 | glslangvalidator -V gaussblur.frag -o gaussblur.frag.spv 9 | 10 | glslangvalidator -V skybox.vert -o skybox.vert.spv 11 | glslangvalidator -V skybox.frag -o skybox.frag.spv 12 | 13 | -------------------------------------------------------------------------------- /data/shaders/bloom/phongpass.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/bloom/phongpass.frag.spv -------------------------------------------------------------------------------- /data/shaders/bloom/phongpass.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/bloom/phongpass.vert.spv -------------------------------------------------------------------------------- /data/shaders/bloom/skybox.frag: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | #extension GL_ARB_separate_shader_objects : enable 4 | #extension GL_ARB_shading_language_420pack : enable 5 | 6 | layout (binding = 1) uniform samplerCube samplerCubeMap; 7 | 8 | layout (location = 0) in vec3 inUVW; 9 | 10 | layout (location = 0) out vec4 outFragColor; 11 | 12 | void main() 13 | { 14 | outFragColor = texture(samplerCubeMap, inUVW); 15 | } -------------------------------------------------------------------------------- /data/shaders/bloom/skybox.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/bloom/skybox.frag.spv -------------------------------------------------------------------------------- /data/shaders/bloom/skybox.vert: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | #extension GL_ARB_separate_shader_objects : enable 4 | #extension GL_ARB_shading_language_420pack : enable 5 | 6 | layout (location = 0) in vec3 inPos; 7 | 8 | layout (binding = 0) uniform UBO 9 | { 10 | mat4 projection; 11 | mat4 view; 12 | mat4 model; 13 | } ubo; 14 | 15 | layout (location = 0) out vec3 outUVW; 16 | 17 | out gl_PerVertex 18 | { 19 | vec4 gl_Position; 20 | }; 21 | 22 | 23 | void main() 24 | { 25 | outUVW = inPos; 26 | gl_Position = ubo.projection * ubo.view * ubo.model * vec4(inPos.xyz, 1.0); 27 | } 28 | -------------------------------------------------------------------------------- /data/shaders/bloom/skybox.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/bloom/skybox.vert.spv -------------------------------------------------------------------------------- /data/shaders/computecloth/cloth.comp.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/computecloth/cloth.comp.spv -------------------------------------------------------------------------------- /data/shaders/computecloth/cloth.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/computecloth/cloth.frag.spv -------------------------------------------------------------------------------- /data/shaders/computecloth/cloth.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/computecloth/cloth.vert.spv -------------------------------------------------------------------------------- /data/shaders/computecloth/sphere.frag: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | layout (location = 0) in vec3 inNormal; 4 | layout (location = 1) in vec3 inViewVec; 5 | layout (location = 2) in vec3 inLightVec; 6 | 7 | layout (location = 0) out vec4 outFragColor; 8 | 9 | void main () 10 | { 11 | vec3 color = vec3(0.5); 12 | vec3 N = normalize(inNormal); 13 | vec3 L = normalize(inLightVec); 14 | vec3 V = normalize(inViewVec); 15 | vec3 R = reflect(-L, N); 16 | vec3 diffuse = max(dot(N, L), 0.15) * vec3(1.0); 17 | vec3 specular = pow(max(dot(R, V), 0.0), 32.0) * vec3(1.0); 18 | outFragColor = vec4(diffuse * color.rgb + specular, 1.0); 19 | } 20 | -------------------------------------------------------------------------------- /data/shaders/computecloth/sphere.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/computecloth/sphere.frag.spv -------------------------------------------------------------------------------- /data/shaders/computecloth/sphere.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/computecloth/sphere.vert.spv -------------------------------------------------------------------------------- /data/shaders/computecullandlod/cull.comp.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/computecullandlod/cull.comp.spv -------------------------------------------------------------------------------- /data/shaders/computecullandlod/indirectdraw.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/computecullandlod/indirectdraw.frag.spv -------------------------------------------------------------------------------- /data/shaders/computecullandlod/indirectdraw.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/computecullandlod/indirectdraw.vert.spv -------------------------------------------------------------------------------- /data/shaders/computenbody/particle.frag: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | #extension GL_ARB_separate_shader_objects : enable 4 | #extension GL_ARB_shading_language_420pack : enable 5 | 6 | layout (binding = 0) uniform sampler2D samplerColorMap; 7 | layout (binding = 1) uniform sampler2D samplerGradientRamp; 8 | 9 | layout (location = 0) in float inGradientPos; 10 | 11 | layout (location = 0) out vec4 outFragColor; 12 | 13 | void main () 14 | { 15 | vec3 color = texture(samplerGradientRamp, vec2(inGradientPos, 0.0)).rgb; 16 | outFragColor.rgb = texture(samplerColorMap, gl_PointCoord).rgb * color; 17 | } 18 | -------------------------------------------------------------------------------- /data/shaders/computenbody/particle.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/computenbody/particle.frag.spv -------------------------------------------------------------------------------- /data/shaders/computenbody/particle.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/computenbody/particle.vert.spv -------------------------------------------------------------------------------- /data/shaders/computenbody/particle_calculate.comp.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/computenbody/particle_calculate.comp.spv -------------------------------------------------------------------------------- /data/shaders/computenbody/particle_integrate.comp.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/computenbody/particle_integrate.comp.spv -------------------------------------------------------------------------------- /data/shaders/computeparticles/generate-spirv.bat: -------------------------------------------------------------------------------- 1 | glslangvalidator -V particle.frag -o particle.frag.spv 2 | glslangvalidator -V particle.vert -o particle.vert.spv 3 | glslangvalidator -V particle.comp -o particle.comp.spv 4 | 5 | 6 | -------------------------------------------------------------------------------- /data/shaders/computeparticles/particle.comp.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/computeparticles/particle.comp.spv -------------------------------------------------------------------------------- /data/shaders/computeparticles/particle.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/computeparticles/particle.frag.spv -------------------------------------------------------------------------------- /data/shaders/computeparticles/particle.vert: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | #extension GL_ARB_separate_shader_objects : enable 4 | #extension GL_ARB_shading_language_420pack : enable 5 | 6 | layout (location = 0) in vec2 inPos; 7 | layout (location = 1) in vec4 inGradientPos; 8 | 9 | layout (location = 0) out vec4 outColor; 10 | layout (location = 1) out float outGradientPos; 11 | 12 | out gl_PerVertex 13 | { 14 | vec4 gl_Position; 15 | float gl_PointSize; 16 | }; 17 | 18 | void main () 19 | { 20 | gl_PointSize = 8.0; 21 | outColor = vec4(0.035); 22 | outGradientPos = inGradientPos.x; 23 | gl_Position = vec4(inPos.xy, 1.0, 1.0); 24 | } -------------------------------------------------------------------------------- /data/shaders/computeparticles/particle.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/computeparticles/particle.vert.spv -------------------------------------------------------------------------------- /data/shaders/computeshader/edgedetect.comp.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/computeshader/edgedetect.comp.spv -------------------------------------------------------------------------------- /data/shaders/computeshader/emboss.comp.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/computeshader/emboss.comp.spv -------------------------------------------------------------------------------- /data/shaders/computeshader/generate-spirv.bat: -------------------------------------------------------------------------------- 1 | glslangvalidator -V edgedetect.comp -o edgedetect.comp.spv 2 | glslangvalidator -V emboss.comp -o emboss.comp.spv 3 | glslangvalidator -V sharpen.comp -o sharpen.comp.spv 4 | glslangvalidator -V texture.frag -o texture.frag.spv 5 | glslangvalidator -V texture.vert -o texture.vert.spv 6 | 7 | 8 | -------------------------------------------------------------------------------- /data/shaders/computeshader/sharpen.comp.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/computeshader/sharpen.comp.spv -------------------------------------------------------------------------------- /data/shaders/computeshader/texture.frag: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | #extension GL_ARB_separate_shader_objects : enable 4 | #extension GL_ARB_shading_language_420pack : enable 5 | 6 | layout (binding = 1) uniform sampler2D samplerColor; 7 | 8 | layout (location = 0) in vec2 inUV; 9 | 10 | layout (location = 0) out vec4 outFragColor; 11 | 12 | void main() 13 | { 14 | outFragColor = texture(samplerColor, inUV); 15 | } -------------------------------------------------------------------------------- /data/shaders/computeshader/texture.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/computeshader/texture.frag.spv -------------------------------------------------------------------------------- /data/shaders/computeshader/texture.vert: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | #extension GL_ARB_separate_shader_objects : enable 4 | #extension GL_ARB_shading_language_420pack : enable 5 | 6 | layout (location = 0) in vec3 inPos; 7 | layout (location = 1) in vec2 inUV; 8 | 9 | layout (binding = 0) uniform UBO 10 | { 11 | mat4 projection; 12 | mat4 model; 13 | } ubo; 14 | 15 | layout (location = 0) out vec2 outUV; 16 | 17 | out gl_PerVertex 18 | { 19 | vec4 gl_Position; 20 | }; 21 | 22 | void main() 23 | { 24 | outUV = inUV; 25 | gl_Position = ubo.projection * ubo.model * vec4(inPos.xyz, 1.0); 26 | } 27 | -------------------------------------------------------------------------------- /data/shaders/computeshader/texture.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/computeshader/texture.vert.spv -------------------------------------------------------------------------------- /data/shaders/cubemap/generate-spirv.bat: -------------------------------------------------------------------------------- 1 | glslangvalidator -V reflect.vert -o reflect.vert.spv 2 | glslangvalidator -V reflect.frag -o reflect.frag.spv 3 | glslangvalidator -V skybox.vert -o skybox.vert.spv 4 | glslangvalidator -V skybox.frag -o skybox.frag.spv 5 | 6 | 7 | -------------------------------------------------------------------------------- /data/shaders/cubemap/reflect.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/cubemap/reflect.frag.spv -------------------------------------------------------------------------------- /data/shaders/cubemap/reflect.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/cubemap/reflect.vert.spv -------------------------------------------------------------------------------- /data/shaders/cubemap/skybox.frag: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | #extension GL_ARB_separate_shader_objects : enable 4 | #extension GL_ARB_shading_language_420pack : enable 5 | 6 | layout (binding = 1) uniform samplerCube samplerCubeMap; 7 | 8 | layout (location = 0) in vec3 inUVW; 9 | 10 | layout (location = 0) out vec4 outFragColor; 11 | 12 | void main() 13 | { 14 | outFragColor = texture(samplerCubeMap, inUVW); 15 | } -------------------------------------------------------------------------------- /data/shaders/cubemap/skybox.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/cubemap/skybox.frag.spv -------------------------------------------------------------------------------- /data/shaders/cubemap/skybox.vert: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | #extension GL_ARB_separate_shader_objects : enable 4 | #extension GL_ARB_shading_language_420pack : enable 5 | 6 | layout (location = 0) in vec3 inPos; 7 | 8 | layout (binding = 0) uniform UBO 9 | { 10 | mat4 projection; 11 | mat4 model; 12 | } ubo; 13 | 14 | layout (location = 0) out vec3 outUVW; 15 | 16 | out gl_PerVertex 17 | { 18 | vec4 gl_Position; 19 | }; 20 | 21 | void main() 22 | { 23 | outUVW = inPos; 24 | outUVW.x *= -1.0; 25 | gl_Position = ubo.projection * ubo.model * vec4(inPos.xyz, 1.0); 26 | } 27 | -------------------------------------------------------------------------------- /data/shaders/cubemap/skybox.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/cubemap/skybox.vert.spv -------------------------------------------------------------------------------- /data/shaders/debugmarker/colorpass.frag: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | #extension GL_ARB_separate_shader_objects : enable 4 | #extension GL_ARB_shading_language_420pack : enable 5 | 6 | layout (location = 0) in vec3 inColor; 7 | 8 | layout (location = 0) out vec4 outFragColor; 9 | 10 | void main() 11 | { 12 | outFragColor.rgb = inColor; 13 | } -------------------------------------------------------------------------------- /data/shaders/debugmarker/colorpass.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/debugmarker/colorpass.frag.spv -------------------------------------------------------------------------------- /data/shaders/debugmarker/colorpass.vert: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | #extension GL_ARB_separate_shader_objects : enable 4 | #extension GL_ARB_shading_language_420pack : enable 5 | 6 | layout (location = 0) in vec4 inPos; 7 | layout (location = 3) in vec3 inColor; 8 | 9 | layout (binding = 0) uniform UBO 10 | { 11 | mat4 projection; 12 | mat4 model; 13 | } ubo; 14 | 15 | layout (location = 0) out vec3 outColor; 16 | 17 | out gl_PerVertex 18 | { 19 | vec4 gl_Position; 20 | }; 21 | 22 | void main() 23 | { 24 | { 25 | outColor = inColor; 26 | } 27 | gl_Position = ubo.projection * ubo.model * inPos; 28 | } 29 | -------------------------------------------------------------------------------- /data/shaders/debugmarker/colorpass.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/debugmarker/colorpass.vert.spv -------------------------------------------------------------------------------- /data/shaders/debugmarker/generate-spirv.bat: -------------------------------------------------------------------------------- 1 | glslangvalidator -V toon.vert -o toon.vert.spv 2 | glslangvalidator -V toon.frag -o toon.frag.spv 3 | glslangvalidator -V colorpass.vert -o colorpass.vert.spv 4 | glslangvalidator -V colorpass.frag -o colorpass.frag.spv 5 | glslangvalidator -V postprocess.vert -o postprocess.vert.spv 6 | glslangvalidator -V postprocess.frag -o postprocess.frag.spv -------------------------------------------------------------------------------- /data/shaders/debugmarker/postprocess.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/debugmarker/postprocess.frag.spv -------------------------------------------------------------------------------- /data/shaders/debugmarker/postprocess.vert: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | #extension GL_ARB_separate_shader_objects : enable 4 | #extension GL_ARB_shading_language_420pack : enable 5 | 6 | layout (location = 0) out vec2 outUV; 7 | 8 | out gl_PerVertex 9 | { 10 | vec4 gl_Position; 11 | }; 12 | 13 | void main() 14 | { 15 | outUV = vec2((gl_VertexIndex << 1) & 2, gl_VertexIndex & 2); 16 | gl_Position = vec4(outUV * vec2(2.0f, 2.0f) + vec2(-1.0f, -1.0f), 0.0f, 1.0f); 17 | } -------------------------------------------------------------------------------- /data/shaders/debugmarker/postprocess.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/debugmarker/postprocess.vert.spv -------------------------------------------------------------------------------- /data/shaders/debugmarker/toon.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/debugmarker/toon.frag.spv -------------------------------------------------------------------------------- /data/shaders/debugmarker/toon.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/debugmarker/toon.vert.spv -------------------------------------------------------------------------------- /data/shaders/deferred/debug.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/deferred/debug.frag.spv -------------------------------------------------------------------------------- /data/shaders/deferred/debug.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/deferred/debug.vert.spv -------------------------------------------------------------------------------- /data/shaders/deferred/deferred.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/deferred/deferred.frag.spv -------------------------------------------------------------------------------- /data/shaders/deferred/deferred.vert: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | #extension GL_ARB_separate_shader_objects : enable 4 | #extension GL_ARB_shading_language_420pack : enable 5 | 6 | layout (location = 0) out vec2 outUV; 7 | 8 | out gl_PerVertex 9 | { 10 | vec4 gl_Position; 11 | }; 12 | 13 | void main() 14 | { 15 | outUV = vec2((gl_VertexIndex << 1) & 2, gl_VertexIndex & 2); 16 | gl_Position = vec4(outUV * 2.0f - 1.0f, 0.0f, 1.0f); 17 | } 18 | -------------------------------------------------------------------------------- /data/shaders/deferred/deferred.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/deferred/deferred.vert.spv -------------------------------------------------------------------------------- /data/shaders/deferred/generate-spirv.bat: -------------------------------------------------------------------------------- 1 | glslangvalidator -V debug.vert -o debug.vert.spv 2 | glslangvalidator -V debug.frag -o debug.frag.spv 3 | glslangvalidator -V deferred.vert -o deferred.vert.spv 4 | glslangvalidator -V deferred.frag -o deferred.frag.spv 5 | glslangvalidator -V mrt.vert -o mrt.vert.spv 6 | glslangvalidator -V mrt.frag -o mrt.frag.spv 7 | 8 | -------------------------------------------------------------------------------- /data/shaders/deferred/mrt.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/deferred/mrt.frag.spv -------------------------------------------------------------------------------- /data/shaders/deferred/mrt.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/deferred/mrt.vert.spv -------------------------------------------------------------------------------- /data/shaders/deferredmultisampling/debug.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/deferredmultisampling/debug.frag.spv -------------------------------------------------------------------------------- /data/shaders/deferredmultisampling/debug.vert: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | #extension GL_ARB_separate_shader_objects : enable 4 | #extension GL_ARB_shading_language_420pack : enable 5 | 6 | layout (binding = 0) uniform UBO 7 | { 8 | mat4 projection; 9 | mat4 model; 10 | } ubo; 11 | 12 | layout (location = 0) out vec3 outUV; 13 | 14 | out gl_PerVertex 15 | { 16 | vec4 gl_Position; 17 | }; 18 | 19 | void main() 20 | { 21 | outUV = vec3((gl_VertexIndex << 1) & 2, gl_VertexIndex & 2, 0.0); 22 | gl_Position = vec4(outUV.st * 2.0f - 1.0f, 0.0f, 1.0f); 23 | } 24 | -------------------------------------------------------------------------------- /data/shaders/deferredmultisampling/debug.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/deferredmultisampling/debug.vert.spv -------------------------------------------------------------------------------- /data/shaders/deferredmultisampling/deferred.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/deferredmultisampling/deferred.frag.spv -------------------------------------------------------------------------------- /data/shaders/deferredmultisampling/deferred.vert: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | #extension GL_ARB_separate_shader_objects : enable 4 | #extension GL_ARB_shading_language_420pack : enable 5 | 6 | layout (binding = 0) uniform UBO 7 | { 8 | mat4 projection; 9 | mat4 model; 10 | } ubo; 11 | 12 | layout (location = 0) out vec2 outUV; 13 | 14 | out gl_PerVertex 15 | { 16 | vec4 gl_Position; 17 | }; 18 | 19 | void main() 20 | { 21 | outUV = vec2((gl_VertexIndex << 1) & 2, gl_VertexIndex & 2); 22 | gl_Position = vec4(outUV * 2.0f - 1.0f, 0.0f, 1.0f); 23 | } 24 | -------------------------------------------------------------------------------- /data/shaders/deferredmultisampling/deferred.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/deferredmultisampling/deferred.vert.spv -------------------------------------------------------------------------------- /data/shaders/deferredmultisampling/mrt.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/deferredmultisampling/mrt.frag.spv -------------------------------------------------------------------------------- /data/shaders/deferredmultisampling/mrt.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/deferredmultisampling/mrt.vert.spv -------------------------------------------------------------------------------- /data/shaders/deferredshadows/debug.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/deferredshadows/debug.frag.spv -------------------------------------------------------------------------------- /data/shaders/deferredshadows/debug.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/deferredshadows/debug.vert.spv -------------------------------------------------------------------------------- /data/shaders/deferredshadows/deferred.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/deferredshadows/deferred.frag.spv -------------------------------------------------------------------------------- /data/shaders/deferredshadows/deferred.vert: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | #extension GL_ARB_separate_shader_objects : enable 4 | #extension GL_ARB_shading_language_420pack : enable 5 | 6 | layout (location = 0) in vec3 inPos; 7 | layout (location = 1) in vec2 inUV; 8 | 9 | layout (binding = 0) uniform UBO 10 | { 11 | mat4 projection; 12 | mat4 modelview; 13 | } ubo; 14 | 15 | layout (location = 0) out vec2 outUV; 16 | 17 | out gl_PerVertex 18 | { 19 | vec4 gl_Position; 20 | }; 21 | 22 | void main() 23 | { 24 | outUV = inUV; 25 | gl_Position = ubo.projection * ubo.modelview * vec4(inPos.xyz, 1.0); 26 | } 27 | -------------------------------------------------------------------------------- /data/shaders/deferredshadows/deferred.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/deferredshadows/deferred.vert.spv -------------------------------------------------------------------------------- /data/shaders/deferredshadows/generate-spirv.bat: -------------------------------------------------------------------------------- 1 | glslangvalidator -V debug.vert -o debug.vert.spv 2 | glslangvalidator -V debug.frag -o debug.frag.spv 3 | glslangvalidator -V mrt.vert -o mrt.vert.spv 4 | glslangvalidator -V mrt.frag -o mrt.frag.spv 5 | glslangvalidator -V shadow.vert -o shadow.vert.spv 6 | glslangvalidator -V shadow.frag -o shadow.frag.spv 7 | glslangvalidator -V shadow.geom -o shadow.geom.spv 8 | glslangvalidator -V deferred.vert -o deferred.vert.spv 9 | glslangvalidator -V deferred.frag -o deferred.frag.spv -------------------------------------------------------------------------------- /data/shaders/deferredshadows/geom.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/deferredshadows/geom.spv -------------------------------------------------------------------------------- /data/shaders/deferredshadows/mrt.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/deferredshadows/mrt.frag.spv -------------------------------------------------------------------------------- /data/shaders/deferredshadows/mrt.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/deferredshadows/mrt.vert.spv -------------------------------------------------------------------------------- /data/shaders/deferredshadows/shadow.frag: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | #extension GL_ARB_separate_shader_objects : enable 4 | #extension GL_ARB_shading_language_420pack : enable 5 | 6 | layout(location = 0) out float fragmentdepth; 7 | 8 | void main() 9 | { 10 | fragmentdepth = gl_FragCoord.z; 11 | } -------------------------------------------------------------------------------- /data/shaders/deferredshadows/shadow.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/deferredshadows/shadow.frag.spv -------------------------------------------------------------------------------- /data/shaders/deferredshadows/shadow.geom.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/deferredshadows/shadow.geom.spv -------------------------------------------------------------------------------- /data/shaders/deferredshadows/shadow.vert: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | #extension GL_ARB_separate_shader_objects : enable 4 | #extension GL_ARB_shading_language_420pack : enable 5 | 6 | layout (location = 0) in vec4 inPos; 7 | 8 | layout (location = 0) out int outInstanceIndex; 9 | 10 | out gl_PerVertex 11 | { 12 | vec4 gl_Position; 13 | }; 14 | 15 | void main() 16 | { 17 | outInstanceIndex = gl_InstanceIndex; 18 | gl_Position = inPos; 19 | } -------------------------------------------------------------------------------- /data/shaders/deferredshadows/shadow.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/deferredshadows/shadow.vert.spv -------------------------------------------------------------------------------- /data/shaders/displacement/base.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/displacement/base.frag.spv -------------------------------------------------------------------------------- /data/shaders/displacement/base.vert: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | #extension GL_ARB_separate_shader_objects : enable 4 | #extension GL_ARB_shading_language_420pack : enable 5 | 6 | layout (location = 0) in vec3 inPos; 7 | layout (location = 1) in vec3 inNormal; 8 | layout (location = 2) in vec2 inUV; 9 | 10 | layout (location = 0) out vec3 outNormal; 11 | layout (location = 1) out vec2 outUV; 12 | 13 | void main(void) 14 | { 15 | gl_Position = vec4(inPos.xyz, 1.0); 16 | outUV = inUV * 3.0; 17 | outNormal = inNormal; 18 | } -------------------------------------------------------------------------------- /data/shaders/displacement/base.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/displacement/base.vert.spv -------------------------------------------------------------------------------- /data/shaders/displacement/displacement.tesc.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/displacement/displacement.tesc.spv -------------------------------------------------------------------------------- /data/shaders/displacement/displacement.tese.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/displacement/displacement.tese.spv -------------------------------------------------------------------------------- /data/shaders/displacement/generate-spirv.bat: -------------------------------------------------------------------------------- 1 | glslangvalidator -V base.vert -o base.vert.spv 2 | glslangvalidator -V base.frag -o base.frag.spv 3 | glslangvalidator -V displacement.tesc -o displacement.tesc.spv 4 | glslangvalidator -V displacement.tese -o displacement.tese.spv 5 | 6 | -------------------------------------------------------------------------------- /data/shaders/distancefieldfonts/bitmap.frag: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | #extension GL_ARB_separate_shader_objects : enable 4 | #extension GL_ARB_shading_language_420pack : enable 5 | 6 | layout (binding = 1) uniform sampler2D samplerColor; 7 | 8 | layout (location = 0) in vec2 inUV; 9 | 10 | layout (location = 0) out vec4 outFragColor; 11 | 12 | void main() 13 | { 14 | outFragColor = vec4(texture(samplerColor, inUV).a); 15 | } -------------------------------------------------------------------------------- /data/shaders/distancefieldfonts/bitmap.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/distancefieldfonts/bitmap.frag.spv -------------------------------------------------------------------------------- /data/shaders/distancefieldfonts/bitmap.vert: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | #extension GL_ARB_separate_shader_objects : enable 4 | #extension GL_ARB_shading_language_420pack : enable 5 | 6 | layout (location = 0) in vec3 inPos; 7 | layout (location = 1) in vec2 inUV; 8 | 9 | layout (binding = 0) uniform UBO 10 | { 11 | mat4 projection; 12 | mat4 model; 13 | } ubo; 14 | 15 | layout (location = 0) out vec2 outUV; 16 | 17 | void main() 18 | { 19 | outUV = inUV; 20 | gl_Position = ubo.projection * ubo.model * vec4(inPos.xyz, 1.0); 21 | } 22 | -------------------------------------------------------------------------------- /data/shaders/distancefieldfonts/bitmap.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/distancefieldfonts/bitmap.vert.spv -------------------------------------------------------------------------------- /data/shaders/distancefieldfonts/generate-spirv.bat: -------------------------------------------------------------------------------- 1 | glslangvalidator -V sdf.vert -o sdf.vert.spv 2 | glslangvalidator -V sdf.frag -o sdf.frag.spv 3 | glslangvalidator -V bitmap.vert -o bitmap.vert.spv 4 | glslangvalidator -V bitmap.frag -o bitmap.frag.spv 5 | 6 | -------------------------------------------------------------------------------- /data/shaders/distancefieldfonts/sdf.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/distancefieldfonts/sdf.frag.spv -------------------------------------------------------------------------------- /data/shaders/distancefieldfonts/sdf.vert: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | #extension GL_ARB_separate_shader_objects : enable 4 | #extension GL_ARB_shading_language_420pack : enable 5 | 6 | layout (location = 0) in vec3 inPos; 7 | layout (location = 1) in vec2 inUV; 8 | 9 | layout (binding = 0) uniform UBO 10 | { 11 | mat4 projection; 12 | mat4 model; 13 | } ubo; 14 | 15 | layout (location = 0) out vec2 outUV; 16 | 17 | void main() 18 | { 19 | outUV = inUV; 20 | gl_Position = ubo.projection * ubo.model * vec4(inPos.xyz, 1.0); 21 | } 22 | -------------------------------------------------------------------------------- /data/shaders/distancefieldfonts/sdf.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/distancefieldfonts/sdf.vert.spv -------------------------------------------------------------------------------- /data/shaders/dynamicuniformbuffer/base.frag: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | #extension GL_ARB_separate_shader_objects : enable 4 | #extension GL_ARB_shading_language_420pack : enable 5 | 6 | layout (location = 0) in vec3 inColor; 7 | 8 | layout (location = 0) out vec4 outFragColor; 9 | 10 | void main() 11 | { 12 | outFragColor = vec4(inColor, 1.0); 13 | } -------------------------------------------------------------------------------- /data/shaders/dynamicuniformbuffer/base.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/dynamicuniformbuffer/base.frag.spv -------------------------------------------------------------------------------- /data/shaders/dynamicuniformbuffer/base.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/dynamicuniformbuffer/base.vert.spv -------------------------------------------------------------------------------- /data/shaders/gears/gears.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/gears/gears.frag.spv -------------------------------------------------------------------------------- /data/shaders/gears/gears.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/gears/gears.vert.spv -------------------------------------------------------------------------------- /data/shaders/geometryshader/base.frag: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | #extension GL_ARB_separate_shader_objects : enable 4 | #extension GL_ARB_shading_language_420pack : enable 5 | 6 | layout (location = 0) in vec3 inColor; 7 | 8 | layout (location = 0) out vec4 outFragColor; 9 | 10 | void main(void) 11 | { 12 | outFragColor = vec4(inColor, 1.0); 13 | } -------------------------------------------------------------------------------- /data/shaders/geometryshader/base.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/geometryshader/base.frag.spv -------------------------------------------------------------------------------- /data/shaders/geometryshader/base.vert: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | #extension GL_ARB_separate_shader_objects : enable 4 | #extension GL_ARB_shading_language_420pack : enable 5 | 6 | layout (location = 0) in vec3 inPos; 7 | layout (location = 1) in vec3 inNormal; 8 | 9 | layout (location = 0) out vec3 outNormal; 10 | 11 | out gl_PerVertex 12 | { 13 | vec4 gl_Position; 14 | }; 15 | 16 | void main(void) 17 | { 18 | outNormal = inNormal; 19 | gl_Position = vec4(inPos.xyz, 1.0); 20 | } -------------------------------------------------------------------------------- /data/shaders/geometryshader/base.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/geometryshader/base.vert.spv -------------------------------------------------------------------------------- /data/shaders/geometryshader/generate-spirv.bat: -------------------------------------------------------------------------------- 1 | glslangvalidator -V base.vert -o base.vert.spv 2 | glslangvalidator -V base.frag -o base.frag.spv 3 | glslangvalidator -V normaldebug.geom -o normaldebug.geom.spv 4 | glslangvalidator -V mesh.vert -o mesh.vert.spv 5 | glslangvalidator -V mesh.frag -o mesh.frag.spv 6 | -------------------------------------------------------------------------------- /data/shaders/geometryshader/mesh.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/geometryshader/mesh.frag.spv -------------------------------------------------------------------------------- /data/shaders/geometryshader/mesh.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/geometryshader/mesh.vert.spv -------------------------------------------------------------------------------- /data/shaders/geometryshader/normaldebug.geom.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/geometryshader/normaldebug.geom.spv -------------------------------------------------------------------------------- /data/shaders/hdr/bloom.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/hdr/bloom.frag.spv -------------------------------------------------------------------------------- /data/shaders/hdr/bloom.vert: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | #extension GL_ARB_separate_shader_objects : enable 4 | #extension GL_ARB_shading_language_420pack : enable 5 | 6 | layout (location = 0) out vec2 outUV; 7 | 8 | out gl_PerVertex 9 | { 10 | vec4 gl_Position; 11 | }; 12 | 13 | void main() 14 | { 15 | outUV = vec2((gl_VertexIndex << 1) & 2, gl_VertexIndex & 2); 16 | gl_Position = vec4(outUV * 2.0f - 1.0f, 0.0f, 1.0f); 17 | } 18 | -------------------------------------------------------------------------------- /data/shaders/hdr/bloom.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/hdr/bloom.vert.spv -------------------------------------------------------------------------------- /data/shaders/hdr/composition.frag: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | #extension GL_ARB_separate_shader_objects : enable 4 | #extension GL_ARB_shading_language_420pack : enable 5 | 6 | layout (binding = 0) uniform sampler2D samplerColor0; 7 | layout (binding = 1) uniform sampler2D samplerColor1; 8 | 9 | layout (location = 0) in vec2 inUV; 10 | 11 | layout (location = 0) out vec4 outColor; 12 | 13 | void main() 14 | { 15 | outColor = texture(samplerColor0, inUV); 16 | } -------------------------------------------------------------------------------- /data/shaders/hdr/composition.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/hdr/composition.frag.spv -------------------------------------------------------------------------------- /data/shaders/hdr/composition.vert: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | #extension GL_ARB_separate_shader_objects : enable 4 | #extension GL_ARB_shading_language_420pack : enable 5 | 6 | layout (location = 0) out vec2 outUV; 7 | 8 | out gl_PerVertex 9 | { 10 | vec4 gl_Position; 11 | }; 12 | 13 | void main() 14 | { 15 | outUV = vec2((gl_VertexIndex << 1) & 2, gl_VertexIndex & 2); 16 | gl_Position = vec4(outUV * 2.0f - 1.0f, 0.0f, 1.0f); 17 | } 18 | -------------------------------------------------------------------------------- /data/shaders/hdr/composition.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/hdr/composition.vert.spv -------------------------------------------------------------------------------- /data/shaders/hdr/gbuffer.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/hdr/gbuffer.frag.spv -------------------------------------------------------------------------------- /data/shaders/hdr/gbuffer.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/hdr/gbuffer.vert.spv -------------------------------------------------------------------------------- /data/shaders/imgui/scene.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/imgui/scene.frag.spv -------------------------------------------------------------------------------- /data/shaders/imgui/scene.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/imgui/scene.vert.spv -------------------------------------------------------------------------------- /data/shaders/imgui/ui.frag: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | layout (binding = 0) uniform sampler2D fontSampler; 4 | 5 | layout (location = 0) in vec2 inUV; 6 | layout (location = 1) in vec4 inColor; 7 | 8 | layout (location = 0) out vec4 outColor; 9 | 10 | void main() 11 | { 12 | outColor = inColor * texture(fontSampler, inUV); 13 | } -------------------------------------------------------------------------------- /data/shaders/imgui/ui.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/imgui/ui.frag.spv -------------------------------------------------------------------------------- /data/shaders/imgui/ui.vert: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | layout (location = 0) in vec2 inPos; 4 | layout (location = 1) in vec2 inUV; 5 | layout (location = 2) in vec4 inColor; 6 | 7 | layout (push_constant) uniform PushConstants { 8 | vec2 scale; 9 | vec2 translate; 10 | } pushConstants; 11 | 12 | layout (location = 0) out vec2 outUV; 13 | layout (location = 1) out vec4 outColor; 14 | 15 | out gl_PerVertex 16 | { 17 | vec4 gl_Position; 18 | }; 19 | 20 | void main() 21 | { 22 | outUV = inUV; 23 | outColor = inColor; 24 | gl_Position = vec4(inPos * pushConstants.scale + pushConstants.translate, 0.0, 1.0); 25 | } -------------------------------------------------------------------------------- /data/shaders/imgui/ui.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/imgui/ui.vert.spv -------------------------------------------------------------------------------- /data/shaders/indirectdraw/generate-spirv.bat: -------------------------------------------------------------------------------- 1 | glslangvalidator -V ground.vert -o ground.vert.spv 2 | glslangvalidator -V ground.frag -o ground.frag.spv 3 | glslangvalidator -V indirectdraw.vert -o indirectdraw.vert.spv 4 | glslangvalidator -V indirectdraw.frag -o indirectdraw.frag.spv 5 | glslangvalidator -V skysphere.vert -o skysphere.vert.spv 6 | glslangvalidator -V skysphere.frag -o skysphere.frag.spv -------------------------------------------------------------------------------- /data/shaders/indirectdraw/ground.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/indirectdraw/ground.frag.spv -------------------------------------------------------------------------------- /data/shaders/indirectdraw/ground.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/indirectdraw/ground.vert.spv -------------------------------------------------------------------------------- /data/shaders/indirectdraw/indirectdraw.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/indirectdraw/indirectdraw.frag.spv -------------------------------------------------------------------------------- /data/shaders/indirectdraw/indirectdraw.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/indirectdraw/indirectdraw.vert.spv -------------------------------------------------------------------------------- /data/shaders/indirectdraw/skysphere.frag: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | #extension GL_ARB_separate_shader_objects : enable 4 | #extension GL_ARB_shading_language_420pack : enable 5 | 6 | layout (binding = 2) uniform sampler2D samplerColor; 7 | 8 | layout (location = 0) in vec2 inUV; 9 | 10 | layout (location = 0) out vec4 outFragColor; 11 | 12 | void main() 13 | { 14 | const vec4 gradientStart = vec4(0.93, 0.9, 0.81, 1.0); 15 | const vec4 gradientEnd = vec4(0.35, 0.5, 1.0, 1.0); 16 | outFragColor = mix(gradientStart, gradientEnd, min(0.5 - inUV.t, 0.5)/0.15 + 0.5); 17 | } -------------------------------------------------------------------------------- /data/shaders/indirectdraw/skysphere.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/indirectdraw/skysphere.frag.spv -------------------------------------------------------------------------------- /data/shaders/indirectdraw/skysphere.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/indirectdraw/skysphere.vert.spv -------------------------------------------------------------------------------- /data/shaders/instancing/generate-spirv.bat: -------------------------------------------------------------------------------- 1 | glslangvalidator -V instancing.vert -o instancing.vert.spv 2 | glslangvalidator -V instancing.frag -o instancing.frag.spv -------------------------------------------------------------------------------- /data/shaders/instancing/instancing.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/instancing/instancing.frag.spv -------------------------------------------------------------------------------- /data/shaders/instancing/instancing.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/instancing/instancing.vert.spv -------------------------------------------------------------------------------- /data/shaders/instancing/planet.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/instancing/planet.frag.spv -------------------------------------------------------------------------------- /data/shaders/instancing/planet.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/instancing/planet.vert.spv -------------------------------------------------------------------------------- /data/shaders/instancing/starfield.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/instancing/starfield.frag.spv -------------------------------------------------------------------------------- /data/shaders/instancing/starfield.vert: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | layout (location = 0) out vec3 outUVW; 4 | 5 | void main() 6 | { 7 | outUVW = vec3((gl_VertexIndex << 1) & 2, gl_VertexIndex & 2, gl_VertexIndex & 2); 8 | gl_Position = vec4(outUVW.st * 2.0f - 1.0f, 0.0f, 1.0f); 9 | } -------------------------------------------------------------------------------- /data/shaders/instancing/starfield.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/instancing/starfield.vert.spv -------------------------------------------------------------------------------- /data/shaders/mesh/generate-spirv.bat: -------------------------------------------------------------------------------- 1 | glslangvalidator -V mesh.vert -o mesh.vert.spv 2 | glslangvalidator -V mesh.frag -o mesh.frag.spv -------------------------------------------------------------------------------- /data/shaders/mesh/mesh.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/mesh/mesh.frag.spv -------------------------------------------------------------------------------- /data/shaders/mesh/mesh.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/mesh/mesh.vert.spv -------------------------------------------------------------------------------- /data/shaders/multithreading/generate-spirv.bat: -------------------------------------------------------------------------------- 1 | glslangvalidator -V phong.vert -o phong.vert.spv 2 | glslangvalidator -V phong.frag -o phong.frag.spv 3 | glslangvalidator -V starsphere.vert -o starsphere.vert.spv 4 | glslangvalidator -V starsphere.frag -o starsphere.frag.spv -------------------------------------------------------------------------------- /data/shaders/multithreading/phong.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/multithreading/phong.frag.spv -------------------------------------------------------------------------------- /data/shaders/multithreading/phong.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/multithreading/phong.vert.spv -------------------------------------------------------------------------------- /data/shaders/multithreading/starsphere.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/multithreading/starsphere.frag.spv -------------------------------------------------------------------------------- /data/shaders/multithreading/starsphere.vert: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | #extension GL_ARB_separate_shader_objects : enable 4 | #extension GL_ARB_shading_language_420pack : enable 5 | 6 | layout (location = 0) in vec3 inPos; 7 | 8 | layout (std140, push_constant) uniform PushConsts 9 | { 10 | mat4 mvp; 11 | } pushConsts; 12 | 13 | layout (location = 0) out vec3 outUVW; 14 | 15 | void main() 16 | { 17 | outUVW = inPos; 18 | gl_Position = pushConsts.mvp * vec4(inPos.xyz, 1.0); 19 | } 20 | -------------------------------------------------------------------------------- /data/shaders/multithreading/starsphere.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/multithreading/starsphere.vert.spv -------------------------------------------------------------------------------- /data/shaders/occlusionquery/generate-spirv.bat: -------------------------------------------------------------------------------- 1 | glslangvalidator -V mesh.vert -o mesh.vert.spv 2 | glslangvalidator -V mesh.frag -o mesh.frag.spv 3 | glslangvalidator -V occluder.vert -o occluder.vert.spv 4 | glslangvalidator -V occluder.frag -o occluder.frag.spv 5 | glslangvalidator -V simple.vert -o simple.vert.spv 6 | glslangvalidator -V simple.frag -o simple.frag.spv -------------------------------------------------------------------------------- /data/shaders/occlusionquery/mesh.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/occlusionquery/mesh.frag.spv -------------------------------------------------------------------------------- /data/shaders/occlusionquery/mesh.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/occlusionquery/mesh.vert.spv -------------------------------------------------------------------------------- /data/shaders/occlusionquery/occluder.frag: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | #extension GL_ARB_separate_shader_objects : enable 4 | #extension GL_ARB_shading_language_420pack : enable 5 | 6 | layout (location = 0) in vec3 inColor; 7 | 8 | layout (location = 0) out vec4 outFragColor; 9 | 10 | void main() 11 | { 12 | outFragColor = vec4(inColor, 0.5); 13 | } -------------------------------------------------------------------------------- /data/shaders/occlusionquery/occluder.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/occlusionquery/occluder.frag.spv -------------------------------------------------------------------------------- /data/shaders/occlusionquery/occluder.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/occlusionquery/occluder.vert.spv -------------------------------------------------------------------------------- /data/shaders/occlusionquery/simple.frag: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | #extension GL_ARB_separate_shader_objects : enable 4 | #extension GL_ARB_shading_language_420pack : enable 5 | 6 | layout (location = 0) in vec3 inColor; 7 | 8 | layout (location = 0) out vec4 outFragColor; 9 | 10 | void main() 11 | { 12 | outFragColor = vec4(1.0); 13 | } -------------------------------------------------------------------------------- /data/shaders/occlusionquery/simple.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/occlusionquery/simple.frag.spv -------------------------------------------------------------------------------- /data/shaders/occlusionquery/simple.vert: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | #extension GL_ARB_separate_shader_objects : enable 4 | #extension GL_ARB_shading_language_420pack : enable 5 | 6 | layout (location = 0) in vec3 inPos; 7 | 8 | layout (binding = 0) uniform UBO 9 | { 10 | mat4 projection; 11 | mat4 modelview; 12 | vec4 lightPos; 13 | } ubo; 14 | 15 | layout (location = 0) out vec3 outColor; 16 | 17 | out gl_PerVertex 18 | { 19 | vec4 gl_Position; 20 | }; 21 | 22 | void main() 23 | { 24 | gl_Position = ubo.projection * ubo.modelview * vec4(inPos.xyz, 1.0); 25 | } -------------------------------------------------------------------------------- /data/shaders/occlusionquery/simple.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/occlusionquery/simple.vert.spv -------------------------------------------------------------------------------- /data/shaders/offscreen/generate-spirv.bat: -------------------------------------------------------------------------------- 1 | glslangvalidator -V phong.vert -o phong.vert.spv 2 | glslangvalidator -V phong.frag -o phong.frag.spv 3 | glslangvalidator -V quad.vert -o quad.vert.spv 4 | glslangvalidator -V quad.frag -o quad.frag.spv 5 | glslangvalidator -V mirror.vert -o mirror.vert.spv 6 | glslangvalidator -V mirror.frag -o mirror.frag.spv 7 | 8 | -------------------------------------------------------------------------------- /data/shaders/offscreen/mirror.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/offscreen/mirror.frag.spv -------------------------------------------------------------------------------- /data/shaders/offscreen/mirror.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/offscreen/mirror.vert.spv -------------------------------------------------------------------------------- /data/shaders/offscreen/phong.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/offscreen/phong.frag.spv -------------------------------------------------------------------------------- /data/shaders/offscreen/phong.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/offscreen/phong.vert.spv -------------------------------------------------------------------------------- /data/shaders/offscreen/quad.frag: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | #extension GL_ARB_separate_shader_objects : enable 4 | #extension GL_ARB_shading_language_420pack : enable 5 | 6 | layout (binding = 1) uniform sampler2D samplerColor; 7 | 8 | layout (location = 0) in vec2 inUV; 9 | 10 | layout (location = 0) out vec4 outFragColor; 11 | 12 | void main() 13 | { 14 | outFragColor = texture(samplerColor, inUV); 15 | } -------------------------------------------------------------------------------- /data/shaders/offscreen/quad.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/offscreen/quad.frag.spv -------------------------------------------------------------------------------- /data/shaders/offscreen/quad.vert: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | #extension GL_ARB_separate_shader_objects : enable 4 | #extension GL_ARB_shading_language_420pack : enable 5 | 6 | layout (location = 0) in vec3 inPos; 7 | layout (location = 1) in vec2 inUV; 8 | 9 | layout (binding = 0) uniform UBO 10 | { 11 | mat4 projection; 12 | mat4 model; 13 | } ubo; 14 | 15 | layout (location = 0) out vec2 outUV; 16 | 17 | out gl_PerVertex 18 | { 19 | vec4 gl_Position; 20 | }; 21 | 22 | void main() 23 | { 24 | outUV = inUV; 25 | gl_Position = ubo.projection * ubo.model * vec4(inPos.xyz, 1.0); 26 | } 27 | -------------------------------------------------------------------------------- /data/shaders/offscreen/quad.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/offscreen/quad.vert.spv -------------------------------------------------------------------------------- /data/shaders/parallax/parallax.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/parallax/parallax.frag.spv -------------------------------------------------------------------------------- /data/shaders/parallax/parallax.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/parallax/parallax.vert.spv -------------------------------------------------------------------------------- /data/shaders/particlefire/generate-spirv.bat: -------------------------------------------------------------------------------- 1 | glslangvalidator -V particle.frag -o particle.frag.spv 2 | glslangvalidator -V particle.vert -o particle.vert.spv 3 | glslangvalidator -V normalmap.frag -o normalmap.frag.spv 4 | glslangvalidator -V normalmap.vert -o normalmap.vert.spv 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /data/shaders/particlefire/normalmap.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/particlefire/normalmap.frag.spv -------------------------------------------------------------------------------- /data/shaders/particlefire/normalmap.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/particlefire/normalmap.vert.spv -------------------------------------------------------------------------------- /data/shaders/particlefire/particle.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/particlefire/particle.frag.spv -------------------------------------------------------------------------------- /data/shaders/particlefire/particle.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/particlefire/particle.vert.spv -------------------------------------------------------------------------------- /data/shaders/pbrbasic/pbr.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/pbrbasic/pbr.frag.spv -------------------------------------------------------------------------------- /data/shaders/pbrbasic/pbr.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/pbrbasic/pbr.vert.spv -------------------------------------------------------------------------------- /data/shaders/pbribl/filtercube.vert: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | layout (location = 0) in vec3 inPos; 4 | 5 | layout(push_constant) uniform PushConsts { 6 | layout (offset = 0) mat4 mvp; 7 | } pushConsts; 8 | 9 | layout (location = 0) out vec3 outUVW; 10 | 11 | out gl_PerVertex { 12 | vec4 gl_Position; 13 | }; 14 | 15 | void main() 16 | { 17 | outUVW = inPos; 18 | gl_Position = pushConsts.mvp * vec4(inPos.xyz, 1.0); 19 | } 20 | -------------------------------------------------------------------------------- /data/shaders/pbribl/filtercube.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/pbribl/filtercube.vert.spv -------------------------------------------------------------------------------- /data/shaders/pbribl/genbrdflut.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/pbribl/genbrdflut.frag.spv -------------------------------------------------------------------------------- /data/shaders/pbribl/genbrdflut.vert: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | layout (location = 0) out vec2 outUV; 4 | 5 | void main() 6 | { 7 | outUV = vec2((gl_VertexIndex << 1) & 2, gl_VertexIndex & 2); 8 | gl_Position = vec4(outUV * 2.0f - 1.0f, 0.0f, 1.0f); 9 | } -------------------------------------------------------------------------------- /data/shaders/pbribl/genbrdflut.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/pbribl/genbrdflut.vert.spv -------------------------------------------------------------------------------- /data/shaders/pbribl/irradiancecube.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/pbribl/irradiancecube.frag.spv -------------------------------------------------------------------------------- /data/shaders/pbribl/pbribl.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/pbribl/pbribl.frag.spv -------------------------------------------------------------------------------- /data/shaders/pbribl/pbribl.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/pbribl/pbribl.vert.spv -------------------------------------------------------------------------------- /data/shaders/pbribl/prefilterenvmap.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/pbribl/prefilterenvmap.frag.spv -------------------------------------------------------------------------------- /data/shaders/pbribl/skybox.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/pbribl/skybox.frag.spv -------------------------------------------------------------------------------- /data/shaders/pbribl/skybox.vert: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | #extension GL_ARB_separate_shader_objects : enable 4 | #extension GL_ARB_shading_language_420pack : enable 5 | 6 | layout (location = 0) in vec3 inPos; 7 | layout (location = 1) in vec3 inNormal; 8 | layout (location = 2) in vec2 inUV; 9 | 10 | layout (binding = 0) uniform UBO 11 | { 12 | mat4 projection; 13 | mat4 model; 14 | } ubo; 15 | 16 | layout (location = 0) out vec3 outUVW; 17 | 18 | out gl_PerVertex 19 | { 20 | vec4 gl_Position; 21 | }; 22 | 23 | void main() 24 | { 25 | outUVW = inPos; 26 | gl_Position = ubo.projection * ubo.model * vec4(inPos.xyz, 1.0); 27 | } 28 | -------------------------------------------------------------------------------- /data/shaders/pbribl/skybox.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/pbribl/skybox.vert.spv -------------------------------------------------------------------------------- /data/shaders/pbrtexture/filtercube.vert: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | layout (location = 0) in vec3 inPos; 4 | 5 | layout(push_constant) uniform PushConsts { 6 | layout (offset = 0) mat4 mvp; 7 | } pushConsts; 8 | 9 | layout (location = 0) out vec3 outUVW; 10 | 11 | out gl_PerVertex { 12 | vec4 gl_Position; 13 | }; 14 | 15 | void main() 16 | { 17 | outUVW = inPos; 18 | gl_Position = pushConsts.mvp * vec4(inPos.xyz, 1.0); 19 | } 20 | -------------------------------------------------------------------------------- /data/shaders/pbrtexture/filtercube.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/pbrtexture/filtercube.vert.spv -------------------------------------------------------------------------------- /data/shaders/pbrtexture/genbrdflut.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/pbrtexture/genbrdflut.frag.spv -------------------------------------------------------------------------------- /data/shaders/pbrtexture/genbrdflut.vert: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | layout (location = 0) out vec2 outUV; 4 | 5 | void main() 6 | { 7 | outUV = vec2((gl_VertexIndex << 1) & 2, gl_VertexIndex & 2); 8 | gl_Position = vec4(outUV * 2.0f - 1.0f, 0.0f, 1.0f); 9 | } -------------------------------------------------------------------------------- /data/shaders/pbrtexture/genbrdflut.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/pbrtexture/genbrdflut.vert.spv -------------------------------------------------------------------------------- /data/shaders/pbrtexture/irradiancecube.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/pbrtexture/irradiancecube.frag.spv -------------------------------------------------------------------------------- /data/shaders/pbrtexture/pbrtexture.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/pbrtexture/pbrtexture.frag.spv -------------------------------------------------------------------------------- /data/shaders/pbrtexture/pbrtexture.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/pbrtexture/pbrtexture.vert.spv -------------------------------------------------------------------------------- /data/shaders/pbrtexture/prefilterenvmap.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/pbrtexture/prefilterenvmap.frag.spv -------------------------------------------------------------------------------- /data/shaders/pbrtexture/skybox.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/pbrtexture/skybox.frag.spv -------------------------------------------------------------------------------- /data/shaders/pbrtexture/skybox.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/pbrtexture/skybox.vert.spv -------------------------------------------------------------------------------- /data/shaders/pipelines/generate-spriv.bat: -------------------------------------------------------------------------------- 1 | glslangvalidator -V phong.vert -o phong.vert.spv 2 | glslangvalidator -V phong.frag -o phong.frag.spv 3 | glslangvalidator -V wireframe.vert -o wireframe.vert.spv 4 | glslangvalidator -V wireframe.frag -o wireframe.frag.spv 5 | glslangvalidator -V toon.vert -o toon.vert.spv 6 | glslangvalidator -V toon.frag -o toon.frag.spv 7 | 8 | -------------------------------------------------------------------------------- /data/shaders/pipelines/phong.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/pipelines/phong.frag.spv -------------------------------------------------------------------------------- /data/shaders/pipelines/phong.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/pipelines/phong.vert.spv -------------------------------------------------------------------------------- /data/shaders/pipelines/toon.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/pipelines/toon.frag.spv -------------------------------------------------------------------------------- /data/shaders/pipelines/toon.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/pipelines/toon.vert.spv -------------------------------------------------------------------------------- /data/shaders/pipelines/wireframe.frag: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | #extension GL_ARB_separate_shader_objects : enable 4 | #extension GL_ARB_shading_language_420pack : enable 5 | 6 | layout (location = 0) in vec3 inColor; 7 | 8 | layout (location = 0) out vec4 outFragColor; 9 | 10 | void main() 11 | { 12 | outFragColor.rgb = inColor * 1.5; 13 | } -------------------------------------------------------------------------------- /data/shaders/pipelines/wireframe.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/pipelines/wireframe.frag.spv -------------------------------------------------------------------------------- /data/shaders/pipelines/wireframe.vert: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | #extension GL_ARB_separate_shader_objects : enable 4 | #extension GL_ARB_shading_language_420pack : enable 5 | 6 | layout (location = 0) in vec4 inPos; 7 | layout (location = 3) in vec3 inColor; 8 | 9 | layout (binding = 0) uniform UBO 10 | { 11 | mat4 projection; 12 | mat4 model; 13 | } ubo; 14 | 15 | layout (location = 0) out vec3 outColor; 16 | 17 | out gl_PerVertex 18 | { 19 | vec4 gl_Position; 20 | }; 21 | 22 | void main() 23 | { 24 | { 25 | outColor = inColor; 26 | } 27 | gl_Position = ubo.projection * ubo.model * inPos; 28 | } 29 | -------------------------------------------------------------------------------- /data/shaders/pipelines/wireframe.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/pipelines/wireframe.vert.spv -------------------------------------------------------------------------------- /data/shaders/pushconstants/generate-spirv.bat: -------------------------------------------------------------------------------- 1 | glslangvalidator -V lights.vert -o lights.vert.spv 2 | glslangvalidator -V lights.frag -o lights.frag.spv -------------------------------------------------------------------------------- /data/shaders/pushconstants/lights.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/pushconstants/lights.frag.spv -------------------------------------------------------------------------------- /data/shaders/pushconstants/lights.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/pushconstants/lights.vert.spv -------------------------------------------------------------------------------- /data/shaders/radialblur/colorpass.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/radialblur/colorpass.frag.spv -------------------------------------------------------------------------------- /data/shaders/radialblur/colorpass.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/radialblur/colorpass.vert.spv -------------------------------------------------------------------------------- /data/shaders/radialblur/generate-spirv.bat: -------------------------------------------------------------------------------- 1 | glslangvalidator -V colorpass.vert -o colorpass.vert.spv 2 | glslangvalidator -V colorpass.frag -o colorpass.frag.spv 3 | glslangvalidator -V phongpass.vert -o phongpass.vert.spv 4 | glslangvalidator -V phongpass.frag -o phongpass.frag.spv 5 | glslangvalidator -V radialblur.vert -o radialblur.vert.spv 6 | glslangvalidator -V radialblur.frag -o radialblur.frag.spv 7 | 8 | -------------------------------------------------------------------------------- /data/shaders/radialblur/phongpass.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/radialblur/phongpass.frag.spv -------------------------------------------------------------------------------- /data/shaders/radialblur/phongpass.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/radialblur/phongpass.vert.spv -------------------------------------------------------------------------------- /data/shaders/radialblur/radialblur.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/radialblur/radialblur.frag.spv -------------------------------------------------------------------------------- /data/shaders/radialblur/radialblur.vert: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | #extension GL_ARB_separate_shader_objects : enable 4 | #extension GL_ARB_shading_language_420pack : enable 5 | 6 | layout (location = 0) out vec2 outUV; 7 | 8 | out gl_PerVertex 9 | { 10 | vec4 gl_Position; 11 | }; 12 | 13 | void main() 14 | { 15 | outUV = vec2((gl_VertexIndex << 1) & 2, gl_VertexIndex & 2); 16 | gl_Position = vec4(outUV * 2.0f - 1.0f, 0.0f, 1.0f); 17 | } 18 | -------------------------------------------------------------------------------- /data/shaders/radialblur/radialblur.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/radialblur/radialblur.vert.spv -------------------------------------------------------------------------------- /data/shaders/raytracing/generate-spirv.bat: -------------------------------------------------------------------------------- 1 | glslangvalidator -V texture.frag -o texture.frag.spv 2 | glslangvalidator -V texture.vert -o texture.vert.spv 3 | glslangvalidator -V raytracing.comp -o raytracing.comp.spv -------------------------------------------------------------------------------- /data/shaders/raytracing/raytracing.comp.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/raytracing/raytracing.comp.spv -------------------------------------------------------------------------------- /data/shaders/raytracing/texture.frag: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | #extension GL_ARB_separate_shader_objects : enable 4 | #extension GL_ARB_shading_language_420pack : enable 5 | 6 | layout (binding = 0) uniform sampler2D samplerColor; 7 | 8 | layout (location = 0) in vec2 inUV; 9 | 10 | layout (location = 0) out vec4 outFragColor; 11 | 12 | void main() 13 | { 14 | outFragColor = texture(samplerColor, vec2(inUV.s, 1.0 - inUV.t)); 15 | } -------------------------------------------------------------------------------- /data/shaders/raytracing/texture.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/raytracing/texture.frag.spv -------------------------------------------------------------------------------- /data/shaders/raytracing/texture.vert: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | #extension GL_ARB_separate_shader_objects : enable 4 | #extension GL_ARB_shading_language_420pack : enable 5 | 6 | layout (location = 0) out vec2 outUV; 7 | 8 | out gl_PerVertex 9 | { 10 | vec4 gl_Position; 11 | }; 12 | 13 | void main() 14 | { 15 | outUV = vec2((gl_VertexIndex << 1) & 2, gl_VertexIndex & 2); 16 | gl_Position = vec4(outUV * 2.0f + -1.0f, 0.0f, 1.0f); 17 | } 18 | -------------------------------------------------------------------------------- /data/shaders/raytracing/texture.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/raytracing/texture.vert.spv -------------------------------------------------------------------------------- /data/shaders/scenerendering/generate-spirv.bat: -------------------------------------------------------------------------------- 1 | glslangvalidator -V scene.vert -o scene.vert.spv 2 | glslangvalidator -V scene.frag -o scene.frag.spv 3 | -------------------------------------------------------------------------------- /data/shaders/scenerendering/scene.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/scenerendering/scene.frag.spv -------------------------------------------------------------------------------- /data/shaders/scenerendering/scene.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/scenerendering/scene.vert.spv -------------------------------------------------------------------------------- /data/shaders/screenshot/mesh.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/screenshot/mesh.frag.spv -------------------------------------------------------------------------------- /data/shaders/screenshot/mesh.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/screenshot/mesh.vert.spv -------------------------------------------------------------------------------- /data/shaders/shadowmapomni/cubemapdisplay.frag: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | #extension GL_ARB_separate_shader_objects : enable 4 | #extension GL_ARB_shading_language_420pack : enable 5 | 6 | layout (binding = 1) uniform samplerCube shadowCubeMap; 7 | 8 | layout (location = 0) in vec3 inUVW; 9 | 10 | layout (location = 0) out vec4 outFragColor; 11 | 12 | void main() 13 | { 14 | float dist = length(texture(shadowCubeMap, inUVW).rgb) * 0.005; 15 | outFragColor = vec4(vec3(dist), 1.0); 16 | } -------------------------------------------------------------------------------- /data/shaders/shadowmapomni/cubemapdisplay.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/shadowmapomni/cubemapdisplay.frag.spv -------------------------------------------------------------------------------- /data/shaders/shadowmapomni/cubemapdisplay.vert: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | #extension GL_ARB_separate_shader_objects : enable 4 | #extension GL_ARB_shading_language_420pack : enable 5 | 6 | layout (location = 0) in vec3 inPos; 7 | 8 | layout (binding = 0) uniform UBO 9 | { 10 | mat4 projection; 11 | mat4 view; 12 | mat4 model; 13 | } ubo; 14 | 15 | layout (location = 0) out vec3 outUVW; 16 | 17 | out gl_PerVertex 18 | { 19 | vec4 gl_Position; 20 | }; 21 | 22 | void main() 23 | { 24 | outUVW = inPos; 25 | gl_Position = ubo.projection * ubo.model * vec4(inPos.xyz, 1.0); 26 | } 27 | 28 | -------------------------------------------------------------------------------- /data/shaders/shadowmapomni/cubemapdisplay.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/shadowmapomni/cubemapdisplay.vert.spv -------------------------------------------------------------------------------- /data/shaders/shadowmapomni/generate-spirv.bat: -------------------------------------------------------------------------------- 1 | glslangvalidator -V offscreen.vert -o offscreen.vert.spv 2 | glslangvalidator -V offscreen.frag -o offscreen.frag.spv 3 | glslangvalidator -V scene.vert -o scene.vert.spv 4 | glslangvalidator -V scene.frag -o scene.frag.spv 5 | glslangvalidator -V cubemapdisplay.vert -o cubemapdisplay.vert.spv 6 | glslangvalidator -V cubemapdisplay.frag -o cubemapdisplay.frag.spv 7 | 8 | -------------------------------------------------------------------------------- /data/shaders/shadowmapomni/offscreen.frag: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | #extension GL_ARB_separate_shader_objects : enable 4 | #extension GL_ARB_shading_language_420pack : enable 5 | 6 | layout (location = 0) out float outFragColor; 7 | 8 | layout (location = 0) in vec4 inPos; 9 | layout (location = 1) in vec3 inLightPos; 10 | 11 | void main() 12 | { 13 | // Store distance to light as 32 bit float value 14 | vec3 lightVec = inPos.xyz - inLightPos; 15 | outFragColor = length(lightVec); 16 | } -------------------------------------------------------------------------------- /data/shaders/shadowmapomni/offscreen.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/shadowmapomni/offscreen.frag.spv -------------------------------------------------------------------------------- /data/shaders/shadowmapomni/offscreen.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/shadowmapomni/offscreen.vert.spv -------------------------------------------------------------------------------- /data/shaders/shadowmapomni/scene.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/shadowmapomni/scene.frag.spv -------------------------------------------------------------------------------- /data/shaders/shadowmapomni/scene.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/shadowmapomni/scene.vert.spv -------------------------------------------------------------------------------- /data/shaders/shadowmapping/generate-spirv.bat: -------------------------------------------------------------------------------- 1 | glslangvalidator -V offscreen.vert -o offscreen.vert.spv 2 | glslangvalidator -V offscreen.frag -o offscreen.frag.spv 3 | glslangvalidator -V quad.vert -o quad.vert.spv 4 | glslangvalidator -V quad.frag -o quad.frag.spv 5 | glslangvalidator -V scene.vert -o scene.vert.spv 6 | glslangvalidator -V scene.frag -o scene.frag.spv 7 | 8 | -------------------------------------------------------------------------------- /data/shaders/shadowmapping/offscreen.frag: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | #extension GL_ARB_separate_shader_objects : enable 4 | #extension GL_ARB_shading_language_420pack : enable 5 | 6 | layout(location = 0) out vec4 color; 7 | //layout(location = 0) out float fragmentdepth; 8 | 9 | void main() 10 | { 11 | // fragmentdepth = gl_FragCoord.z; 12 | color = vec4(1.0, 0.0, 0.0, 1.0); 13 | } -------------------------------------------------------------------------------- /data/shaders/shadowmapping/offscreen.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/shadowmapping/offscreen.frag.spv -------------------------------------------------------------------------------- /data/shaders/shadowmapping/offscreen.vert: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | #extension GL_ARB_separate_shader_objects : enable 4 | #extension GL_ARB_shading_language_420pack : enable 5 | 6 | layout (location = 0) in vec3 inPos; 7 | 8 | layout (binding = 0) uniform UBO 9 | { 10 | mat4 depthMVP; 11 | } ubo; 12 | 13 | out gl_PerVertex 14 | { 15 | vec4 gl_Position; 16 | }; 17 | 18 | 19 | void main() 20 | { 21 | gl_Position = ubo.depthMVP * vec4(inPos, 1.0); 22 | } -------------------------------------------------------------------------------- /data/shaders/shadowmapping/offscreen.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/shadowmapping/offscreen.vert.spv -------------------------------------------------------------------------------- /data/shaders/shadowmapping/quad.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/shadowmapping/quad.frag.spv -------------------------------------------------------------------------------- /data/shaders/shadowmapping/quad.vert: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | #extension GL_ARB_separate_shader_objects : enable 4 | #extension GL_ARB_shading_language_420pack : enable 5 | 6 | layout (location = 0) in vec3 inPos; 7 | layout (location = 1) in vec2 inUV; 8 | 9 | layout (binding = 0) uniform UBO 10 | { 11 | mat4 projection; 12 | mat4 model; 13 | } ubo; 14 | 15 | layout (location = 0) out vec2 outUV; 16 | 17 | out gl_PerVertex 18 | { 19 | vec4 gl_Position; 20 | }; 21 | 22 | 23 | void main() 24 | { 25 | outUV = inUV; 26 | gl_Position = ubo.projection * ubo.model * vec4(inPos.xyz, 1.0); 27 | } 28 | -------------------------------------------------------------------------------- /data/shaders/shadowmapping/quad.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/shadowmapping/quad.vert.spv -------------------------------------------------------------------------------- /data/shaders/shadowmapping/scene.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/shadowmapping/scene.frag.spv -------------------------------------------------------------------------------- /data/shaders/shadowmapping/scene.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/shadowmapping/scene.vert.spv -------------------------------------------------------------------------------- /data/shaders/skeletalanimation/generate-spirv.bat: -------------------------------------------------------------------------------- 1 | glslangvalidator -V mesh.vert -o mesh.vert.spv 2 | glslangvalidator -V mesh.frag -o mesh.frag.spv 3 | glslangvalidator -V texture.vert -o texture.vert.spv 4 | glslangvalidator -V texture.frag -o texture.frag.spv -------------------------------------------------------------------------------- /data/shaders/skeletalanimation/mesh.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/skeletalanimation/mesh.frag.spv -------------------------------------------------------------------------------- /data/shaders/skeletalanimation/mesh.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/skeletalanimation/mesh.vert.spv -------------------------------------------------------------------------------- /data/shaders/skeletalanimation/texture.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/skeletalanimation/texture.frag.spv -------------------------------------------------------------------------------- /data/shaders/skeletalanimation/texture.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/skeletalanimation/texture.vert.spv -------------------------------------------------------------------------------- /data/shaders/specializationconstants/uber.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/specializationconstants/uber.frag.spv -------------------------------------------------------------------------------- /data/shaders/specializationconstants/uber.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/specializationconstants/uber.vert.spv -------------------------------------------------------------------------------- /data/shaders/sphericalenvmapping/generate-spirv.bat: -------------------------------------------------------------------------------- 1 | glslangvalidator -V sem.vert -o sem.vert.spv 2 | glslangvalidator -V sem.frag -o sem.frag.spv -------------------------------------------------------------------------------- /data/shaders/sphericalenvmapping/sem.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/sphericalenvmapping/sem.frag.spv -------------------------------------------------------------------------------- /data/shaders/sphericalenvmapping/sem.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/sphericalenvmapping/sem.vert.spv -------------------------------------------------------------------------------- /data/shaders/ssao/blur.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/ssao/blur.frag.spv -------------------------------------------------------------------------------- /data/shaders/ssao/composition.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/ssao/composition.frag.spv -------------------------------------------------------------------------------- /data/shaders/ssao/fullscreen.vert: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | #extension GL_ARB_separate_shader_objects : enable 4 | #extension GL_ARB_shading_language_420pack : enable 5 | 6 | layout (location = 0) out vec2 outUV; 7 | 8 | out gl_PerVertex 9 | { 10 | vec4 gl_Position; 11 | }; 12 | 13 | void main() 14 | { 15 | outUV = vec2((gl_VertexIndex << 1) & 2, gl_VertexIndex & 2); 16 | gl_Position = vec4(outUV * 2.0f - 1.0f, 0.0f, 1.0f); 17 | } 18 | -------------------------------------------------------------------------------- /data/shaders/ssao/fullscreen.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/ssao/fullscreen.vert.spv -------------------------------------------------------------------------------- /data/shaders/ssao/gbuffer.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/ssao/gbuffer.frag.spv -------------------------------------------------------------------------------- /data/shaders/ssao/gbuffer.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/ssao/gbuffer.vert.spv -------------------------------------------------------------------------------- /data/shaders/ssao/ssao.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/ssao/ssao.frag.spv -------------------------------------------------------------------------------- /data/shaders/stencilbuffer/outline.frag: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | layout (location = 0) out vec4 outFragColor; 4 | 5 | void main() 6 | { 7 | outFragColor = vec4(vec3(1.0), 1.0); 8 | } -------------------------------------------------------------------------------- /data/shaders/stencilbuffer/outline.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/stencilbuffer/outline.frag.spv -------------------------------------------------------------------------------- /data/shaders/stencilbuffer/outline.vert: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | layout (location = 0) in vec4 inPos; 4 | layout (location = 2) in vec3 inNormal; 5 | 6 | layout (binding = 0) uniform UBO 7 | { 8 | mat4 projection; 9 | mat4 model; 10 | vec4 lightPos; 11 | float outlineWidth; 12 | } ubo; 13 | 14 | out gl_PerVertex 15 | { 16 | vec4 gl_Position; 17 | }; 18 | 19 | void main() 20 | { 21 | // Extrude along normal 22 | vec4 pos = vec4(inPos.xyz + inNormal * ubo.outlineWidth, inPos.w); 23 | gl_Position = ubo.projection * ubo.model * pos; 24 | } 25 | -------------------------------------------------------------------------------- /data/shaders/stencilbuffer/outline.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/stencilbuffer/outline.vert.spv -------------------------------------------------------------------------------- /data/shaders/stencilbuffer/toon.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/stencilbuffer/toon.frag.spv -------------------------------------------------------------------------------- /data/shaders/stencilbuffer/toon.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/stencilbuffer/toon.vert.spv -------------------------------------------------------------------------------- /data/shaders/subpasses/composition.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/subpasses/composition.frag.spv -------------------------------------------------------------------------------- /data/shaders/subpasses/composition.vert: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | #extension GL_ARB_separate_shader_objects : enable 4 | #extension GL_ARB_shading_language_420pack : enable 5 | 6 | layout (location = 0) out vec2 outUV; 7 | 8 | out gl_PerVertex 9 | { 10 | vec4 gl_Position; 11 | }; 12 | 13 | void main() 14 | { 15 | outUV = vec2((gl_VertexIndex << 1) & 2, gl_VertexIndex & 2); 16 | gl_Position = vec4(outUV * 2.0f - 1.0f, 0.0f, 1.0f); 17 | } -------------------------------------------------------------------------------- /data/shaders/subpasses/composition.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/subpasses/composition.vert.spv -------------------------------------------------------------------------------- /data/shaders/subpasses/gbuffer.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/subpasses/gbuffer.frag.spv -------------------------------------------------------------------------------- /data/shaders/subpasses/gbuffer.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/subpasses/gbuffer.vert.spv -------------------------------------------------------------------------------- /data/shaders/subpasses/transparent.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/subpasses/transparent.frag.spv -------------------------------------------------------------------------------- /data/shaders/subpasses/transparent.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/subpasses/transparent.vert.spv -------------------------------------------------------------------------------- /data/shaders/terraintessellation/generate-spirv.bat: -------------------------------------------------------------------------------- 1 | glslangvalidator -V terrain.vert -o terrain.vert.spv 2 | glslangvalidator -V terrain.frag -o terrain.frag.spv 3 | glslangvalidator -V skysphere.vert -o skysphere.vert.spv 4 | glslangvalidator -V skysphere.frag -o skysphere.frag.spv 5 | glslangvalidator -V terrain.tesc -o terrain.tesc.spv 6 | glslangvalidator -V terrain.tese -o terrain.tese.spv 7 | 8 | -------------------------------------------------------------------------------- /data/shaders/terraintessellation/skysphere.frag: -------------------------------------------------------------------------------- 1 | #version 450 core 2 | 3 | layout (location = 0) in vec2 inUV; 4 | 5 | layout (set = 0, binding = 1) uniform sampler2D samplerColorMap; 6 | 7 | layout (location = 0) out vec4 outFragColor; 8 | 9 | void main(void) 10 | { 11 | vec4 color = texture(samplerColorMap, inUV); 12 | outFragColor = vec4(color.rgb, 1.0); 13 | } 14 | -------------------------------------------------------------------------------- /data/shaders/terraintessellation/skysphere.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/terraintessellation/skysphere.frag.spv -------------------------------------------------------------------------------- /data/shaders/terraintessellation/skysphere.vert: -------------------------------------------------------------------------------- 1 | #version 450 core 2 | 3 | layout (location = 0) in vec3 inPos; 4 | layout (location = 2) in vec2 inUV; 5 | 6 | layout (location = 0) out vec2 outUV; 7 | 8 | layout (set = 0, binding = 0) uniform UBO 9 | { 10 | mat4 mvp; 11 | } ubo; 12 | 13 | out gl_PerVertex 14 | { 15 | vec4 gl_Position; 16 | }; 17 | 18 | void main(void) 19 | { 20 | gl_Position = ubo.mvp * vec4(inPos, 1.0); 21 | outUV = inUV; 22 | outUV.t = 1.0 - outUV.t; 23 | } 24 | -------------------------------------------------------------------------------- /data/shaders/terraintessellation/skysphere.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/terraintessellation/skysphere.vert.spv -------------------------------------------------------------------------------- /data/shaders/terraintessellation/terrain.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/terraintessellation/terrain.frag.spv -------------------------------------------------------------------------------- /data/shaders/terraintessellation/terrain.tesc.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/terraintessellation/terrain.tesc.spv -------------------------------------------------------------------------------- /data/shaders/terraintessellation/terrain.tese.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/terraintessellation/terrain.tese.spv -------------------------------------------------------------------------------- /data/shaders/terraintessellation/terrain.vert: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | #extension GL_ARB_separate_shader_objects : enable 4 | #extension GL_ARB_shading_language_420pack : enable 5 | 6 | layout (location = 0) in vec3 inPos; 7 | layout (location = 1) in vec3 inNormal; 8 | layout (location = 2) in vec2 inUV; 9 | 10 | layout (location = 0) out vec3 outNormal; 11 | layout (location = 1) out vec2 outUV; 12 | 13 | out gl_PerVertex 14 | { 15 | vec4 gl_Position; 16 | }; 17 | 18 | void main(void) 19 | { 20 | gl_Position = vec4(inPos.xyz, 1.0); 21 | outUV = inUV; 22 | outNormal = inNormal; 23 | } -------------------------------------------------------------------------------- /data/shaders/terraintessellation/terrain.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/terraintessellation/terrain.vert.spv -------------------------------------------------------------------------------- /data/shaders/tessellation/base.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/tessellation/base.frag.spv -------------------------------------------------------------------------------- /data/shaders/tessellation/base.vert: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | #extension GL_ARB_separate_shader_objects : enable 4 | #extension GL_ARB_shading_language_420pack : enable 5 | 6 | layout (location = 0) in vec3 inPos; 7 | layout (location = 1) in vec3 inNormal; 8 | layout (location = 2) in vec2 inUV; 9 | 10 | layout (location = 0) out vec3 outNormal; 11 | layout (location = 1) out vec2 outUV; 12 | 13 | out gl_PerVertex 14 | { 15 | vec4 gl_Position; 16 | }; 17 | 18 | void main(void) 19 | { 20 | gl_Position = vec4(inPos.xyz, 1.0); 21 | outNormal = inNormal; 22 | outUV = inUV; 23 | } -------------------------------------------------------------------------------- /data/shaders/tessellation/base.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/tessellation/base.vert.spv -------------------------------------------------------------------------------- /data/shaders/tessellation/generate-spriv.bat: -------------------------------------------------------------------------------- 1 | glslangvalidator -V base.vert -o base.vert.spv 2 | glslangvalidator -V base.frag -o base.frag.spv 3 | glslangvalidator -V passthrough.tesc -o passthrough.tesc.spv 4 | glslangvalidator -V passthrough.tese -o passthrough.tese.spv 5 | glslangvalidator -V pntriangles.tesc -o pntriangles.tesc.spv 6 | glslangvalidator -V pntriangles.tese -o pntriangles.tese.spv 7 | 8 | -------------------------------------------------------------------------------- /data/shaders/tessellation/passthrough.tesc.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/tessellation/passthrough.tesc.spv -------------------------------------------------------------------------------- /data/shaders/tessellation/passthrough.tese.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/tessellation/passthrough.tese.spv -------------------------------------------------------------------------------- /data/shaders/tessellation/pntriangles.tesc.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/tessellation/pntriangles.tesc.spv -------------------------------------------------------------------------------- /data/shaders/tessellation/pntriangles.tese.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/tessellation/pntriangles.tese.spv -------------------------------------------------------------------------------- /data/shaders/textoverlay/background.frag: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | #extension GL_ARB_separate_shader_objects : enable 4 | #extension GL_ARB_shading_language_420pack : enable 5 | 6 | layout (binding = 1) uniform sampler2D samplerColorMap; 7 | 8 | layout (location = 0) in vec2 inUV; 9 | 10 | layout (location = 0) out vec4 outFragColor; 11 | 12 | void main() 13 | { 14 | outFragColor = texture(samplerColorMap, inUV); 15 | } -------------------------------------------------------------------------------- /data/shaders/textoverlay/background.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/textoverlay/background.frag.spv -------------------------------------------------------------------------------- /data/shaders/textoverlay/background.vert: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | #extension GL_ARB_separate_shader_objects : enable 4 | #extension GL_ARB_shading_language_420pack : enable 5 | 6 | layout (location = 0) out vec2 outUV; 7 | 8 | out gl_PerVertex 9 | { 10 | vec4 gl_Position; 11 | }; 12 | 13 | void main() 14 | { 15 | outUV = vec2((gl_VertexIndex << 1) & 2, gl_VertexIndex & 2); 16 | gl_Position = vec4(outUV * vec2(2.0f, 2.0f) + vec2(-1.0f, -1.0f), 0.0f, 1.0f); 17 | } -------------------------------------------------------------------------------- /data/shaders/textoverlay/background.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/textoverlay/background.vert.spv -------------------------------------------------------------------------------- /data/shaders/textoverlay/generate-spirv.bat: -------------------------------------------------------------------------------- 1 | glslangvalidator -V text.vert -o text.vert.spv 2 | glslangvalidator -V text.frag -o text.frag.spv 3 | glslangvalidator -V mesh.vert -o mesh.vert.spv 4 | glslangvalidator -V mesh.frag -o mesh.frag.spv 5 | glslangvalidator -V background.vert -o background.vert.spv 6 | glslangvalidator -V background.frag -o background.frag.spv 7 | -------------------------------------------------------------------------------- /data/shaders/textoverlay/mesh.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/textoverlay/mesh.frag.spv -------------------------------------------------------------------------------- /data/shaders/textoverlay/mesh.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/textoverlay/mesh.vert.spv -------------------------------------------------------------------------------- /data/shaders/textoverlay/text.frag: -------------------------------------------------------------------------------- 1 | #version 450 core 2 | 3 | layout (location = 0) in vec2 inUV; 4 | 5 | layout (binding = 0) uniform sampler2D samplerFont; 6 | 7 | layout (location = 0) out vec4 outFragColor; 8 | 9 | void main(void) 10 | { 11 | float color = texture(samplerFont, inUV).r; 12 | outFragColor = vec4(vec3(color), 1.0); 13 | } 14 | -------------------------------------------------------------------------------- /data/shaders/textoverlay/text.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/textoverlay/text.frag.spv -------------------------------------------------------------------------------- /data/shaders/textoverlay/text.vert: -------------------------------------------------------------------------------- 1 | #version 450 core 2 | 3 | layout (location = 0) in vec2 inPos; 4 | layout (location = 1) in vec2 inUV; 5 | 6 | layout (location = 0) out vec2 outUV; 7 | 8 | out gl_PerVertex 9 | { 10 | vec4 gl_Position; 11 | }; 12 | 13 | void main(void) 14 | { 15 | gl_Position = vec4(inPos, 0.0, 1.0); 16 | outUV = inUV; 17 | } 18 | -------------------------------------------------------------------------------- /data/shaders/textoverlay/text.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/textoverlay/text.vert.spv -------------------------------------------------------------------------------- /data/shaders/texture/generate-spirv.bat: -------------------------------------------------------------------------------- 1 | glslangvalidator -V texture.vert -o texture.vert.spv 2 | glslangvalidator -V texture.frag -o texture.frag.spv 3 | 4 | -------------------------------------------------------------------------------- /data/shaders/texture/texture.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/texture/texture.frag.spv -------------------------------------------------------------------------------- /data/shaders/texture/texture.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/texture/texture.vert.spv -------------------------------------------------------------------------------- /data/shaders/texture3d/texture3d.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/texture3d/texture3d.frag.spv -------------------------------------------------------------------------------- /data/shaders/texture3d/texture3d.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/texture3d/texture3d.vert.spv -------------------------------------------------------------------------------- /data/shaders/texturearray/generate-spirv.bat: -------------------------------------------------------------------------------- 1 | glslangvalidator -V instancing.vert -o instancing.vert.spv 2 | glslangvalidator -V instancing.frag -o instancing.frag.spv -------------------------------------------------------------------------------- /data/shaders/texturearray/instancing.frag: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | #extension GL_ARB_separate_shader_objects : enable 4 | #extension GL_ARB_shading_language_420pack : enable 5 | 6 | layout (binding = 1) uniform sampler2DArray samplerArray; 7 | 8 | layout (location = 0) in vec3 inUV; 9 | 10 | layout (location = 0) out vec4 outFragColor; 11 | 12 | void main() 13 | { 14 | outFragColor = texture(samplerArray, inUV); 15 | } -------------------------------------------------------------------------------- /data/shaders/texturearray/instancing.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/texturearray/instancing.frag.spv -------------------------------------------------------------------------------- /data/shaders/texturearray/instancing.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/texturearray/instancing.vert.spv -------------------------------------------------------------------------------- /data/shaders/texturemipmapgen/texture.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/texturemipmapgen/texture.frag.spv -------------------------------------------------------------------------------- /data/shaders/texturemipmapgen/texture.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/texturemipmapgen/texture.vert.spv -------------------------------------------------------------------------------- /data/shaders/texturesparseresidency/sparseresidency.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/texturesparseresidency/sparseresidency.frag.spv -------------------------------------------------------------------------------- /data/shaders/texturesparseresidency/sparseresidency.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/texturesparseresidency/sparseresidency.vert.spv -------------------------------------------------------------------------------- /data/shaders/triangle/triangle.frag: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | #extension GL_ARB_separate_shader_objects : enable 4 | #extension GL_ARB_shading_language_420pack : enable 5 | 6 | layout (location = 0) in vec3 inColor; 7 | 8 | layout (location = 0) out vec4 outFragColor; 9 | 10 | void main() 11 | { 12 | outFragColor = vec4(inColor, 1.0); 13 | } -------------------------------------------------------------------------------- /data/shaders/triangle/triangle.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/triangle/triangle.frag.spv -------------------------------------------------------------------------------- /data/shaders/triangle/triangle.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/triangle/triangle.vert.spv -------------------------------------------------------------------------------- /data/shaders/viewportarray/multiview.geom.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/viewportarray/multiview.geom.spv -------------------------------------------------------------------------------- /data/shaders/viewportarray/scene.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/viewportarray/scene.frag.spv -------------------------------------------------------------------------------- /data/shaders/viewportarray/scene.vert: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | layout (location = 0) in vec3 inPos; 4 | layout (location = 1) in vec3 inNormal; 5 | layout (location = 2) in vec3 inColor; 6 | 7 | layout (location = 0) out vec3 outNormal; 8 | layout (location = 1) out vec3 outColor; 9 | 10 | out gl_PerVertex 11 | { 12 | vec4 gl_Position; 13 | }; 14 | 15 | void main() 16 | { 17 | outColor = inColor; 18 | outNormal = inNormal; 19 | gl_Position = vec4(inPos.xyz, 1.0); 20 | } 21 | -------------------------------------------------------------------------------- /data/shaders/viewportarray/scene.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/viewportarray/scene.vert.spv -------------------------------------------------------------------------------- /data/shaders/vulkanscene/generate-spriv.bat: -------------------------------------------------------------------------------- 1 | glslangvalidator -V logo.vert -o logo.vert.spv 2 | glslangvalidator -V logo.frag -o logo.frag.spv 3 | 4 | glslangvalidator -V mesh.vert -o mesh.vert.spv 5 | glslangvalidator -V mesh.frag -o mesh.frag.spv 6 | 7 | glslangvalidator -V skybox.vert -o skybox.vert.spv 8 | glslangvalidator -V skybox.frag -o skybox.frag.spv -------------------------------------------------------------------------------- /data/shaders/vulkanscene/logo.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/vulkanscene/logo.frag.spv -------------------------------------------------------------------------------- /data/shaders/vulkanscene/logo.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/vulkanscene/logo.vert.spv -------------------------------------------------------------------------------- /data/shaders/vulkanscene/mesh.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/vulkanscene/mesh.frag.spv -------------------------------------------------------------------------------- /data/shaders/vulkanscene/mesh.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/vulkanscene/mesh.vert.spv -------------------------------------------------------------------------------- /data/shaders/vulkanscene/skybox.frag: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | #extension GL_ARB_separate_shader_objects : enable 4 | #extension GL_ARB_shading_language_420pack : enable 5 | 6 | layout (binding = 1) uniform samplerCube samplerCubeMap; 7 | 8 | layout (location = 0) in vec3 inUVW; 9 | 10 | layout (location = 0) out vec4 outFragColor; 11 | 12 | void main() 13 | { 14 | outFragColor = texture(samplerCubeMap, inUVW); 15 | } -------------------------------------------------------------------------------- /data/shaders/vulkanscene/skybox.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/vulkanscene/skybox.frag.spv -------------------------------------------------------------------------------- /data/shaders/vulkanscene/skybox.vert: -------------------------------------------------------------------------------- 1 | #version 450 2 | 3 | #extension GL_ARB_separate_shader_objects : enable 4 | #extension GL_ARB_shading_language_420pack : enable 5 | 6 | layout (location = 0) in vec3 inPos; 7 | 8 | layout (binding = 0) uniform UBO 9 | { 10 | mat4 projection; 11 | mat4 model; 12 | } ubo; 13 | 14 | layout (location = 0) out vec3 outUVW; 15 | 16 | void main() 17 | { 18 | outUVW = inPos; 19 | gl_Position = ubo.projection * ubo.model * vec4(inPos.xyz, 1.0); 20 | } 21 | -------------------------------------------------------------------------------- /data/shaders/vulkanscene/skybox.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/data/shaders/vulkanscene/skybox.vert.spv -------------------------------------------------------------------------------- /documentation/Khronos_meetup_munich_fromGLtoVulkan.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/documentation/Khronos_meetup_munich_fromGLtoVulkan.pdf -------------------------------------------------------------------------------- /documentation/additionaldocs.md: -------------------------------------------------------------------------------- 1 | ## Additional documentation 2 | 3 | ### Source 4 | - [Vulkan swap chain class](./swapchain.md) 5 | - [Vulkan example base class](./examplebaseclass.md) 6 | 7 | ### Presentations 8 | - [From OpenGL to Vulkan (Khronos Meetup Munich, 2016-04-08)](./Khronos_meetup_munich_fromGLtoVulkan.pdf) 9 | -------------------------------------------------------------------------------- /external/assimp/assimp/.editorconfig: -------------------------------------------------------------------------------- 1 | # See for details 2 | 3 | [*.{h,hpp,inl}] 4 | end_of_line = lf 5 | insert_final_newline = true 6 | trim_trailing_whitespace = true 7 | indent_size = 4 8 | indent_style = space 9 | -------------------------------------------------------------------------------- /external/assimp/assimp/ai_assert.h: -------------------------------------------------------------------------------- 1 | /** @file ai_assert.h 2 | */ 3 | #ifndef AI_DEBUG_H_INC 4 | #define AI_DEBUG_H_INC 5 | 6 | #ifdef ASSIMP_BUILD_DEBUG 7 | # include 8 | # define ai_assert(expression) assert(expression) 9 | #else 10 | # define ai_assert(expression) 11 | #endif 12 | 13 | 14 | #endif 15 | -------------------------------------------------------------------------------- /external/assimp/assimp/matrix3x3.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/external/assimp/assimp/matrix3x3.h -------------------------------------------------------------------------------- /external/assimp/assimp/matrix3x3.inl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/external/assimp/assimp/matrix3x3.inl -------------------------------------------------------------------------------- /external/assimp/assimp/matrix4x4.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/external/assimp/assimp/matrix4x4.h -------------------------------------------------------------------------------- /external/assimp/assimp/matrix4x4.inl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/external/assimp/assimp/matrix4x4.inl -------------------------------------------------------------------------------- /images/androidlogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/images/androidlogo.png -------------------------------------------------------------------------------- /images/applelogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/images/applelogo.png -------------------------------------------------------------------------------- /images/linuxlogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/images/linuxlogo.png -------------------------------------------------------------------------------- /images/vulkanlogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/images/vulkanlogo.png -------------------------------------------------------------------------------- /images/vulkanlogoscene.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/images/vulkanlogoscene.png -------------------------------------------------------------------------------- /images/windowslogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/images/windowslogo.png -------------------------------------------------------------------------------- /libs/assimp/assimp-vc140-mt.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/libs/assimp/assimp-vc140-mt.lib -------------------------------------------------------------------------------- /libs/assimp/assimp.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/libs/assimp/assimp.lib -------------------------------------------------------------------------------- /libs/vulkan/libvulkan.so: -------------------------------------------------------------------------------- 1 | libvulkan.so.1 -------------------------------------------------------------------------------- /libs/vulkan/libvulkan.so.1: -------------------------------------------------------------------------------- 1 | libvulkan.so.1.0.30 -------------------------------------------------------------------------------- /libs/vulkan/libvulkan.so.1.0.30: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/libs/vulkan/libvulkan.so.1.0.30 -------------------------------------------------------------------------------- /libs/vulkan/vulkan-1.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/libs/vulkan/vulkan-1.lib -------------------------------------------------------------------------------- /screenshots/basic_gears.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/screenshots/basic_gears.png -------------------------------------------------------------------------------- /screenshots/basic_mesh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/screenshots/basic_mesh.png -------------------------------------------------------------------------------- /screenshots/basic_offscreen.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/screenshots/basic_offscreen.jpg -------------------------------------------------------------------------------- /screenshots/basic_pipelines.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/screenshots/basic_pipelines.png -------------------------------------------------------------------------------- /screenshots/basic_texture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/screenshots/basic_texture.png -------------------------------------------------------------------------------- /screenshots/basic_triangle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/screenshots/basic_triangle.png -------------------------------------------------------------------------------- /screenshots/bloom.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/screenshots/bloom.jpg -------------------------------------------------------------------------------- /screenshots/compute_cullandlod.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/screenshots/compute_cullandlod.jpg -------------------------------------------------------------------------------- /screenshots/compute_imageprocessing.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/screenshots/compute_imageprocessing.jpg -------------------------------------------------------------------------------- /screenshots/compute_nbody.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/screenshots/compute_nbody.jpg -------------------------------------------------------------------------------- /screenshots/compute_particles.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/screenshots/compute_particles.jpg -------------------------------------------------------------------------------- /screenshots/compute_raytracing.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/screenshots/compute_raytracing.jpg -------------------------------------------------------------------------------- /screenshots/deferred_shading.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/screenshots/deferred_shading.jpg -------------------------------------------------------------------------------- /screenshots/deferred_shadows.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/screenshots/deferred_shadows.jpg -------------------------------------------------------------------------------- /screenshots/dynamicuniformbuffer.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/screenshots/dynamicuniformbuffer.jpg -------------------------------------------------------------------------------- /screenshots/ext_debugmarker.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/screenshots/ext_debugmarker.jpg -------------------------------------------------------------------------------- /screenshots/font_distancefield.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/screenshots/font_distancefield.png -------------------------------------------------------------------------------- /screenshots/geom_normals.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/screenshots/geom_normals.jpg -------------------------------------------------------------------------------- /screenshots/hdr.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/screenshots/hdr.jpg -------------------------------------------------------------------------------- /screenshots/indirectdraw.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/screenshots/indirectdraw.jpg -------------------------------------------------------------------------------- /screenshots/instancing.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/screenshots/instancing.jpg -------------------------------------------------------------------------------- /screenshots/mesh_skeletalanimation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/screenshots/mesh_skeletalanimation.png -------------------------------------------------------------------------------- /screenshots/multisampling.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/screenshots/multisampling.png -------------------------------------------------------------------------------- /screenshots/multisampling_nomsaa.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/screenshots/multisampling_nomsaa.png -------------------------------------------------------------------------------- /screenshots/multithreading.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/screenshots/multithreading.jpg -------------------------------------------------------------------------------- /screenshots/occlusion_queries.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/screenshots/occlusion_queries.png -------------------------------------------------------------------------------- /screenshots/parallax_mapping.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/screenshots/parallax_mapping.jpg -------------------------------------------------------------------------------- /screenshots/particlefire.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/screenshots/particlefire.jpg -------------------------------------------------------------------------------- /screenshots/pbrbasic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/screenshots/pbrbasic.jpg -------------------------------------------------------------------------------- /screenshots/pbribl.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/screenshots/pbribl.jpg -------------------------------------------------------------------------------- /screenshots/pbrtexture.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/screenshots/pbrtexture.jpg -------------------------------------------------------------------------------- /screenshots/push_constants.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/screenshots/push_constants.png -------------------------------------------------------------------------------- /screenshots/radial_blur.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/screenshots/radial_blur.png -------------------------------------------------------------------------------- /screenshots/scenerendering.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/screenshots/scenerendering.jpg -------------------------------------------------------------------------------- /screenshots/shadow_omnidirectional.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/screenshots/shadow_omnidirectional.png -------------------------------------------------------------------------------- /screenshots/shadowmapping.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/screenshots/shadowmapping.png -------------------------------------------------------------------------------- /screenshots/specialization_constants.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/screenshots/specialization_constants.jpg -------------------------------------------------------------------------------- /screenshots/spherical_env_mapping.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/screenshots/spherical_env_mapping.png -------------------------------------------------------------------------------- /screenshots/ssao.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/screenshots/ssao.jpg -------------------------------------------------------------------------------- /screenshots/subpasses.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/screenshots/subpasses.jpg -------------------------------------------------------------------------------- /screenshots/tess_displacement.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/screenshots/tess_displacement.jpg -------------------------------------------------------------------------------- /screenshots/tess_dynamicterrain.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/screenshots/tess_dynamicterrain.jpg -------------------------------------------------------------------------------- /screenshots/tess_pntriangles.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/screenshots/tess_pntriangles.jpg -------------------------------------------------------------------------------- /screenshots/textoverlay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/screenshots/textoverlay.png -------------------------------------------------------------------------------- /screenshots/texture_array.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/screenshots/texture_array.png -------------------------------------------------------------------------------- /screenshots/texture_cubemap.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/screenshots/texture_cubemap.jpg -------------------------------------------------------------------------------- /screenshots/texture_mipmap_gen.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/screenshots/texture_mipmap_gen.jpg -------------------------------------------------------------------------------- /screenshots/vulkan_scene.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/screenshots/vulkan_scene.png -------------------------------------------------------------------------------- /xcode/MVKExample.h: -------------------------------------------------------------------------------- 1 | /* 2 | * MVKExample.h 3 | * 4 | * Copyright (c) 2016-2017 The Brenwill Workshop Ltd. 5 | * This code is licensed under the MIT license (MIT) (http://opensource.org/licenses/MIT) 6 | */ 7 | 8 | #pragma once 9 | 10 | #include "vulkanexamplebase.h" 11 | 12 | // Wrapper class for the SW VulkanExample instance. 13 | class MVKExample { 14 | 15 | public: 16 | void renderFrame(); 17 | void keyPressed(uint32_t keyCode); 18 | 19 | MVKExample(void* view); 20 | ~MVKExample(); 21 | 22 | protected: 23 | VulkanExampleBase* _vulkanExample; 24 | }; 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /xcode/MoltenVK: -------------------------------------------------------------------------------- 1 | ../../../../../Molten/Package/Latest/MoltenVK -------------------------------------------------------------------------------- /xcode/assimp/assimp-ios: -------------------------------------------------------------------------------- 1 | ../../../assimp-3.3.1-ios -------------------------------------------------------------------------------- /xcode/assimp/assimp-macos: -------------------------------------------------------------------------------- 1 | ../../../assimp-3.3.1-macos -------------------------------------------------------------------------------- /xcode/examples.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /xcode/images/MoltenVK-Logo-Banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/xcode/images/MoltenVK-Logo-Banner.png -------------------------------------------------------------------------------- /xcode/ios/AppDelegate.h: -------------------------------------------------------------------------------- 1 | /* 2 | * AppDelegate.h 3 | * 4 | * Copyright (c) 2016-2017 The Brenwill Workshop Ltd. 5 | * This code is licensed under the MIT license (MIT) (http://opensource.org/licenses/MIT) 6 | */ 7 | 8 | #import 9 | 10 | @interface AppDelegate : UIResponder 11 | 12 | @property (strong, nonatomic) UIWindow *window; 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /xcode/ios/Resources/Default-568h@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/xcode/ios/Resources/Default-568h@2x.png -------------------------------------------------------------------------------- /xcode/ios/Resources/Default~ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/xcode/ios/Resources/Default~ipad.png -------------------------------------------------------------------------------- /xcode/ios/Resources/Icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/xcode/ios/Resources/Icon.png -------------------------------------------------------------------------------- /xcode/ios/main.m: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * main.m 4 | * 5 | ******************************************************************************/ 6 | 7 | #import 8 | 9 | int main(int argc, char * argv[]) { 10 | @autoreleasepool { 11 | return UIApplicationMain(argc, argv, nil, @"AppDelegate"); 12 | } 13 | } 14 | 15 | -------------------------------------------------------------------------------- /xcode/macos/AppDelegate.h: -------------------------------------------------------------------------------- 1 | /* 2 | * AppDelegate.h 3 | * 4 | * Copyright (c) 2016-2017 The Brenwill Workshop Ltd. 5 | * This code is licensed under the MIT license (MIT) (http://opensource.org/licenses/MIT) 6 | */ 7 | 8 | #import 9 | 10 | @interface AppDelegate : NSObject 11 | 12 | @end 13 | -------------------------------------------------------------------------------- /xcode/macos/Resources/macOS.xcassets/AppIcon.appiconset/Icon-128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/xcode/macos/Resources/macOS.xcassets/AppIcon.appiconset/Icon-128.png -------------------------------------------------------------------------------- /xcode/macos/Resources/macOS.xcassets/AppIcon.appiconset/Icon-16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/xcode/macos/Resources/macOS.xcassets/AppIcon.appiconset/Icon-16.png -------------------------------------------------------------------------------- /xcode/macos/Resources/macOS.xcassets/AppIcon.appiconset/Icon-256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/xcode/macos/Resources/macOS.xcassets/AppIcon.appiconset/Icon-256.png -------------------------------------------------------------------------------- /xcode/macos/Resources/macOS.xcassets/AppIcon.appiconset/Icon-32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/xcode/macos/Resources/macOS.xcassets/AppIcon.appiconset/Icon-32.png -------------------------------------------------------------------------------- /xcode/macos/Resources/macOS.xcassets/AppIcon.appiconset/Icon-512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/vulkan_slim/642bcf1eaba8bbcb94a8bec61f3454c597af72f9/xcode/macos/Resources/macOS.xcassets/AppIcon.appiconset/Icon-512.png -------------------------------------------------------------------------------- /xcode/macos/Resources/macOS.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /xcode/macos/main.m: -------------------------------------------------------------------------------- 1 | /* 2 | * main.m 3 | * 4 | * Copyright (c) 2016-2017 The Brenwill Workshop Ltd. 5 | * This code is licensed under the MIT license (MIT) (http://opensource.org/licenses/MIT) 6 | */ 7 | 8 | #import 9 | 10 | int main(int argc, const char * argv[]) { 11 | return NSApplicationMain(argc, argv); 12 | } 13 | --------------------------------------------------------------------------------