Do these ISF's run in VDMX6, FinalCutX & Motion, SMODE, Magic Music Visuals, MadMapper, Synthesia, Milumin, etc

Oh yes, here’s an additional gift maybe for everyone, under a CC licensy & on my profile ISF.video. at isf.video you can find so the 2 new ISFs of mine, two other converted shaderoys that I had to mark with “UNDER CONSTRUCTION” because I got them to work in the ISF-Desktop-Editor after 2 days of effort, but the online editor gives some errors if i lodet up and I’m too inexperienced to fix them there in the onlineEditor. But I suspect that if someone download these two “UNDER CONSTRUCTION” and integrate/call them up, they will work in VDMX6, SMODE, Magic Music Visuals, MadMapper, Synthesia, Milumin, etc. ISF.

If someone can test this in one of the programs (which I don’t have / I my self works with Resolume Soft. Wire & Arena and them run/works at it) at some point and give me a feedback, I would be delighted.
It seems that the ISF online editor is much more restrictive then the desktop-editor or desktop-programs that are ISF-compatible when it comes to the GLSL-ISF code, but both of them work in my Resolume Wire (with further adjustments when it comes to the iChannel - for once of them you have to add/supplement the existing iChannel to the inputs mean you have to crest this input as s TYPE “IMAGE” and create an image node in Wire, load the texture/image there and link it to the created input in Wire to get it to work in the ISF node of Wire).

But this pearl is by Evvvvil from Shadertoy and is a real masterpiece and gem, it’s a shame that it doesn’t work in the online editor ISF.video ).

All persons are welcome to finish adjusting it and put it on your own isf account or send me the result and I will adjust it in my account. The only thing that matters is that the ISF community can benefit from it.

With just the best wishes & greetings bennoH.:panda_face: + :chipmunk:&:chipmunk:

digitalArtist & Light&Showlaser/Vidoartworker

Switzerland / Europe / Earth

in the same Milky Way as you

ISF.video.

Imgur

https://mywix3.wixsite.com/bennoh

https://mywix3.wixsite.com/bennoh/blog

50shades.of.isf.for.resolume@gmail.com

This Project was made on a “HP OMEN” Desktop PC with a Nvidia RTX 3080 GPU and it’s cloast now.

This project was menthored by the

Light Art Equipment Foundation Europe

HQ Virgin Islands

Hi @bennoH, since you like comprehensive answers. I’ll share this with you (generated).

The specific code differences between WebGL ISF shaders hosted on platforms like ISF Editor and those run locally using the ISF Editor for Mac or Windows largely revolve around how the shaders are integrated and executed within their respective environments. Here’s a detailed look at the key distinctions:

1. Shader Code Environment

  • WebGL ISF Shaders (Editor on ISF Video):

    • Shader Language: WebGL ISF shaders use GLSL ES (OpenGL Shading Language for Embedded Systems), which is a subset of GLSL optimized for WebGL. This subset can have slight differences in syntax and available features compared to desktop GLSL.
    • Syntax and Features: Some desktop GLSL features might not be available in WebGL, and certain GLSL extensions or functions may behave differently or be unsupported. For example, WebGL shaders might not support some advanced texture formats or GLSL extensions available in desktop environments.
  • Native ISF Shaders (ISF Editor for Mac/Windows):

    • Shader Language: Native ISF shaders typically use full GLSL as supported by the desktop’s OpenGL or similar graphics API. This means access to more advanced features and extensions.
    • Syntax and Features: Native ISF shaders can utilize a broader range of GLSL features, including more complex texture operations, advanced mathematical functions, and custom GLSL extensions not available in WebGL.

2. Integration with Host Environment

  • WebGL ISF Shaders:

    • Integration: Shaders run within a WebGL context which is managed by the browser. This means the shader code must interact with the JavaScript environment, which handles initialization, resource management, and rendering.
    • Uniforms and Attributes: Uniforms and attributes are passed to shaders via JavaScript, and their management is done through WebGL API calls. This interaction can involve different methods compared to the native shader environment.
  • Native ISF Shaders:

    • Integration: Shaders run within a native application context that directly interfaces with the graphics API of the operating system (like OpenGL or Direct3D). Integration is often more direct and may use application-specific methods for handling shader inputs and outputs.
    • Uniforms and Attributes: Uniforms and attributes are handled by the native application or editor, potentially providing more direct and flexible control over shader parameters and resources.

3. Rendering and Resource Management

  • WebGL ISF Shaders:

    • Resource Management: WebGL shaders operate with resources managed by the browser, including texture and buffer management. There can be additional constraints due to the browser’s resource limits and performance considerations.
    • Rendering Context: The rendering context is managed by WebGL, which means shaders must adhere to WebGL’s specific restrictions and capabilities.
  • Native ISF Shaders:

    • Resource Management: Resources are managed directly by the operating system’s graphics API, which

can provide more direct access to GPU features and potentially higher performance.

  • Rendering Context: The rendering context is managed by the graphics API of the operating system, offering more control and potentially less overhead compared to the browser environment.

4. Code Structure and Functionality

  • WebGL ISF Shaders:

    • Code Structure: The shader code often needs to accommodate WebGL’s constraints, such as reduced precision and fewer built-in functions. The code might include workarounds for these limitations.
    • Functionality: WebGL shaders are typically written to be compatible with the subset of GLSL supported by WebGL, which can affect the range of available functionality and require adjustments in the shader code.
  • Native ISF Shaders:

    • Code Structure: Shader code can leverage the full range of GLSL features available on the platform, including advanced texture operations and mathematical functions.
    • Functionality: Native shaders have more freedom to use platform-specific features and optimizations, which can lead to more complex and feature-rich shaders.

5. Platform-Specific Extensions and Limitations

  • WebGL ISF Shaders:

    • Extensions: WebGL has its own set of extensions and limitations that may not align with desktop OpenGL extensions. This means that shaders designed for WebGL might need to avoid certain desktop OpenGL features or use alternative methods to achieve similar results.
    • Limitations: WebGL imposes certain constraints on performance and functionality due to its sandboxed nature and compatibility requirements across different devices and browsers.
  • Native ISF Shaders:

    • Extensions: Native shaders can use a broader set of extensions and capabilities specific to the operating system’s graphics API. This can include additional GLSL extensions and optimizations that are not available in WebGL.
    • Limitations: Limitations are generally fewer compared to WebGL, allowing for more sophisticated and performant shader designs.

6. Development Tools and Debugging

  • WebGL ISF Shaders:

    • Tools: Development tools for WebGL shaders often involve browser-based debugging tools and JavaScript-based shader editors. These tools can be less specialized compared to native shader development environments.
    • Debugging: Debugging can be more challenging due to the browser environment and limitations in WebGL debugging tools.
  • Native ISF Shaders:

    • Tools: Native shader development often benefits from more specialized tools and environments tailored for shader creation and debugging. This can include dedicated graphics debugging tools and IDEs.
    • Debugging: Native development environments often provide more advanced debugging features and performance profiling tools.

In summary, while both WebGL and native ISF shaders use GLSL, the differences in execution environment, resource management, and available features mean that shaders written for one platform might require adjustments or optimizations to work effectively on the other. WebGL shaders are constrained by the web environment and its performance characteristics, while native shaders can leverage more advanced features and optimizations specific to desktop graphics APIs.

Here’s more information with code examples:

The Interactive Shader Format (ISF) Editor works differently depending on whether you are using it in an online web-based environment or a native application on Windows or macOS. Here are the key differences with code examples:

1. Shader Compilation and Performance

  • Online ISF Editor: The online editor typically runs shaders in a web browser environment using WebGL. This might lead to some performance constraints due to limitations of the browser and the WebGL engine, affecting shader complexity and smoothness.
  • Native ISF Editor: A native editor on Windows or macOS utilizes your system’s full GPU power through OpenGL, allowing for more complex shaders and better performance.

Example:
A heavy shader might run slower online but smoothly natively.

void main() {
    vec2 uv = isf_FragNormCoord;
    vec3 color = vec3(sin(uv.x * 10.0), cos(uv.y * 10.0), 0.5);
    gl_FragColor = vec4(color, 1.0);
}

2. Shader Compatibility

  • Online ISF Editor: WebGL, used in the online editor, supports a subset of OpenGL features. Some OpenGL functions available in native environments may not be supported online.
  • Native ISF Editor: Native ISF editors running on Windows/macOS can use a wider range of OpenGL functions.

Example:
texture2D function is used in both environments, but advanced GLSL features may differ.

uniform sampler2D myTexture;

void main() {
    vec2 uv = isf_FragNormCoord;
    vec4 texColor = texture2D(myTexture, uv);
    gl_FragColor = texColor;
}

3. UI Features

  • Online ISF Editor: Often has limited UI features for setting up inputs and parameters, with fewer customization options for things like sliders, colors, or presets. The interface is usually minimal to fit within the web environment.
  • Native ISF Editor: Full-fledged editors on Windows or macOS provide rich UI options for adding and configuring shader inputs, real-time previews, and integration with other software like VDMX or MadMapper.

Example (Input Declaration Differences):

// Input example online
uniform float speed; 
// Online editor may have basic input setup only.

void main() {
    // Simple use of the input.
    gl_FragColor = vec4(speed, speed, speed, 1.0);
}
/* 
 Native Editor JSON Header Example (Mac/Windows)
*/
uniform float speed;
uniform vec3 color;

/*
{
    "CATEGORIES": ["Custom"],
    "INPUTS": [
        {
            "NAME": "speed",
            "TYPE": "float",
            "DEFAULT": 0.5,
            "MIN": 0.0,
            "MAX": 1.0
        },
        {
            "NAME": "color",
            "TYPE": "color",
            "DEFAULT": [0.0, 0.0, 1.0, 1.0]
        }
    ]
}
*/

void main() {
    // Use inputs in a more complex way
    gl_FragColor = vec4(color * speed, 1.0);
}

4. Texture Handling

  • Online ISF Editor: Limited texture handling options, typically allowing for only simple 2D textures.
  • Native ISF Editor: More advanced texture handling, including 3D textures, video input, and multi-channel audio input.

5. Export and Integration

  • Online ISF Editor: Limited options for exporting shaders; primarily focused on quick testing or sharing. Integration with VJ/DJ software is not supported directly.
  • Native ISF Editor: Supports exporting shaders directly for use in VJ tools like VDMX, MadMapper, and others, as well as better integration with real-time applications.

In summary, the online ISF editor is more lightweight and simplified for quick shader prototyping and testing, whereas the native ISF editor provides deeper GPU integration, more advanced OpenGL support, richer input handling, and better performance optimization for use in real-world applications.

3 Likes

Very good, thank you very much dear ProjectileObjects. I have just now read your answer and it is now clear to me where the problems lie and why they arise, but I really don’t have enough experience to optimize these 2 “under construction” codes for online (Web-GL), so I will delete them within 14 days. If someone else takes care of the matter by then, that’s great, otherwise it might not be of enough interest to the community and it doesn’t matter if it is deleted from isf.video.

Again thanks a lot for the detailed answer, respect!! With just the best wishes & greetings bennoH.:panda_face::chipmunk::chipmunk:

What I want to add to this amazing post is this. VDMX is now using metal to render ISF shaders. This gives slightly different rendering results from ISF editor. You might have to fix your shaders. Especially if you are using buffers and multi path rendering

1 Like

Well, I bought my last Mac, a G5 late 2004, in 2005, and since 2010 have only used PCs with Linux and Windows. The Mac story seemed to me like that of Ilon M., a guy who’s apparently already written off our planet and wants to dilute himself on Mars with his fellow super-rich, and the rest of him and his company aren’t interested in anything else. And that seems to be the case here as well. Mac, or rather OSX, has always used Open GL, and now not only no longer wants to support the extended version, “Vulkan,” but is competing with it with a unique alternative, “typically Mac”! Under Vulkan, ISF has been implemented as standard again, just as before, but as far as I understand the message, we’re now supposed to rework all or many of the existing ISFs so that they continue to run on the newer OSXs, or rather, under Metal. Great! Well done, fellow OSX users! It’s good that I no longer have anything to do with you. So in Resolume under OpenGL, as elsewhere under VULKAN in some cases, 95% of the ISFs run for me without any further adjustments and when I create ISFs myself and these run in the ISF online editor, I have always assumed that they will run across platforms in every ISF compatible app and if I occasionally cannot get the ISF to work in the online editor but the ISF runs in the ISF desktop editor, I believe it should work in ISF compatible apps too. And I don’t care at all what the snobby Apple people do and you’ll just have to adjust my ISFs yourselves if they don’t work there for whatever reason, I’m not interested and I’ll be damned if I support the Mac platform in this way if standards are thrown out the window then that’s just the sad truth for Mac users but it doesn’t bother me! And as much as I like VIDVOX and recognize the great work they’ve done with and for ISF, I have to say that VIDVOX should finally create a Windows and Linux version of VDMX and forget about the Apple people, or at least not give them an advantage and support such stupidity and arrogance! Unfortunately, I won’t respond to replays here. I’d rather upload a new ISF and make sure it’s licensed as CCO or MIT; that way I can put my time to better use. Thanks in advance for your understanding. The original German text is authoritative!


Nun ja ich habe den letzten Mac, einen G5 late 2004, 2005 gekauft und ab 2010 nur noch PCs mit Linux und Windows genutzt. Mir erschien die Macgeschichte wie das mit Ilon M. einem Typen der wohl unseren Planeten bereits abgeschrieben hat und mit seinesgleichen hyperreichen sich auf den Mars verdünisieren wil und der Rest Ihn und seine Kompanen nicht interessiert. Und so zeigt es sich wohl auch hier. Mac resp OSX hatte auch stets Open GL genurzt und wollen jetzt die erweiterte Version “Vulkan” nicht nur nicht mehr unterstützen sondern konkurenzieren diese mit einer eigenbrödlerischen Alternative, “typisch Mac”! Unter Vulkan wurde ISF als Standart wiederum implementiert und zwar wie gehabt aber soweit ich Die Nachricht verstehe sollen wir nun alle oder viele der bestehenden ISFs überarbeiten damit diese auf den neueren OSXs respektive unter Metal lauffähig bleiben. Super! Gut gemacht liebe OSXler! Gut dass ich mit euch nichts mehr am Hut habe. Also in Resolume unter OpenGL wie anderswo unter teils VULKAN laufen 95% der ISFs ohne weitere Anpassungen bei mir und wenn ich selbst ISFs erstelle und diese im ISF-Onlineeditor laufen, ging ich davon aus bis dato dass diese Platformübergreifend in jeder ISF kompatiblen App laufen werden und wenn ich es selten mal nicht hinbekomme im onlineditor aber das ISF im ISF-Desktopeditor läuft sollte es meiner Meinung nach in ISF-kompatiblen Apps ebenfalls laufen. Und was da die snoby Apple Leute machen kümmert mich herzlichst wenig und Ihr müsst euch meine ISFs dan halt selbst anpassen wenn die dort nicht laufen weshalb auch immer, es interessiert mich nicht und ich werde den Teufel thuen und die Mac Platform unterstützen in solcher Form, wenn dort Standarts über den Haufen gestosen werden ist dass halt die traurige Wahrheit für Mac-Nutzer aber mich bekümmert dass nicht! Und so sehr ich VIDVOX mag und anerkenne was sie tolles gemacht haben mit und für ISF muss ich hier nun anmerken VIDVOX sollte nun endlich endlich einmal eine Windows und Linux Version von VDMX erstellen und die Apple Leute etwas vergessen oder zumindest nicht noch bevorteilen und so Dumheiten und aroganz Gehabe unterstützen! Ich werde leider nicht auf Replays hier eintreten lieber lade ich dan mal wieder ein neues ISF hoch und sehe zu dass dies als CCO oder MIT lizenziert ist, so setze ich meine Zeit wohl sinvoller ein. Danke für das Verständnis vorab. Verbindlich ist der deutschsprachige Originaltext!

Most isf can run under metal or vulcan, metal has stricter buffer declarations then opengl 4. As an endpoint engineer I can tell you that currently for the same price you get more bang from macos then from windows

1 Like