[ANSWERED] Convert ISF to GLSL Shader manually
I found the MacOS command line utility (https://community.troikatronix.com/topic/6652/step-by-step-instructions-convert-isf-shaders-to-isadora-glsl) which converts isf format shaders so they can be run inside an Isadora GLSL Shader actor, but it won't run in Ventura because of security (even under sudo which honestly I'm not keen on doing anyway).
What I couldn't find was any details on what the utility is doing behind the scenes. Presumably just a bit of rewriting by changing the names of the input/output parameters and maybe renaming the required uniforms (iTime etc.) Does anyone know what the required changes are? I'm happy to do it manually, it's not the worst way to learn a new technology.
mark last edited by mark
Here's an updated version of the converter. The Mac version is code-signed and notarized so it will work on recent macOS systems like Ventura. You will need to run an installer to install the command line app on macOS; please read the instructions.
@mark Thank you, that's great, I'll try it. BTW what happened to the other reply? That was helpful too, I got a couple things working from it, it might help others.
While we're here is there any documentation on Isadora's GLSL implementation in general? I haven't been able to find much beyond that basic one-page tutorial. I'm seeing a lot of weird things, for example "iTime" is seemingly exposed in many of the working shaders I have seen but when I try to use it myself it throws errors. I'd love to see, comprehensively, what's exposed, what's expected, and so on. Even things like main() vs. mainImage(out, in) - I'm learning GLSL at the same time so I know some of it is general ignorance, but there's absolutely some magic behind the scenes in the GLSL Actor which is slowing me down.
Actually... this converter works so well the trick might be just to work in ISF land and convert, worry about the details later. It'd be nice to have some more documentation so if it exists I'll take it, but I can make progress now. Thanks again.