D3D11 functions extension for GameMaker
This is a community-developed project, released under CC0 1.0 Universal (Public Domain). It is no longer actively maintained by the original author. Feel free to fork, modify, or experiment.
- Shaders
- Compile from file (optimization level 3)
- Save and load compiled shaders
- Hook into
ID3D11DeviceContext::Drawcalls to swap out used vertex and pixel shaders with custom ones - Vertex
- Pixel
- Geometry
- Tessellation
- Compute
- Vertex formats
- Buffers
- Vertex
- Index
- Constant
- Structured (read-only)
- Compute (read/write structured)
- Append/consume
- Indirect args
- Raw
- Upload (CPU -> GPU)
- Readback (GPU -> CPU)
- Textures
-
texture_set_stage_vs()- vertex texture fetching of native GM textures (sprite_get_texture(),surface_get_texture()) - Samplers
- 2D
- 3D
- Arrays
-
- Occlusion queries
- Timestamps
-
vertex_submit_instanced()- instanced rendering of native GM vertex buffers
Simply run ./build.ps1 from the root directory to build the DLL, copy it into datafiles and generate
__d3d11_generated.gml.
- Documentation - for the latest release, not the
mainbranch!!!
- https://github.com/ParinovYT/cVmtHook-x64 - x64 VMT hook
- https://polyhaven.com/a/rubber_duck_toy - model used in instanced rendering example