#d3d12 #directx #d3d

oxidx

为Rust提供的低级别D3D12包装器

4个版本 (2个重大更改)

0.3.0 2024年8月24日
0.2.2 2024年8月19日
0.1.1 2024年8月6日

#183 in 图形API

Download history 207/week @ 2024-08-03 15/week @ 2024-08-10 296/week @ 2024-08-17

518 每月下载量

MIT 协议

670KB
9K SLoC

包含 (Windows DLL, 59KB) WinPixEventRuntime.dll, (Windows DLL, 59KB) WinPixEventRuntime.dll, (静态库, 7KB) WinPixEventRuntime.lib, (静态库, 7KB) WinPixEventRuntime.lib

oxidx

该项目提供了D3D12 API的低级别绑定/包装器。

功能

  • 提供围绕DirectX 12的低级别API。所有方法都对应于DirectX 12 C++方法,但以Rust方式实现。
  • 基于官方windows crate.
  • 无库/运行时验证,只有驱动程序验证。
  • PIX方法。
  • 已从所有类型中删除D3D12和DXGI前缀。

最低支持的Rust版本

oxidx的MSRV是1.80。

示例

设备创建

let entry = Entry;

let factory: Factory4 = entry.create_factory(FactoryCreationFlags::empty())?;

let adapter = factory.enum_adapters(0)?;

let device: Device = entry
    .create_device(&adapter, FeatureLevel::Level11)
    .unwrap();

功能检索

let mut options = Options1Feature::default();
device.check_feature_support(&mut options)?;

依赖关系

~129MB
~2M SLoC