I’m not a programmer, so I’ve come up when I started working with ISFs, with a trick to convert Shadertoys to ISFs and create the essential “INPUT'S”. Without Inputs it make’s no sens for us as VJs and so. It’s based on just testing out intuitive and a bit of chance, but over time you notice where you can influence witch things. And som shadertoycoders like “evvvil” make a lot of comments in the codes so you can see what is the rigt place to do a input for that or this. & I’m currently only creating “floats”, which makes sense because you can address a lot of things with this type. So here’s my tutorial in this sense:
So u like to go from Shadertoys to ISFs for realtimeVideoApps do this:
After import & compiling Shadertoys by use the free “desktop ISF-Editorto” from VIDVOX (ISF 3) ad Input’s for realtime video programms like Resolume Arena oder VIDVOX’s VDMX5, by a easy trick:
Go haffe a look in the JsonBlup in the Codestart & ad just after according to what is written “INPUT”: [
1.) press “Enter” for a new line
2.) ad this:
{
“DEFAULT”: 0.40,
“MAX”: 1.00,
“MIN”: -1.00,
“NAME”: “yourjoice”,
“TYPE”: “float”
},
3.) go in the ISF code lookout intuitive for a number and check in the pictureoutput (viewer) what hapens if you changes this a bit. As a example:
``
np.xz+=cos(p.y*.4÷1.5);
changes the “.4” to “.6” or “-.4”
& if u see this givs a intressting change in the picturoutput so you’ve found what you’re looking for (a intresting option for realtime operation in your performance) and can replace the number with the input name above in normal brackets, which then looks like this:
np.xz+=cos(p.y*(yourjoice)÷1.5)
``
The Input-Name is up to you bud mast be in lowercase letters.
The MIN & MAX defined the fader range in your realtime programm & the DEFAULT is best to teak the original number witch you wad replace, in the example .4 what is 0.40 the 0. is often not to se in the shadercodes just the “.” so you know its 0.40.
All of that works just for “flots” but not just onenumbers too for numbers with a “.” and so mutch as you like numbers behind of it.
If you like to build more Inputs for more options (Faders) in your realtime video App just copy moore of “2.)” and replace it with other names for the next number, and so, and so.
So I hope I was helpful, have god codings and see you, bennoH.🐼 & 🐿️🐿️🐿️🐿️
& Some interesting Links for this topic:
〽️
ISF Desktop-Editor (free of charge) :
https://isf.vidvox.net/desktop-editor/
It's the ideal tool for converting shader toys to ISFs, or means to importing them. However, if you have Wire, it's better to use the text editor in Wire to adapt ISFs, as it reacts immediately to code changes and displays them accordingly in the output window without you having to save first. But this also means, however, that any code changes are immediately reflected in the resources folder and the corresponding ISF of the Wire patch. The text editor allows "undu's" if you notice incorrect or accidental changes early enough when working on ISFs in Wire. The "ISF Desktop-Editor", on the other hand, offers advanced coder tools that can significantly speed up programming, such as automatically creating input prefixes, etc. I personally always use the text editor in Wire to edit and adapt ISFs, and to test or import the ISF desktop editor! However, if you want to use ISF under WEB-GL or at/in the ISF platform, it makes more sense to work directly on the ISF platform in the online editor via internet. This is because Web-GL is slightly different from OpenGL, and a few little things can't be implemented online.
〽️
VIDVOX-ISF Doc / Adding Inputs to ISFs:
https://docs.isf.video/quickstart.html# ... -controls/
〽️
Detailed Doc of the ISF J Son Blob and moore:
https://docs.isf.video/primer_chapter_2.html/
〽️
pur Youtubes:
〽️
A good tutorial that explains how to use ISFs in Wire in general:
〽️
〽️
〽️
Here are a couple of last tips for this topic now:
Always try to get the “ISF Deksktop Editor” from VIDVOX first by using the web address of the shadertoy post and the main menu item “import from shadertoy” in the ISF-Desktopeditor. If you get error messages like “iChanals” or “iMouse” things cannot be transferred or only black is visible on the desktop editor’s output viewer, leave this Shadertoy and look for another one. You can also click away error messages and see what works, sometimes especially with only iMouse or pure audio channels as iChanals the ISF still works and run. & I simply delete audio iChanals in the ISF code. But for the time being I would not bother with such complex manual corrections and in such cases simply look for another cool Shadertoy to work with & create the “float” inputs there, because you have to create all of these inputs by hand and you should concentrate on that first with my method, because this leads to very quick, useful successes and motivates.
Over time you will see again and again how code elements such as an X rotation or a zoom are built so U start to learn coding by others and the best thing to do next is to learn some other type of inputs apart from the ones shown (float’s). Get to know “COLOR” and try out the FragColor synthaxes or other types.
I can also highly recommend the ISF adaptation using ChatGPT from OpnAI, where I've had very good experiences. So far, I've only used the free version. If you like the results, why not subscribe later and upgrade to the Pro version with more options like image input in addition to text prompts, etc.
But I strongly advise against other paid or other AIs, such as the newly released Cursor AI. You should mostly make the adjustments yourself, and if there are too many problems, use ChatGPT's help. This is also an ecological issue, as these AIs consume a lot of power, and this consumption increases with each request!
I hope we see some Arena-Plugins or WirePatches for free with integratet ISF's as a contributions from yours here to next, which I and we all would of course be very happy about.
Best greetings & wishes bennoH.🐼 & 4x🐿️
_Free and modified from my original post in the VIDVOX forum:
https://discourse.vidvox.net/t/2-new-isfs-for-you/2312/
&
I have also published this here in connection with my post on creating mixers in Wire using ISFs:
viewtopic.php?p=103126#p103126/_
Discussion (1)
Super post !!