DEVELOPMENT OF DIRECT3D 12 GRAPHICS API BINDINGS LIBRARY FOR RUST
Keywords:
Direct3D 12, Rust, graphics APIsAbstract
Nowadays C++ and, to a lesser extent, C programming languages vastly dominate the area of graphics programming. As a result, modern graphics APIs are tailored for interacting with these languages only, which makes development in other programming languages difficult or impossible. The article examines the development of Direct3D 12 API bindings for Rust, highlights the main issues this project aims to resolve, evaluates the approaches to building more idiomatic APIs, and provides library usage examples.
References
d3d12-rs / crates.io: Rust Package Registry. URL: https://crates.io/crates/d3d12
winapi / crates.io: Rust Package Registry. URL: https://crates.io/crates/winapi
rust-bindgen / Github. URL: https://github.com/rust-lang/rust-bindgen
Dragon / The Stanford 3D Scanning Repository. URL: http://graphics.stanford.edu/data/3Dscanrep/
The Component Object Model / Windows App Development. URL: https://docs.microsoft.com/enus/windows/win32/com/the-component-object-model
Getting Started with the Agility SDK / DirectX Developer Blog. URL: https://devblogs.microsoft.com/directx/gettingstarteddx12agility/
DirectX-Graphics-Samples / Github. URL: https://github.com/microsoft/directx-graphics-samples
Downloads
Published
Issue
Section
License
This work is licensed under a Creative Commons Attribution-NoDerivatives 4.0 International License.
CC BY-ND
A work licensed in this way allows the following:
1. The freedom to use and perform the work: The licensee must be allowed to make any use, private or public, of the work.
2. The freedom to study the work and apply the information: The licensee must be allowed to examine the work and to use the knowledge gained from the work in any way. The license may not, for example, restrict "reverse engineering."
2. The freedom to redistribute copies: Copies may be sold, swapped or given away for free, in the same form as the original.