vulkan-tutorial-rust
vulkan-tutorial-rust copied to clipboard
Following the vulkan tutorial(https://vulkan-tutorial.com/) using the Rust programming language.
vulkan-tutorial-rust
A Rust implementation of the Vulkan Tutorial based on ash crate.
Status
The environment configuration is same as ash. See here for more detail.
Vulkan is quite hard. All examples on official website have been finished. :beers:
Usage
Enter the project root directory, download the assets by the python3 script:
vulkan-tutorial-rust$ python download_asset.py
Run any example with the following command:
$ cargo run --bin example_number
Here replace example_number with option in the following table:
| example_number | Code | Reference | Note |
|---|---|---|---|
| 00 | 00_base_code.rs | Link | |
| 01 | 01_instance_creation.rs | Link | |
| 02 | 02_validation_layers.rs | Link | |
| 03 | 03_physical_device_selection.rs | Link | |
| 04 | 04_logical_device.rs | Link | |
| 05 | 05_window_surface.rs | Link | |
| 06 | 06_swap_chain_creation.rs | Link | |
| 07 | 07_image_view.rs | Link | |
| 08 | 08_graphics_pipeline.rs | Link | |
| 09 | 09_shader_modules.rs | Link | |
| 10 | 10_fixed_functions.rs | Link | |
| 11 | 11_render_passes.rs | Link | |
| 12 | 12_graphics_pipeline_complete.rs | Link | |
| 13 | 13_framebuffers.rs | Link | |
| 14 | 14_command_buffers.rs | Link | |
| 15 | 15_hello_triangle.rs | Link | |
| 16 | 16_swap_chain_recreation.rs | Link | |
| 17 | 17_vertex_input.rs | Link | The Validation Layer will complain. This example may crash on Windows. |
| 18 | 18_vertex_buffer.rs | Link | |
| 19 | 19_staging_buffer.rs | Link | |
| 20 | 20_index_buffer.rs | Link | |
| 21 | 21_descriptor_layout.rs | Link | The Validation Layer will complain. |
| 22 | 22_descriptor_sets.rs | Link | |
| 23 | 23_texture_image.rs | Link | |
| 24 | 24_sampler.rs | Link | |
| 25 | 25_texture_mapping.rs | Link | |
| 26 | 26_depth_buffering.rs | Link | |
| 27 | 27_model_loading.rs | Link | Test this example in release mode. |
| 28 | 28_mipmapping.rs | Link | Test this example in release mode. |
| 29 | 29_multisampling.rs | Link | Test this example in release mode. |
example usage
$ cargo run --bin 00
Snapshot

See also
bwasty/vulkan-tutorial-rs — another Rust implementation using Vulkano
adrien-ben/vulkan-tutorial-rs — another Rust implementation with some more custom chapters.
KhronosGroup/Vulkan-samples — Offical examples from KhronosGroup
SaschaWillems/Vulkan — More examples in C++