├── .gitignore ├── Cargo.toml ├── LICENSE ├── README.md ├── assets ├── .gitignore ├── android.png ├── apple.png ├── linux.png ├── vulkan.png └── windows.png ├── azure-pipelines.yml ├── ci ├── azure-install-rust.yml └── azure-steps.yml ├── download_asset.py ├── shaders ├── spv │ ├── 09-shader-base.frag.spv │ ├── 09-shader-base.vert.spv │ ├── 17-shader-vertexbuffer.frag.spv │ ├── 17-shader-vertexbuffer.vert.spv │ ├── 21-shader-ubo.frag.spv │ ├── 21-shader-ubo.vert.spv │ ├── 25-shader-textures.frag.spv │ ├── 25-shader-textures.vert.spv │ ├── 26-shader-depth.frag.spv │ └── 26-shader-depth.vert.spv └── src │ ├── 09-shader-base.frag │ ├── 09-shader-base.vert │ ├── 17-shader-vertexbuffer.frag │ ├── 17-shader-vertexbuffer.vert │ ├── 21-shader-ubo.frag │ ├── 21-shader-ubo.vert │ ├── 25-shader-textures.frag │ ├── 25-shader-textures.vert │ ├── 26-shader-depth.frag │ └── 26-shader-depth.vert ├── snapshot ├── 16-swapchain-recreation.png ├── 18-vertex-buffer.png ├── 20-index-buffer.png ├── 22-descriptor-sets.png ├── 25-texture-mapping.png ├── 29-multi-sampling.png ├── CombineImage.shadron └── snapshot_all.png └── src ├── lib.rs ├── tutorials ├── 00_base_code.rs ├── 01_instance_creation.rs ├── 02_validation_layers.rs ├── 03_physical_device_selection.rs ├── 04_logical_device.rs ├── 05_window_surface.rs ├── 06_swap_chain_creation.rs ├── 07_image_view.rs ├── 08_graphics_pipeline.rs ├── 09_shader_modules.rs ├── 10_fixed_functions.rs ├── 11_render_passes.rs ├── 12_graphics_pipeline_complete.rs ├── 13_framebuffers.rs ├── 14_command_buffers.rs ├── 15_hello_triangle.rs ├── 16_swap_chain_recreation.rs ├── 17_vertex_input.rs ├── 18_vertex_buffer.rs ├── 19_staging_buffer.rs ├── 20_index_buffer.rs ├── 21_descriptor_layout.rs ├── 22_descriptor_sets.rs ├── 23_texture_image.rs ├── 24_sampler.rs ├── 25_texture_mapping.rs ├── 26_depth_buffering.rs ├── 27_model_loading.rs ├── 28_mipmapping.rs └── 29_multisampling.rs └── utility ├── constants.rs ├── debug.rs ├── fps_limiter.rs ├── mod.rs ├── platforms.rs ├── share ├── mod.rs ├── v1.rs └── v2.rs ├── structures.rs ├── tools.rs └── window.rs /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/.gitignore -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/Cargo.toml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/README.md -------------------------------------------------------------------------------- /assets/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/assets/.gitignore -------------------------------------------------------------------------------- /assets/android.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/assets/android.png -------------------------------------------------------------------------------- /assets/apple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/assets/apple.png -------------------------------------------------------------------------------- /assets/linux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/assets/linux.png -------------------------------------------------------------------------------- /assets/vulkan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/assets/vulkan.png -------------------------------------------------------------------------------- /assets/windows.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/assets/windows.png -------------------------------------------------------------------------------- /azure-pipelines.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/azure-pipelines.yml -------------------------------------------------------------------------------- /ci/azure-install-rust.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/ci/azure-install-rust.yml -------------------------------------------------------------------------------- /ci/azure-steps.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/ci/azure-steps.yml -------------------------------------------------------------------------------- /download_asset.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/download_asset.py -------------------------------------------------------------------------------- /shaders/spv/09-shader-base.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/shaders/spv/09-shader-base.frag.spv -------------------------------------------------------------------------------- /shaders/spv/09-shader-base.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/shaders/spv/09-shader-base.vert.spv -------------------------------------------------------------------------------- /shaders/spv/17-shader-vertexbuffer.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/shaders/spv/17-shader-vertexbuffer.frag.spv -------------------------------------------------------------------------------- /shaders/spv/17-shader-vertexbuffer.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/shaders/spv/17-shader-vertexbuffer.vert.spv -------------------------------------------------------------------------------- /shaders/spv/21-shader-ubo.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/shaders/spv/21-shader-ubo.frag.spv -------------------------------------------------------------------------------- /shaders/spv/21-shader-ubo.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/shaders/spv/21-shader-ubo.vert.spv -------------------------------------------------------------------------------- /shaders/spv/25-shader-textures.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/shaders/spv/25-shader-textures.frag.spv -------------------------------------------------------------------------------- /shaders/spv/25-shader-textures.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/shaders/spv/25-shader-textures.vert.spv -------------------------------------------------------------------------------- /shaders/spv/26-shader-depth.frag.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/shaders/spv/26-shader-depth.frag.spv -------------------------------------------------------------------------------- /shaders/spv/26-shader-depth.vert.spv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/shaders/spv/26-shader-depth.vert.spv -------------------------------------------------------------------------------- /shaders/src/09-shader-base.frag: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/shaders/src/09-shader-base.frag -------------------------------------------------------------------------------- /shaders/src/09-shader-base.vert: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/shaders/src/09-shader-base.vert -------------------------------------------------------------------------------- /shaders/src/17-shader-vertexbuffer.frag: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/shaders/src/17-shader-vertexbuffer.frag -------------------------------------------------------------------------------- /shaders/src/17-shader-vertexbuffer.vert: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/shaders/src/17-shader-vertexbuffer.vert -------------------------------------------------------------------------------- /shaders/src/21-shader-ubo.frag: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/shaders/src/21-shader-ubo.frag -------------------------------------------------------------------------------- /shaders/src/21-shader-ubo.vert: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/shaders/src/21-shader-ubo.vert -------------------------------------------------------------------------------- /shaders/src/25-shader-textures.frag: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/shaders/src/25-shader-textures.frag -------------------------------------------------------------------------------- /shaders/src/25-shader-textures.vert: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/shaders/src/25-shader-textures.vert -------------------------------------------------------------------------------- /shaders/src/26-shader-depth.frag: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/shaders/src/26-shader-depth.frag -------------------------------------------------------------------------------- /shaders/src/26-shader-depth.vert: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/shaders/src/26-shader-depth.vert -------------------------------------------------------------------------------- /snapshot/16-swapchain-recreation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/snapshot/16-swapchain-recreation.png -------------------------------------------------------------------------------- /snapshot/18-vertex-buffer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/snapshot/18-vertex-buffer.png -------------------------------------------------------------------------------- /snapshot/20-index-buffer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/snapshot/20-index-buffer.png -------------------------------------------------------------------------------- /snapshot/22-descriptor-sets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/snapshot/22-descriptor-sets.png -------------------------------------------------------------------------------- /snapshot/25-texture-mapping.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/snapshot/25-texture-mapping.png -------------------------------------------------------------------------------- /snapshot/29-multi-sampling.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/snapshot/29-multi-sampling.png -------------------------------------------------------------------------------- /snapshot/CombineImage.shadron: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/snapshot/CombineImage.shadron -------------------------------------------------------------------------------- /snapshot/snapshot_all.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/snapshot/snapshot_all.png -------------------------------------------------------------------------------- /src/lib.rs: -------------------------------------------------------------------------------- 1 | pub mod utility; 2 | -------------------------------------------------------------------------------- /src/tutorials/00_base_code.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/src/tutorials/00_base_code.rs -------------------------------------------------------------------------------- /src/tutorials/01_instance_creation.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/src/tutorials/01_instance_creation.rs -------------------------------------------------------------------------------- /src/tutorials/02_validation_layers.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/src/tutorials/02_validation_layers.rs -------------------------------------------------------------------------------- /src/tutorials/03_physical_device_selection.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/src/tutorials/03_physical_device_selection.rs -------------------------------------------------------------------------------- /src/tutorials/04_logical_device.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/src/tutorials/04_logical_device.rs -------------------------------------------------------------------------------- /src/tutorials/05_window_surface.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/src/tutorials/05_window_surface.rs -------------------------------------------------------------------------------- /src/tutorials/06_swap_chain_creation.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/src/tutorials/06_swap_chain_creation.rs -------------------------------------------------------------------------------- /src/tutorials/07_image_view.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/src/tutorials/07_image_view.rs -------------------------------------------------------------------------------- /src/tutorials/08_graphics_pipeline.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/src/tutorials/08_graphics_pipeline.rs -------------------------------------------------------------------------------- /src/tutorials/09_shader_modules.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/src/tutorials/09_shader_modules.rs -------------------------------------------------------------------------------- /src/tutorials/10_fixed_functions.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/src/tutorials/10_fixed_functions.rs -------------------------------------------------------------------------------- /src/tutorials/11_render_passes.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/src/tutorials/11_render_passes.rs -------------------------------------------------------------------------------- /src/tutorials/12_graphics_pipeline_complete.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/src/tutorials/12_graphics_pipeline_complete.rs -------------------------------------------------------------------------------- /src/tutorials/13_framebuffers.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/src/tutorials/13_framebuffers.rs -------------------------------------------------------------------------------- /src/tutorials/14_command_buffers.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/src/tutorials/14_command_buffers.rs -------------------------------------------------------------------------------- /src/tutorials/15_hello_triangle.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/src/tutorials/15_hello_triangle.rs -------------------------------------------------------------------------------- /src/tutorials/16_swap_chain_recreation.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/src/tutorials/16_swap_chain_recreation.rs -------------------------------------------------------------------------------- /src/tutorials/17_vertex_input.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/src/tutorials/17_vertex_input.rs -------------------------------------------------------------------------------- /src/tutorials/18_vertex_buffer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/src/tutorials/18_vertex_buffer.rs -------------------------------------------------------------------------------- /src/tutorials/19_staging_buffer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/src/tutorials/19_staging_buffer.rs -------------------------------------------------------------------------------- /src/tutorials/20_index_buffer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/src/tutorials/20_index_buffer.rs -------------------------------------------------------------------------------- /src/tutorials/21_descriptor_layout.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/src/tutorials/21_descriptor_layout.rs -------------------------------------------------------------------------------- /src/tutorials/22_descriptor_sets.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/src/tutorials/22_descriptor_sets.rs -------------------------------------------------------------------------------- /src/tutorials/23_texture_image.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/src/tutorials/23_texture_image.rs -------------------------------------------------------------------------------- /src/tutorials/24_sampler.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/src/tutorials/24_sampler.rs -------------------------------------------------------------------------------- /src/tutorials/25_texture_mapping.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/src/tutorials/25_texture_mapping.rs -------------------------------------------------------------------------------- /src/tutorials/26_depth_buffering.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/src/tutorials/26_depth_buffering.rs -------------------------------------------------------------------------------- /src/tutorials/27_model_loading.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/src/tutorials/27_model_loading.rs -------------------------------------------------------------------------------- /src/tutorials/28_mipmapping.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/src/tutorials/28_mipmapping.rs -------------------------------------------------------------------------------- /src/tutorials/29_multisampling.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/src/tutorials/29_multisampling.rs -------------------------------------------------------------------------------- /src/utility/constants.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/src/utility/constants.rs -------------------------------------------------------------------------------- /src/utility/debug.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/src/utility/debug.rs -------------------------------------------------------------------------------- /src/utility/fps_limiter.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/src/utility/fps_limiter.rs -------------------------------------------------------------------------------- /src/utility/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/src/utility/mod.rs -------------------------------------------------------------------------------- /src/utility/platforms.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/src/utility/platforms.rs -------------------------------------------------------------------------------- /src/utility/share/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/src/utility/share/mod.rs -------------------------------------------------------------------------------- /src/utility/share/v1.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/src/utility/share/v1.rs -------------------------------------------------------------------------------- /src/utility/share/v2.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/src/utility/share/v2.rs -------------------------------------------------------------------------------- /src/utility/structures.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/src/utility/structures.rs -------------------------------------------------------------------------------- /src/utility/tools.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/src/utility/tools.rs -------------------------------------------------------------------------------- /src/utility/window.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknownue/vulkan-tutorial-rust/HEAD/src/utility/window.rs --------------------------------------------------------------------------------