https://github.com/blueburncz/gmd3d11
D3D11 functions extension for GameMaker
https://github.com/blueburncz/gmd3d11
d3d11 dll extension gamemaker gamemaker-studio-2
Last synced: about 1 month ago
JSON representation
D3D11 functions extension for GameMaker
- Host: GitHub
- URL: https://github.com/blueburncz/gmd3d11
- Owner: blueburncz
- License: cc0-1.0
- Created: 2022-11-29T21:08:42.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2025-12-28T16:32:48.000Z (3 months ago)
- Last Synced: 2025-12-31T06:17:43.105Z (3 months ago)
- Topics: d3d11, dll, extension, gamemaker, gamemaker-studio-2
- Language: Game Maker Language
- Homepage:
- Size: 1.28 MB
- Stars: 28
- Watchers: 3
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# GMD3D11
> D3D11 functions extension for GameMaker
[](LICENSE)
[](https://discord.gg/ep2BGPm)
## Status: Community Project 💙
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.
## Features
* [ ] Shaders
* [x] Compile from file (optimization level 3)
* [x] Save and load compiled shaders
* [x] Hook into `ID3D11DeviceContext::Draw` calls to swap out used vertex and pixel shaders with custom ones
* [x] Vertex
* [x] Pixel
* [x] Geometry
* [ ] Tessellation
* [x] Compute
* [ ] Vertex formats
* [ ] Buffers
* [ ] Vertex
* [ ] Index
* [x] Constant
* [x] Structured (read-only)
* [x] Compute (read/write structured)
* [ ] Append/consume
* [ ] Indirect args
* [ ] Raw
* [ ] Upload (CPU -> GPU)
* [x] Readback (GPU -> CPU)
* [ ] Textures
* [x] `texture_set_stage_vs()` - vertex texture fetching of native GM textures (`sprite_get_texture()`, `surface_get_texture()`)
* [ ] Samplers
* [ ] 2D
* [ ] 3D
* [ ] Arrays
* [ ] Occlusion queries
* [ ] Timestamps
* [x] `vertex_submit_instanced()` - instanced rendering of native GM vertex buffers
## Building the DLL
> Requires [CMake](https://cmake.org/) 3.23 at least and [Python 3](https://www.python.org/downloads/)!
Simply run `./build.ps1` from the root directory to build the DLL, copy it into `datafiles` and generate
`__d3d11_generated.gml`.
## Links
* [Documentation](https://blueburn.cz/gmd3d11/docs) - for the latest release, not the `main` branch!!!
## Credits
* - x64 VMT hook
* - model used in instanced rendering example