I have a custom DLL that vaguely matches a subset of Dragon47's Graphics Utilities DLL to dynamically load/unload HLSL9 shaders. I have been unsuccessfully trying to get it to work on GMS2, and the author of GU is unfortunately unavailable for work right now, so I'm looking for someone qualified to aid with this.
What I have:
A GMS2/D3D11 DLL that allows to load shaders in HLSL9, HLSL11, or GLSL format (whichever the easiest), unload them, and perform general expected operations (applying, setting uniforms/texture stages). The current API should be relatively telling:
Proposed timeline:
Qualifications: As you might expect, this requires experience with D3D11 / graphics pipeline debugging.
What I have:
- The C++ source code for GMS1/D3D9 version.
This works perfectly fine. - The C++ source code for GMS2/D3D11 version so far.
This compiles shaders fine (and performs necessary error handling), but fails to apply them (game continues to draw as usual);
I have made a separate version that applies the shader through a function hook, and this does work, but still requires additional development time (and more hooks). I would like to avoid this approach, if possible.
A GMS2/D3D11 DLL that allows to load shaders in HLSL9, HLSL11, or GLSL format (whichever the easiest), unload them, and perform general expected operations (applying, setting uniforms/texture stages). The current API should be relatively telling:
Code:
gu_shader_create(vertex_code, fragment_code)->index
gu_shader_destroy(index)
gu_shader_set(index)
gu_shader_set_fragment_constant_b(start_register, items)
gu_shader_set_fragment_constant_f(start_register, items)
gu_shader_set_fragment_constant_i(start_register, items)
gu_shader_set_vertex_constant_b(start_register, items)
gu_shader_set_vertex_constant_f(start_register, items)
gu_shader_set_vertex_constant_i(start_register, items)
- Get in touch via PM or email ([email protected]) with your proposed payment terms.
Discuss details, get the existing source code if you need it. - Develop and present a very barebones prototype (loading a fragment shader from a string and applying it with predefined uniforms), receive half of the payment.
- Develop the rest of the features, present a demo, receive the other half of the payment, provide the source files.
Qualifications: As you might expect, this requires experience with D3D11 / graphics pipeline debugging.
Last edited: