Skip to content
MaulingMonkey edited this page Oct 9, 2022 · 11 revisions

Targeted

mod api description
d3d9 Direct3D 9 Older 3D Graphics (Mid Level, XP+)
xinput XInput Xbox 360 style controller/gamepad input
d3d::Compiler d3dcompiler_NN.dll HLSL Shader Model 5/earlier Compiler for Direct3D 9/10/11
xaudio2 xaudio2_9.dll XAudio2 sound APIs

Not Yet Implemented

mod api description
d3d11 Direct3D 11 Modern 3D Graphics (Mid Level, Vista SP2+)
d3d12 Direct3D 12 Modern 3D Graphics (Low Level)
dxgi DXGI Modern 3D Graphics Setup
dinput DirectInput "Deprecated", but the only(?) way to access windows calibration/deadzones?
dxcompiler DirectX Shader Compiler HLSL Shader Model 6+ Compiler for Direct3D 12
Lower Priority:
uwp::input? Windows.Gaming.Input Xbox One style controller/gamepad input
dsound? DirectSound XInput headset interop?
dwrite? DirectWrite Alternatives: many (Uniscribe?)
dxr?
xact3?
d2d? Direct2D Prefer straight up Direct3D? Or GDI?
dcompute? DirectCompute I have no need for GPGPU honestly

Out of Scope

Direct3D 10

Prefer Direct3D 11:

  • Available on all the same OSes / platforms (at least with service packs)
  • Feature levels can target the same hardware
  • Safer refcounting semantics
  • Extended API

D3DX

Prefer rust stuff:

  • D3DX is "deprecated" / excluded from windows sdk (can't even link d3dx9.lib without pulling in e.g. the DirectX SDK that hasn't been updated in over a decade)
  • Banned on some targets (windows store, xb1?)
  • File format parsers in C++ just seems like a security issue (although cargo package spam is also a supply chain security issue?)

DirectDraw

Prefer Direct2D or Direct3D

  • Not old, rotting, and deprecated

DirectPlay

Prefer native (UDP?) socket APIs and perhaps SteamWorks or other store vendor specific API for matchmaking, nat punchthrough, ...?

XAudio 1

Prefer XAudio 2:

  • Exists, unlike XAudio 1?
Clone this wiki locally