ID:2422859
 
Applies to:DM Language
Status: Open

Issue hasn't been assigned a status value.
Filters are absolutely bloody amazing. They offer a significant amount of control over a project's graphical fidelity that was previously impossible, with graphical features like fake AO, per-object motion blur, and fake chromatic aberration being made more than trivial to implement. However, as fantastic as filters are, they currently have a limitation that's clear as day: They're restricted to a small list of specific pre-defined shaders. This means that there's still numerous effects that either cannot be done with BYOND or must be done the old-fashioned way.

So this is where the "lummox pls add feature" comes in. It'd be amazing if filters supported the ability to define arbitrary HLSL shaders instead of the current pre-defined shaders. While this would have a couple of limitations due to BYOND using DirectX9 (DX9 lacks compute shader support, making specific edge cases pretty hard to actually pull off in a way that doesn't affect performance), this would still offer a level of flexibility that filters currently lack.

Ideally, passing an HLSL shader to a filter would be fairly simple, and would ideally look something like this:
filter(file = 'shaders/genericlibrary.hlsl', type = "generictechniquenamegoeshere", arbitraryparam = 0.3)


I'm not sure how hard it would be to implement, but it would be a fantastic way to put the graphical fidelity of BYOND projects into the hands of the developers behind them, while also letting the current library of existing shaders continue to exist for those that don't want to learn HLSL.