Home

Awesome

vulkan-tutorial-rust

Build Status LICENSE

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_numberCodeReferenceNote
0000_base_code.rsLink
0101_instance_creation.rsLink
0202_validation_layers.rsLink
0303_physical_device_selection.rsLink
0404_logical_device.rsLink
0505_window_surface.rsLink
0606_swap_chain_creation.rsLink
0707_image_view.rsLink
0808_graphics_pipeline.rsLink
0909_shader_modules.rsLink
1010_fixed_functions.rsLink
1111_render_passes.rsLink
1212_graphics_pipeline_complete.rsLink
1313_framebuffers.rsLink
1414_command_buffers.rsLink
1515_hello_triangle.rsLink
1616_swap_chain_recreation.rsLink
1717_vertex_input.rsLinkThe Validation Layer will complain. This example may crash on Windows.
1818_vertex_buffer.rsLink
1919_staging_buffer.rsLink
2020_index_buffer.rsLink
2121_descriptor_layout.rsLinkThe Validation Layer will complain.
2222_descriptor_sets.rsLink
2323_texture_image.rsLink
2424_sampler.rsLink
2525_texture_mapping.rsLink
2626_depth_buffering.rsLink
2727_model_loading.rsLinkTest this example in release mode.
2828_mipmapping.rsLinkTest this example in release mode.
2929_multisampling.rsLinkTest this example in release mode.

example usage

$ cargo run --bin 00

Snapshot

All snapshots

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++