#图形 #包装器 #API #安全包装器 #将会 #光线 #directx-12

redirect

DirectX12 API的轻量级、类型安全包装器

4个版本 (2个破坏性更新)

使用旧的Rust 2015

0.3.0 2017年10月9日
0.2.1 2017年9月27日
0.2.0 2017年6月30日
0.1.0 2017年6月4日

#24 in #将会

Apache-2.0

260KB
5.5K SLoC

redirect

Crates.io

文档

redirect旨在为Rust编程语言提供一个轻量级且类型安全的DirectX12 API包装器。

这是一个仅适用于Windows 10的crate。在其他工具链下使用将不会有任何效果。

为什么要这么做

  • 人们想使用D3D12
  • Win32 API直接使用很丑,我们想要一个Rust的解决方案
  • 包装可以提供更多的类型安全保证

当前状态

大多数核心API已经移植。剩余的主要包括TiledResource、Marker和其他相关内容。redirect现在可以使用来绘制一个三角形!查看./examples/triangle.rs

工作进行中

  • 找出一种更安全地处理资源的方法。 状态:v0.3.0在resource::RawTexture之上引入了一些类型安全的缓冲区/纹理类型。 未来工作:添加更多类型安全的纹理?

接下来是什么

  • 减少顶点定义的样板代码。
  • 找出一种简单的方法来进行根签名和PSO的编译时检查。
  • 重新考虑安全保证。
  • 引入一个更稳固的示例,涵盖更多API用例。

许可证

本项目以MIT许可证和Apache许可证(版本2.0)的条款分发。

请参阅LICENSE-APACHE,LICENSE-MIT获取详细信息。

贡献

除非您明确声明,否则您有意提交的任何贡献,根据Apache-2.0许可证的定义,将如上所述双许可,没有任何附加条款或条件。

依赖项

~585KB