1. Hey! Guest! The 36th GMC Jam will take place between February 27th, 12:00 UTC - March 2nd, 12:00 UTC. Why not join in! Click here to find out more!
    Dismiss Notice
  2. NOTICE: We will be applying a Xenforo update on Tuesday 25th of February. This means that from approximately 10:00 to 14:00 BST the forums will be offline (or possibly longer). Sorry for the inconvenience! Official Announcement here.

Job Offer - Programmer [Closed] [Paid] Looking for a programmer to port GMS1+DX9 native extension to GMS2+DX11

Discussion in 'Collaboration' started by YellowAfterlife, Nov 18, 2019.

Thread Status:
Not open for further replies.
  1. YellowAfterlife

    YellowAfterlife ᴏɴʟɪɴᴇ ᴍᴜʟᴛɪᴘʟᴀʏᴇʀ Forum Staff Moderator

    Joined:
    Apr 21, 2016
    Posts:
    2,509
    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:
    • 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.
    What I need:
    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)
    Proposed timeline:
    1. Get in touch via PM or email (yellowafterlife@hotmail.com) with your proposed payment terms.
      Discuss details, get the existing source code if you need it.
    2. 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.
    3. Develop the rest of the features, present a demo, receive the other half of the payment, provide the source files.
    Payment: to be discussed; via PayPal, wire transfer (SWIFT/IBAN), or VISA QIWI.

    Qualifications: As you might expect, this requires experience with D3D11 / graphics pipeline debugging.
     
    Last edited: Nov 19, 2019
  2. YellowAfterlife

    YellowAfterlife ᴏɴʟɪɴᴇ ᴍᴜʟᴛɪᴘʟᴀʏᴇʀ Forum Staff Moderator

    Joined:
    Apr 21, 2016
    Posts:
    2,509
    There were no applicants, but I wanted to note that I was eventually able to finish this myself with some help and advice from @SweetCelestia on D3D11 matters.
     
Thread Status:
Not open for further replies.

Share This Page