There has been a thread for this over 2 years ago (https://my.aximmetry.com/post/2344-feature-request-support-for-native-glsl) , now I am here to bump this subject.
It would be extremely useful to be able to import GLSL (or HLSL, although I'd prefer the open standard).
My main goal with this is being able to use simple post process shaders for filters / effects, etc.
The ideal way it would work would be dragging the file into the compound and then besides basic controls (Like resolution) would have a VideoIn and VideoOut pins.
Thanks!
Hi,
I bumped the original request in our internal database based on your request.
There is already a way to use shaders as post-process shaders with the Custom Processor module. You can find more information here: https://aximmetry.com/learn/tutorials/for-content-creators/shader-categories-and-naming-convention/#post-processing
You can expose data pins, such as video pins, from the shader into the Flow Editor while editing the shader with Aximmetry's built-in shader editor. This allows you to easily provide the current resolution to the shader using a System Params module in the Flow Editor. If you’re interested, I can show you how to expose pins and how to create post-process shaders with Aximmetry's shader editor.
Note that with some effort, you can import HLSL code, because when you import an Aximmetry shader file into a compound, it generates a .xshad.ximp file. This file contains the final HLSL shader code, and you can insert additional HLSL code into it. However, if you reimport or modify the shader (.xshad), it will overwrite the .xshad.ximp file. Also, a basic knowledge of Aximmetry's shader editor variables and modules is probably needed to correctly edit the .xshad.ximp file and insert HLSL code appropriately.
Plus, probably you can use language learning models like ChatGPT to convert GLSL into HLSL.
Warmest regards,