Not being a programmer but enjoying thinking up ideas I have found this Matthew Lynch Chat GPT ISF quite addictive and very instructive - all the comments and trouble shooting are like lessons … ONE thing that this program comes up with a lot is trouble with drop down menus sometimes they work sometimes not " If VDMX 6.1.2.1 is still showing the “long”+“VALUES” input as just a slider, that actually points to a known regression in newer builds of VDMX: dropdowns / popup menus are currently broken for ISF inputs.
That’s why you saw one version where it worked, and in the latest version it doesn’t. It’s not the JSON — it’s VDMX itself." ???
Hi @Ertle, thanks for asking this. I’m guessing you were running into an issue with GPT was saying the issue is with VDMX itself?
Long story, but I figure it is worthwhile covering this subject since it can be a point of contention at times.
I’m personally a fan of using LLM for help with ISF shaders. They can teach you in a number of ways, how to read, write, and manipulate shader code. I even gave a brief talk (while David grabbed some coffee), at the Mapping Festival in 2024 about this very subject.
These were some Common LLM issues I noticed last year, and they still come up from time to time:
May forget to use /* & */ to encapsulate the JSON header.
May set the scale for inputs to be too small, or set the shader origin to 0,0 or off screen).
Can get stuck in a coding loop / not learning from mistakes.
May declare an input as a uniform within the shader itself, or redeclare something already included in the vertex shader. (Eg. TIME, speed, scale, rotation).
May make up variables that are not within ISF spec. (u_Time, time).
(show “super cool” shader example)
Long story short, LLMs make mistakes, but without knowing more about ISF shaders and the code, it is hard to “tell” the LLM what to do next to fix its own mistake.
Some more examples not listed in that documentation.
Maybe the LLM writes the shaders in OpenGL 4, which you have to enable in the ISF editor, if you don’t it won’t render correctly (then you might tell the LLM it didn’t work).
The LLMs for some reason or another mess up the JSON headers all the time, or only give you a partial header (because it thinks it’s teaching you the code, but instead you might simply be copying and pasting).
Sometimes the LLMs try to do things that are simply outside of the ISF shader specification. It’s good to know what that is and where it falls short.
If you put in a “long” correctly in your ISF Shader header, it should render out correctly in VDMX as a drop down menu. If the header is incorrect, the ISF editor should tell you so, but still you might be able to compile something that doesn’t function as desired.
It’s hard to say what the LLM is outputing without seeing the code. I tried to open the link you shared, but it is requesting access, but either way, keep with it, and keep learning. Over time you’ll learn shaders better, and it will be easier to prompt exactly what you need to get the code updates (and as LLMs get better), it should also be easier to generate new code.
Lastly, and this is more of an ethical/hypothetical question, I don’t expect anyone to answer… “Where did these LLMs learn to code shaders in the first place?” (And was it right/legal for them to train on Shadertoy, Github, and other public facing libraries created by users?). I’ll just sigh to that one…
If you have any code specifics, sometimes it’s easier to answer them if you post the code directly.
thanks yes a minefield of ethics and environmental concerns too- totally agreee but have no answer let alone solution for all that!!! Thanks so much for the detailed helpful human explanations and very useful tips–