├── .gitignore ├── .gitmodules ├── CMakeLists.txt ├── LICENSE ├── README.md ├── android ├── .gitignore ├── app │ ├── CMakeLists.txt │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── de │ │ │ └── saschawillems │ │ │ └── vulkanglTFPBR │ │ │ └── VulkanActivity.java │ │ └── res │ │ └── values │ │ └── styles.xml ├── build.gradle ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle ├── base ├── CMakeLists.txt ├── VulkanAndroid.cpp ├── VulkanAndroid.h ├── VulkanDevice.hpp ├── VulkanExampleBase.cpp ├── VulkanExampleBase.h ├── VulkanSwapChain.hpp ├── VulkanTexture.hpp ├── VulkanUtils.hpp ├── VulkanglTFModel.cpp ├── VulkanglTFModel.h ├── camera.hpp ├── keycodes.hpp ├── macros.h └── ui.hpp ├── cmake ├── FindASSIMP.cmake ├── FindWayland.cmake └── FindXCB.cmake ├── data ├── Robot-Medium-license.txt ├── Roboto-Medium.ttf ├── environments │ ├── README.md │ └── papermill.ktx ├── models │ ├── Box │ │ ├── README.md │ │ ├── glTF-Embedded │ │ │ └── Box.gltf │ │ └── screenshot │ │ │ └── screenshot.png │ └── DamagedHelmet │ │ ├── README.md │ │ ├── glTF-Embedded │ │ └── DamagedHelmet.gltf │ │ └── screenshot │ │ └── screenshot.png ├── shaders │ ├── filtercube.vert │ ├── filtercube.vert.spv │ ├── genbrdflut.frag │ ├── genbrdflut.frag.spv │ ├── genbrdflut.vert │ ├── genbrdflut.vert.spv │ ├── includes │ │ ├── shadermaterial.glsl │ │ ├── srgbtolinear.glsl │ │ └── tonemapping.glsl │ ├── irradiancecube.frag │ ├── irradiancecube.frag.spv │ ├── material_pbr.frag │ ├── material_pbr.frag.spv │ ├── material_unlit.frag │ ├── material_unlit.frag.spv │ ├── pbr.vert │ ├── pbr.vert.spv │ ├── prefilterenvmap.frag │ ├── prefilterenvmap.frag.spv │ ├── skybox.frag │ ├── skybox.frag.spv │ ├── skybox.vert │ ├── skybox.vert.spv │ ├── ui.frag │ ├── ui.frag.spv │ ├── ui.vert │ └── ui.vert.spv └── textures │ └── empty.ktx ├── external ├── basisu │ ├── LICENSE │ ├── README.md │ ├── transcoder │ │ ├── basisu.h │ │ ├── basisu_containers.h │ │ ├── basisu_containers_impl.h │ │ ├── basisu_file_headers.h │ │ ├── basisu_transcoder.cpp │ │ ├── basisu_transcoder.h │ │ ├── basisu_transcoder_internal.h │ │ ├── basisu_transcoder_tables_astc.inc │ │ ├── basisu_transcoder_tables_astc_0_255.inc │ │ ├── basisu_transcoder_tables_atc_55.inc │ │ ├── basisu_transcoder_tables_atc_56.inc │ │ ├── basisu_transcoder_tables_bc7_m5_alpha.inc │ │ ├── basisu_transcoder_tables_bc7_m5_color.inc │ │ ├── basisu_transcoder_tables_dxt1_5.inc │ │ ├── basisu_transcoder_tables_dxt1_6.inc │ │ ├── basisu_transcoder_tables_pvrtc2_45.inc │ │ ├── basisu_transcoder_tables_pvrtc2_alpha_33.inc │ │ └── basisu_transcoder_uastc.h │ └── zstd │ │ ├── LICENSE │ │ ├── zstd.c │ │ ├── zstd.h │ │ └── zstddeclib.c ├── draco │ └── README.md ├── imgui │ ├── LICENSE.txt │ ├── imconfig.h │ ├── imgui.cpp │ ├── imgui.h │ ├── imgui_demo.cpp │ ├── imgui_draw.cpp │ ├── imgui_internal.h │ ├── imgui_widgets.cpp │ ├── imstb_rectpack.h │ ├── imstb_textedit.h │ └── imstb_truetype.h ├── tinygltf │ ├── LICENSE │ ├── README.md │ ├── json.hpp │ ├── stb_image.h │ └── tiny_gltf.h ├── vk_video │ ├── vulkan_video_codec_av1std.h │ ├── vulkan_video_codec_av1std_decode.h │ ├── vulkan_video_codec_av1std_encode.h │ ├── vulkan_video_codec_h264std.h │ ├── vulkan_video_codec_h264std_decode.h │ ├── vulkan_video_codec_h264std_encode.h │ ├── vulkan_video_codec_h265std.h │ ├── vulkan_video_codec_h265std_decode.h │ ├── vulkan_video_codec_h265std_encode.h │ └── vulkan_video_codecs_common.h └── vulkan │ ├── vk_platform.h │ ├── vulkan.h │ ├── vulkan_android.h │ ├── vulkan_beta.h │ ├── vulkan_core.h │ ├── vulkan_directfb.h │ ├── vulkan_fuchsia.h │ ├── vulkan_ggp.h │ ├── vulkan_ios.h │ ├── vulkan_macos.h │ ├── vulkan_metal.h │ ├── vulkan_screen.h │ ├── vulkan_vi.h │ ├── vulkan_wayland.h │ ├── vulkan_win32.h │ ├── vulkan_xcb.h │ ├── vulkan_xlib.h │ └── vulkan_xlib_xrandr.h ├── libs ├── draco │ └── README.md └── vulkan │ ├── libvulkan.so │ └── vulkan-1.lib ├── screenshots ├── busterdrone.jpg ├── damagedhelmet.jpg ├── damagedhelmet_android.jpg ├── polly.jpg ├── tex_brdflut.png ├── tex_envmap.png ├── tex_irradiance_cube.png ├── tex_prefiltered_cube.png ├── tex_prefiltered_cube_mipchain_0.png ├── tex_prefiltered_cube_mipchain_1.png ├── tex_prefiltered_cube_mipchain_2.png ├── tex_prefiltered_cube_mipchain_3.png ├── tex_prefiltered_cube_mipchain_4.png ├── tex_prefiltered_cube_mipchain_5.png ├── tex_prefiltered_cube_mipchain_6.png ├── tex_prefiltered_cube_mipchain_7.png ├── tex_prefiltered_cube_mipchain_8.png └── tex_prefiltered_cube_mipchain_9.png └── src ├── CMakeLists.txt └── main.cpp /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/.gitignore -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/.gitmodules -------------------------------------------------------------------------------- /CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/CMakeLists.txt -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/README.md -------------------------------------------------------------------------------- /android/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/android/.gitignore -------------------------------------------------------------------------------- /android/app/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/android/app/CMakeLists.txt -------------------------------------------------------------------------------- /android/app/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/android/app/build.gradle -------------------------------------------------------------------------------- /android/app/proguard-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/android/app/proguard-rules.pro -------------------------------------------------------------------------------- /android/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/android/app/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /android/app/src/main/java/de/saschawillems/vulkanglTFPBR/VulkanActivity.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/android/app/src/main/java/de/saschawillems/vulkanglTFPBR/VulkanActivity.java -------------------------------------------------------------------------------- /android/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/android/app/src/main/res/values/styles.xml -------------------------------------------------------------------------------- /android/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/android/build.gradle -------------------------------------------------------------------------------- /android/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/android/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/android/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /android/gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/android/gradlew -------------------------------------------------------------------------------- /android/gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/android/gradlew.bat -------------------------------------------------------------------------------- /android/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /base/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/base/CMakeLists.txt -------------------------------------------------------------------------------- /base/VulkanAndroid.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/base/VulkanAndroid.cpp -------------------------------------------------------------------------------- /base/VulkanAndroid.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/base/VulkanAndroid.h -------------------------------------------------------------------------------- /base/VulkanDevice.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/base/VulkanDevice.hpp -------------------------------------------------------------------------------- /base/VulkanExampleBase.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/base/VulkanExampleBase.cpp -------------------------------------------------------------------------------- /base/VulkanExampleBase.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/base/VulkanExampleBase.h -------------------------------------------------------------------------------- /base/VulkanSwapChain.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/base/VulkanSwapChain.hpp -------------------------------------------------------------------------------- /base/VulkanTexture.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/base/VulkanTexture.hpp -------------------------------------------------------------------------------- /base/VulkanUtils.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/base/VulkanUtils.hpp -------------------------------------------------------------------------------- /base/VulkanglTFModel.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/base/VulkanglTFModel.cpp -------------------------------------------------------------------------------- /base/VulkanglTFModel.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/base/VulkanglTFModel.h -------------------------------------------------------------------------------- /base/camera.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/base/camera.hpp -------------------------------------------------------------------------------- /base/keycodes.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/base/keycodes.hpp -------------------------------------------------------------------------------- /base/macros.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/base/macros.h -------------------------------------------------------------------------------- /base/ui.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/base/ui.hpp -------------------------------------------------------------------------------- /cmake/FindASSIMP.cmake: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/cmake/FindASSIMP.cmake -------------------------------------------------------------------------------- /cmake/FindWayland.cmake: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/cmake/FindWayland.cmake -------------------------------------------------------------------------------- /cmake/FindXCB.cmake: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/cmake/FindXCB.cmake -------------------------------------------------------------------------------- /data/Robot-Medium-license.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/data/Robot-Medium-license.txt -------------------------------------------------------------------------------- /data/Roboto-Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/data/Roboto-Medium.ttf -------------------------------------------------------------------------------- /data/environments/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/data/environments/README.md -------------------------------------------------------------------------------- /data/environments/papermill.ktx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/data/environments/papermill.ktx -------------------------------------------------------------------------------- /data/models/Box/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/data/models/Box/README.md -------------------------------------------------------------------------------- /data/models/Box/glTF-Embedded/Box.gltf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/data/models/Box/glTF-Embedded/Box.gltf -------------------------------------------------------------------------------- /data/models/Box/screenshot/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/data/models/Box/screenshot/screenshot.png -------------------------------------------------------------------------------- /data/models/DamagedHelmet/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/data/models/DamagedHelmet/README.md -------------------------------------------------------------------------------- /data/models/DamagedHelmet/glTF-Embedded/DamagedHelmet.gltf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/data/models/DamagedHelmet/glTF-Embedded/DamagedHelmet.gltf -------------------------------------------------------------------------------- /data/models/DamagedHelmet/screenshot/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/data/models/DamagedHelmet/screenshot/screenshot.png -------------------------------------------------------------------------------- /data/shaders/filtercube.vert: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/data/shaders/filtercube.vert -------------------------------------------------------------------------------- /data/shaders/filtercube.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/data/shaders/filtercube.vert.spv -------------------------------------------------------------------------------- /data/shaders/genbrdflut.frag: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/data/shaders/genbrdflut.frag -------------------------------------------------------------------------------- /data/shaders/genbrdflut.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/data/shaders/genbrdflut.frag.spv -------------------------------------------------------------------------------- /data/shaders/genbrdflut.vert: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/data/shaders/genbrdflut.vert -------------------------------------------------------------------------------- /data/shaders/genbrdflut.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/data/shaders/genbrdflut.vert.spv -------------------------------------------------------------------------------- /data/shaders/includes/shadermaterial.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/data/shaders/includes/shadermaterial.glsl -------------------------------------------------------------------------------- /data/shaders/includes/srgbtolinear.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/data/shaders/includes/srgbtolinear.glsl -------------------------------------------------------------------------------- /data/shaders/includes/tonemapping.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/data/shaders/includes/tonemapping.glsl -------------------------------------------------------------------------------- /data/shaders/irradiancecube.frag: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/data/shaders/irradiancecube.frag -------------------------------------------------------------------------------- /data/shaders/irradiancecube.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/data/shaders/irradiancecube.frag.spv -------------------------------------------------------------------------------- /data/shaders/material_pbr.frag: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/data/shaders/material_pbr.frag -------------------------------------------------------------------------------- /data/shaders/material_pbr.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/data/shaders/material_pbr.frag.spv -------------------------------------------------------------------------------- /data/shaders/material_unlit.frag: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/data/shaders/material_unlit.frag -------------------------------------------------------------------------------- /data/shaders/material_unlit.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/data/shaders/material_unlit.frag.spv -------------------------------------------------------------------------------- /data/shaders/pbr.vert: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/data/shaders/pbr.vert -------------------------------------------------------------------------------- /data/shaders/pbr.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/data/shaders/pbr.vert.spv -------------------------------------------------------------------------------- /data/shaders/prefilterenvmap.frag: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/data/shaders/prefilterenvmap.frag -------------------------------------------------------------------------------- /data/shaders/prefilterenvmap.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/data/shaders/prefilterenvmap.frag.spv -------------------------------------------------------------------------------- /data/shaders/skybox.frag: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/data/shaders/skybox.frag -------------------------------------------------------------------------------- /data/shaders/skybox.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/data/shaders/skybox.frag.spv -------------------------------------------------------------------------------- /data/shaders/skybox.vert: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/data/shaders/skybox.vert -------------------------------------------------------------------------------- /data/shaders/skybox.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/data/shaders/skybox.vert.spv -------------------------------------------------------------------------------- /data/shaders/ui.frag: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/data/shaders/ui.frag -------------------------------------------------------------------------------- /data/shaders/ui.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/data/shaders/ui.frag.spv -------------------------------------------------------------------------------- /data/shaders/ui.vert: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/data/shaders/ui.vert -------------------------------------------------------------------------------- /data/shaders/ui.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/data/shaders/ui.vert.spv -------------------------------------------------------------------------------- /data/textures/empty.ktx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/data/textures/empty.ktx -------------------------------------------------------------------------------- /external/basisu/LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/basisu/LICENSE -------------------------------------------------------------------------------- /external/basisu/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/basisu/README.md -------------------------------------------------------------------------------- /external/basisu/transcoder/basisu.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/basisu/transcoder/basisu.h -------------------------------------------------------------------------------- /external/basisu/transcoder/basisu_containers.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/basisu/transcoder/basisu_containers.h -------------------------------------------------------------------------------- /external/basisu/transcoder/basisu_containers_impl.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/basisu/transcoder/basisu_containers_impl.h -------------------------------------------------------------------------------- /external/basisu/transcoder/basisu_file_headers.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/basisu/transcoder/basisu_file_headers.h -------------------------------------------------------------------------------- /external/basisu/transcoder/basisu_transcoder.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/basisu/transcoder/basisu_transcoder.cpp -------------------------------------------------------------------------------- /external/basisu/transcoder/basisu_transcoder.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/basisu/transcoder/basisu_transcoder.h -------------------------------------------------------------------------------- /external/basisu/transcoder/basisu_transcoder_internal.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/basisu/transcoder/basisu_transcoder_internal.h -------------------------------------------------------------------------------- /external/basisu/transcoder/basisu_transcoder_tables_astc.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/basisu/transcoder/basisu_transcoder_tables_astc.inc -------------------------------------------------------------------------------- /external/basisu/transcoder/basisu_transcoder_tables_astc_0_255.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/basisu/transcoder/basisu_transcoder_tables_astc_0_255.inc -------------------------------------------------------------------------------- /external/basisu/transcoder/basisu_transcoder_tables_atc_55.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/basisu/transcoder/basisu_transcoder_tables_atc_55.inc -------------------------------------------------------------------------------- /external/basisu/transcoder/basisu_transcoder_tables_atc_56.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/basisu/transcoder/basisu_transcoder_tables_atc_56.inc -------------------------------------------------------------------------------- /external/basisu/transcoder/basisu_transcoder_tables_bc7_m5_alpha.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/basisu/transcoder/basisu_transcoder_tables_bc7_m5_alpha.inc -------------------------------------------------------------------------------- /external/basisu/transcoder/basisu_transcoder_tables_bc7_m5_color.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/basisu/transcoder/basisu_transcoder_tables_bc7_m5_color.inc -------------------------------------------------------------------------------- /external/basisu/transcoder/basisu_transcoder_tables_dxt1_5.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/basisu/transcoder/basisu_transcoder_tables_dxt1_5.inc -------------------------------------------------------------------------------- /external/basisu/transcoder/basisu_transcoder_tables_dxt1_6.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/basisu/transcoder/basisu_transcoder_tables_dxt1_6.inc -------------------------------------------------------------------------------- /external/basisu/transcoder/basisu_transcoder_tables_pvrtc2_45.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/basisu/transcoder/basisu_transcoder_tables_pvrtc2_45.inc -------------------------------------------------------------------------------- /external/basisu/transcoder/basisu_transcoder_tables_pvrtc2_alpha_33.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/basisu/transcoder/basisu_transcoder_tables_pvrtc2_alpha_33.inc -------------------------------------------------------------------------------- /external/basisu/transcoder/basisu_transcoder_uastc.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/basisu/transcoder/basisu_transcoder_uastc.h -------------------------------------------------------------------------------- /external/basisu/zstd/LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/basisu/zstd/LICENSE -------------------------------------------------------------------------------- /external/basisu/zstd/zstd.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/basisu/zstd/zstd.c -------------------------------------------------------------------------------- /external/basisu/zstd/zstd.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/basisu/zstd/zstd.h -------------------------------------------------------------------------------- /external/basisu/zstd/zstddeclib.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/basisu/zstd/zstddeclib.c -------------------------------------------------------------------------------- /external/draco/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/draco/README.md -------------------------------------------------------------------------------- /external/imgui/LICENSE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/imgui/LICENSE.txt -------------------------------------------------------------------------------- /external/imgui/imconfig.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/imgui/imconfig.h -------------------------------------------------------------------------------- /external/imgui/imgui.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/imgui/imgui.cpp -------------------------------------------------------------------------------- /external/imgui/imgui.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/imgui/imgui.h -------------------------------------------------------------------------------- /external/imgui/imgui_demo.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/imgui/imgui_demo.cpp -------------------------------------------------------------------------------- /external/imgui/imgui_draw.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/imgui/imgui_draw.cpp -------------------------------------------------------------------------------- /external/imgui/imgui_internal.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/imgui/imgui_internal.h -------------------------------------------------------------------------------- /external/imgui/imgui_widgets.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/imgui/imgui_widgets.cpp -------------------------------------------------------------------------------- /external/imgui/imstb_rectpack.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/imgui/imstb_rectpack.h -------------------------------------------------------------------------------- /external/imgui/imstb_textedit.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/imgui/imstb_textedit.h -------------------------------------------------------------------------------- /external/imgui/imstb_truetype.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/imgui/imstb_truetype.h -------------------------------------------------------------------------------- /external/tinygltf/LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/tinygltf/LICENSE -------------------------------------------------------------------------------- /external/tinygltf/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/tinygltf/README.md -------------------------------------------------------------------------------- /external/tinygltf/json.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/tinygltf/json.hpp -------------------------------------------------------------------------------- /external/tinygltf/stb_image.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/tinygltf/stb_image.h -------------------------------------------------------------------------------- /external/tinygltf/tiny_gltf.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/tinygltf/tiny_gltf.h -------------------------------------------------------------------------------- /external/vk_video/vulkan_video_codec_av1std.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/vk_video/vulkan_video_codec_av1std.h -------------------------------------------------------------------------------- /external/vk_video/vulkan_video_codec_av1std_decode.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/vk_video/vulkan_video_codec_av1std_decode.h -------------------------------------------------------------------------------- /external/vk_video/vulkan_video_codec_av1std_encode.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/vk_video/vulkan_video_codec_av1std_encode.h -------------------------------------------------------------------------------- /external/vk_video/vulkan_video_codec_h264std.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/vk_video/vulkan_video_codec_h264std.h -------------------------------------------------------------------------------- /external/vk_video/vulkan_video_codec_h264std_decode.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/vk_video/vulkan_video_codec_h264std_decode.h -------------------------------------------------------------------------------- /external/vk_video/vulkan_video_codec_h264std_encode.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/vk_video/vulkan_video_codec_h264std_encode.h -------------------------------------------------------------------------------- /external/vk_video/vulkan_video_codec_h265std.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/vk_video/vulkan_video_codec_h265std.h -------------------------------------------------------------------------------- /external/vk_video/vulkan_video_codec_h265std_decode.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/vk_video/vulkan_video_codec_h265std_decode.h -------------------------------------------------------------------------------- /external/vk_video/vulkan_video_codec_h265std_encode.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/vk_video/vulkan_video_codec_h265std_encode.h -------------------------------------------------------------------------------- /external/vk_video/vulkan_video_codecs_common.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/vk_video/vulkan_video_codecs_common.h -------------------------------------------------------------------------------- /external/vulkan/vk_platform.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/vulkan/vk_platform.h -------------------------------------------------------------------------------- /external/vulkan/vulkan.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/vulkan/vulkan.h -------------------------------------------------------------------------------- /external/vulkan/vulkan_android.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/vulkan/vulkan_android.h -------------------------------------------------------------------------------- /external/vulkan/vulkan_beta.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/vulkan/vulkan_beta.h -------------------------------------------------------------------------------- /external/vulkan/vulkan_core.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/vulkan/vulkan_core.h -------------------------------------------------------------------------------- /external/vulkan/vulkan_directfb.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/vulkan/vulkan_directfb.h -------------------------------------------------------------------------------- /external/vulkan/vulkan_fuchsia.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/vulkan/vulkan_fuchsia.h -------------------------------------------------------------------------------- /external/vulkan/vulkan_ggp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/vulkan/vulkan_ggp.h -------------------------------------------------------------------------------- /external/vulkan/vulkan_ios.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/vulkan/vulkan_ios.h -------------------------------------------------------------------------------- /external/vulkan/vulkan_macos.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/vulkan/vulkan_macos.h -------------------------------------------------------------------------------- /external/vulkan/vulkan_metal.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/vulkan/vulkan_metal.h -------------------------------------------------------------------------------- /external/vulkan/vulkan_screen.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/vulkan/vulkan_screen.h -------------------------------------------------------------------------------- /external/vulkan/vulkan_vi.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/vulkan/vulkan_vi.h -------------------------------------------------------------------------------- /external/vulkan/vulkan_wayland.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/vulkan/vulkan_wayland.h -------------------------------------------------------------------------------- /external/vulkan/vulkan_win32.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/vulkan/vulkan_win32.h -------------------------------------------------------------------------------- /external/vulkan/vulkan_xcb.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/vulkan/vulkan_xcb.h -------------------------------------------------------------------------------- /external/vulkan/vulkan_xlib.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/vulkan/vulkan_xlib.h -------------------------------------------------------------------------------- /external/vulkan/vulkan_xlib_xrandr.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/external/vulkan/vulkan_xlib_xrandr.h -------------------------------------------------------------------------------- /libs/draco/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/libs/draco/README.md -------------------------------------------------------------------------------- /libs/vulkan/libvulkan.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/libs/vulkan/libvulkan.so -------------------------------------------------------------------------------- /libs/vulkan/vulkan-1.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/libs/vulkan/vulkan-1.lib -------------------------------------------------------------------------------- /screenshots/busterdrone.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/screenshots/busterdrone.jpg -------------------------------------------------------------------------------- /screenshots/damagedhelmet.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/screenshots/damagedhelmet.jpg -------------------------------------------------------------------------------- /screenshots/damagedhelmet_android.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/screenshots/damagedhelmet_android.jpg -------------------------------------------------------------------------------- /screenshots/polly.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/screenshots/polly.jpg -------------------------------------------------------------------------------- /screenshots/tex_brdflut.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/screenshots/tex_brdflut.png -------------------------------------------------------------------------------- /screenshots/tex_envmap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/screenshots/tex_envmap.png -------------------------------------------------------------------------------- /screenshots/tex_irradiance_cube.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/screenshots/tex_irradiance_cube.png -------------------------------------------------------------------------------- /screenshots/tex_prefiltered_cube.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/screenshots/tex_prefiltered_cube.png -------------------------------------------------------------------------------- /screenshots/tex_prefiltered_cube_mipchain_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/screenshots/tex_prefiltered_cube_mipchain_0.png -------------------------------------------------------------------------------- /screenshots/tex_prefiltered_cube_mipchain_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/screenshots/tex_prefiltered_cube_mipchain_1.png -------------------------------------------------------------------------------- /screenshots/tex_prefiltered_cube_mipchain_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/screenshots/tex_prefiltered_cube_mipchain_2.png -------------------------------------------------------------------------------- /screenshots/tex_prefiltered_cube_mipchain_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/screenshots/tex_prefiltered_cube_mipchain_3.png -------------------------------------------------------------------------------- /screenshots/tex_prefiltered_cube_mipchain_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/screenshots/tex_prefiltered_cube_mipchain_4.png -------------------------------------------------------------------------------- /screenshots/tex_prefiltered_cube_mipchain_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/screenshots/tex_prefiltered_cube_mipchain_5.png -------------------------------------------------------------------------------- /screenshots/tex_prefiltered_cube_mipchain_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/screenshots/tex_prefiltered_cube_mipchain_6.png -------------------------------------------------------------------------------- /screenshots/tex_prefiltered_cube_mipchain_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/screenshots/tex_prefiltered_cube_mipchain_7.png -------------------------------------------------------------------------------- /screenshots/tex_prefiltered_cube_mipchain_8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/screenshots/tex_prefiltered_cube_mipchain_8.png -------------------------------------------------------------------------------- /screenshots/tex_prefiltered_cube_mipchain_9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/screenshots/tex_prefiltered_cube_mipchain_9.png -------------------------------------------------------------------------------- /src/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/src/CMakeLists.txt -------------------------------------------------------------------------------- /src/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaschaWillems/Vulkan-glTF-PBR/HEAD/src/main.cpp --------------------------------------------------------------------------------