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: