• jan@cosmigo.com

Ability to add shader scripts on the fly

Just like in shader toy. Users will insert their own shader scripts and let the magic happen on it’s own upon pressing ‘play’ or something of the sort.
It’s just to manipulate what we’re already editing.
For shader animations, it might be appropriate if the additional frames are added and deleted automatically while in preview.

Presets would be nice too.
Like that thing that’s been circulating around in the community - a CRT filter.

I can’t speak for the dev, but I suspect that what you’re describing is well beyond the scope of this project. However, Pro Motion does support custom plugins, so it might be possible to make a plugin that allows Pro Motion to interact with a separate program that does something similar to shader toy (or possibly even shader toy itself, as it appears to be open source). That said, I haven’t looked at the documentation in any depth, so I’m not certain as to how feasible this would be.

@Midnight is right, this is something that ought to be implemented via a plug-in, especially since there are different shader engines and even more shader languages (often game engines implement their own shader language to simplify writing them, e.g. Game Maker, to mention but one).

It’s unlikely that there could a single solution to cover all shader engines, their different versions, and all the shader langs of every game engine. In theory, one could provide a tool supporting different engines and languages (although the latter is more difficult, and there might be trademark issues with patented languages), but it would definitely require a huge maintenance work, which would be a burden if such a tool was natively built into PMNG.

Actually, i was thinking of the same thing while writing the OP. But since I can’t imagine how else to provide the idea of being able to manipulate frames from the shader feature, I figured I maybe should leave it as is.

If plugins are capable of doing all those though, that would be great!

As far as I can remember, this should be doable with current manipulation interface, which uses Windows’ DDE to communicate with PMNG, as in client and server, exchanging information via the clipboard. Since a plugin can access frames, layers, and other project data, I see no reason why a plugin (DLL) shouldn’t be able to render them via a shader engine, almost in real time (i.e. allowing a potential gap if the plugin needs to get updated frames when they have been edited).

The plugin would require to import the shader library to allow previewing the effects, which is why you’ll probably end up with a shader-specific plugin, rather than one plugin-handles-them-all.

Depending on the shader API, and how it abstracts away the complexity of the shader language, the plugin might not be that hard to create. In any case, the actual shaders would be loaded from external source files.