<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[[ANSWERED] 3rd Party FFGL Kaleidoscope Plugin]]></title><description><![CDATA[<p></p>
<p>Hi, i have a patch i built in v3 in 2023 which when i reopen in v3 or v4 complains "The following actors/plugins could not be loaded: Kaleidoscope - K3 (ID = '316D2B4B')"</p>
<p>it's looking for this actor</p>
<p><img src="/assets/uploads/files/1733858021150-screenshot-2024-12-11-at-8.13.02-am.png" /></p>
<p>but i can't remember where i sourced it from, any suggestions?</p>
<p>cheers, Mr J</p>]]></description><link>https://community.troikatronix.com/topic/9089/answered-3rd-party-ffgl-kaleidoscope-plugin</link><generator>RSS for Node</generator><lastBuildDate>Tue, 10 Mar 2026 16:09:11 GMT</lastBuildDate><atom:link href="https://community.troikatronix.com/topic/9089.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 10 Dec 2024 19:13:46 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to [ANSWERED] 3rd Party FFGL Kaleidoscope Plugin on Mon, 06 Jan 2025 17:23:25 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://community.troikatronix.com/uid/1435">@woland</a></p><p><br />Thanks a lot. Just what i needed!</p><p>best</p>]]></description><link>https://community.troikatronix.com/post/55598</link><guid isPermaLink="true">https://community.troikatronix.com/post/55598</guid><dc:creator><![CDATA[gapworks]]></dc:creator><pubDate>Mon, 06 Jan 2025 17:23:25 GMT</pubDate></item><item><title><![CDATA[Reply to [ANSWERED] 3rd Party FFGL Kaleidoscope Plugin on Mon, 30 Dec 2024 12:12:23 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://community.troikatronix.com/uid/608">@gapworks</a> <img class="emojione" src="https://cdn.jsdelivr.net/emojione/assets/png/1f493.png?v=2.2.7" alt="💓" style="cursor:pointer" /></p><pre>
/*
TT Kaleidoscope - Fragment Shader
version v1.1
Created for Isadora by Mark Coniglio
Updated for Speed Change and Reverse Mode
*/
// ISADORA_PLUGIN_NAME("TT Kaleidoscope")
// ISADORA_PLUGIN_DESC("The classic kaleidoscope effect.")
// ISADORA_INT_PARAM(divisions, divs, 1, 100, 5, "Number of divisions in the kaleidoscope.");
uniform int divisions;
// ISADORA_FLOAT_PARAM(src_horz, srcx, -100.0, 100.0, 0.0, "Horizontal offset when sampling the source image.");
uniform float src_horz;
// ISADORA_FLOAT_PARAM(src_vert, srcy, -100.0, 100.0, 0.0, "Vertical offset when sampling the source image.");
uniform float src_vert;
// ISADORA_FLOAT_PARAM(src_rotation, srcr, -180.0, 180.0, 0.0, "Rotation when sampling the source image.");
uniform float src_rotation;
// ISADORA_FLOAT_PARAM(out_horz, outx, -100.0, 100.0, 0.0, "Horizontal offset of the output.");
uniform float out_horz;
// ISADORA_FLOAT_PARAM(out_vert, outy, -100.0, 100.0, 0.0, "Vertical offset of the output.");
uniform float out_vert;
// ISADORA_FLOAT_PARAM(out_rotation, rot, 0, +360, 0.0, "Rotation of the output degrees.");
uniform float out_rotation;
// ISADORA_FLOAT_PARAM(speed, spd, 0.0, 10000.0, 1.0, "Speed multiplier for time progression.");
uniform float speed;
// ISADORA_INT_PARAM(reverse, rev, 0, 1, 0, "Enable reverse mode.");
uniform int reverse;
uniform float time;
uniform vec2 resolution;
uniform sampler2D tex0;
const float PI = 3.14159265359;
int integer_modulo(float a, float b) {
    // mod = a - b * floor(a/b)
    float m = mod(a, b);
    return int(m + 0.5);
}
void main() {
    float adjustedTime = time * speed;
    if (reverse == 1) {
        adjustedTime = -adjustedTime;
    }
    if (divisions &gt; 1) {
        // map to range -0.5 to 0.5, accounting for the aspect ratio
        float aspect = resolution.x / resolution.y;
        vec2 c;
        c.x = (gl_TexCoord[0].x - 0.5 + out_horz / 100.0) * aspect; 
        c.y = (gl_TexCoord[0].y - 0.5 + out_vert / 100.0); 
<pre><code>    // apply time-based rotation
    float dynamicRotation = radians(adjustedTime) + radians(out_rotation);
    
    // convert from cartesian to polar coordinates 
    float phi = abs(atan(c.y, c.x) + dynamicRotation); 
    float r = length(c);
    
    float angleFrac = (2.0 * PI) / float(2 * divisions);
    int count = int(phi / angleFrac);
    phi = mod(phi, angleFrac);
    if (integer_modulo(float(count), 2.0) == 1) {
        phi = angleFrac - phi;
    }
    
    // from polar coordinates to cartesian
    float x = r * cos(phi + radians(src_rotation));
    float y = r * sin(phi + radians(src_rotation));

    // map back to range 0.0 to 1.0, accounting for the aspect ratio
    vec2 cc = vec2((x + src_horz / 100.0) / aspect, y + src_vert / 100.0) + 0.5;
    // set the output color
    gl_FragColor = texture2D(tex0, cc);
} else {
    gl_FragColor = texture2D(tex0, gl_TexCoord[0].xy);
}
</code></pre>
<p dir="auto">}</p></pre><p></p>
]]></description><link>https://community.troikatronix.com/post/55583</link><guid isPermaLink="true">https://community.troikatronix.com/post/55583</guid><dc:creator><![CDATA[Woland]]></dc:creator><pubDate>Mon, 30 Dec 2024 12:12:23 GMT</pubDate></item><item><title><![CDATA[Reply to [ANSWERED] 3rd Party FFGL Kaleidoscope Plugin on Wed, 25 Dec 2024 12:09:47 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://community.troikatronix.com/uid/1435">@woland</a></p><p>I still haven't solved it!</p><p>best</p>]]></description><link>https://community.troikatronix.com/post/55573</link><guid isPermaLink="true">https://community.troikatronix.com/post/55573</guid><dc:creator><![CDATA[gapworks]]></dc:creator><pubDate>Wed, 25 Dec 2024 12:09:47 GMT</pubDate></item><item><title><![CDATA[Reply to [ANSWERED] 3rd Party FFGL Kaleidoscope Plugin on Mon, 16 Dec 2024 11:50:14 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://community.troikatronix.com/uid/1435">@woland</a></p><p>sorry but i just don't get  it! </p>]]></description><link>https://community.troikatronix.com/post/55538</link><guid isPermaLink="true">https://community.troikatronix.com/post/55538</guid><dc:creator><![CDATA[gapworks]]></dc:creator><pubDate>Mon, 16 Dec 2024 11:50:14 GMT</pubDate></item><item><title><![CDATA[Reply to [ANSWERED] 3rd Party FFGL Kaleidoscope Plugin on Thu, 12 Dec 2024 20:24:38 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://community.troikatronix.com/uid/608">@gapworks</a> said:</p>
<blockquote>Speed Change and reverse mode. Any help highly appreciated ! I need it by tmw.</blockquote>
<p> I don't have time to do it for you by tomorrow, but I've actually had a large amount of success workshopping GLSL Shaders with ChatGPT. If you copy the GLSL Shader code into there, tell it you want additional inputs, tell it what you want those inputs to do, and tell it to match the special formatting used for GLSL Shaders in Isadora by feeding it the following text from part 3 of the <a href="https://support.troikatronix.com/support/solutions/articles/13000025645-glsl-shader-actor-tutorial" target="_blank">TroikaTronix GLSL Shader Tutorial</a>:</p><pre>
The really exciting opportunity offered by the GLSL Shader actor is the ability to manipulate shader parameters in real time. Shaders accept real-time input through a mechanism known as uniform variables. For example, if you wanted the shader to receive a floating point number, you would add a line like this.
uniform float myVariableName;
This defines a floating point number called myVariableName as an input. Then, you would use that variable in your code as needed. The trick here is to make that variable available to you as an input to the GLSL Shader actor. This is achieved using a special comment line that you add to the shader like this
// ISADORA_FLOAT_PARAM(name, id, min, max, default, "help text");
In OpenGL Shader Language, any line that starts with "//" is a considered to be a comment; in other words, it is ignored by the compiler. But it is not ignored by Isadora. Using comments like the one above, you can create an input for the GLSL Shader actor that sends it's value to a uniform variable in the shader
Let's go though each part of this special comment in detail
// ISADORA_FLOAT_PARAM — This portion simply identified what kind of parameter is being defined. In this case, single floating point number.
name — This is where you define the name of the variable. This name must exactly correspond to the variable name given in the uniform variable — statement in the shader code. You cannot include spaces in this name; if you need a space, use the underscore (_) character instead.
id — This identifier, which can be from 1 to 4 characters long, uniquely identifies the input. Should you re-arrange the order of the inputs, Isadora uses this identifier to ensure the links to that input are maintained. For each shader program, this identifier must be unique.
min — For numeric parameters, this defines the minimum possible value for the input.
max — For numeric parameters, this defines the maximum possible value for the input.
default — For numeric parameters, this defines the the default value for this input when the actor is added to the scene. This input is only meaningful if you add the source code for this shader to the Isadora's GLSL Plugins file. (More on this feature later.)
"help text" — This defines the help text that will appear in the information view for this input. If you share your shader code, you can help those who use it by providing useful, descriptive information about this input. Isadora's philosophy has always been to make it easy for the user to use the program; giving useful details in the help text supports that philosophy.</pre>]]></description><link>https://community.troikatronix.com/post/55523</link><guid isPermaLink="true">https://community.troikatronix.com/post/55523</guid><dc:creator><![CDATA[Woland]]></dc:creator><pubDate>Thu, 12 Dec 2024 20:24:38 GMT</pubDate></item><item><title><![CDATA[Reply to [ANSWERED] 3rd Party FFGL Kaleidoscope Plugin on Thu, 12 Dec 2024 16:30:24 GMT]]></title><description><![CDATA[<p>I have another question to the topic. I use the official Isadora TT Kaleidoscope. I miss 2 things in this actor. </p>
<p>Speed Change and reverse mode. Any help highly appreciated ! I need it by tmw.</p>
<p>best p.</p>]]></description><link>https://community.troikatronix.com/post/55517</link><guid isPermaLink="true">https://community.troikatronix.com/post/55517</guid><dc:creator><![CDATA[gapworks]]></dc:creator><pubDate>Thu, 12 Dec 2024 16:30:24 GMT</pubDate></item><item><title><![CDATA[Reply to [ANSWERED] 3rd Party FFGL Kaleidoscope Plugin on Wed, 11 Dec 2024 20:13:39 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://community.troikatronix.com/uid/234">@mr_j</a></p><p>Sorry, the link I had attached was not correct. It is now fine.</p><p><a href="https://mega.nz/file/tvwS1SrA#LB_XhQJKpjEs_3fVVNl7I4IpaVlW8o5n7TW0ejhRrYk">FFGL Plugin</a><br /></p><p><br />Best</p>
<p>Javi</p>]]></description><link>https://community.troikatronix.com/post/55503</link><guid isPermaLink="true">https://community.troikatronix.com/post/55503</guid><dc:creator><![CDATA[jandraka]]></dc:creator><pubDate>Wed, 11 Dec 2024 20:13:39 GMT</pubDate></item><item><title><![CDATA[Reply to [ANSWERED] 3rd Party FFGL Kaleidoscope Plugin on Wed, 11 Dec 2024 20:05:08 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://community.troikatronix.com/uid/234">@mr_j</a></p>
<p>Hi,</p>
<p>I think I uploaded that plugin. It was made with Vuo app. I attached a new version. I hope it works. It's only for Mac!!<br />Best<br />Javi<a></a></p>
<p><a href="https://mega.nz/file/tvwS1SrA#LB_XhQJKpjEs_3fVVNl7I4IpaVlW8o5n7TW0ejhRrYk">FFGL Plugin</a><br /></p>]]></description><link>https://community.troikatronix.com/post/55496</link><guid isPermaLink="true">https://community.troikatronix.com/post/55496</guid><dc:creator><![CDATA[jandraka]]></dc:creator><pubDate>Wed, 11 Dec 2024 20:05:08 GMT</pubDate></item><item><title><![CDATA[Reply to [ANSWERED] 3rd Party FFGL Kaleidoscope Plugin on Tue, 10 Dec 2024 23:09:52 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://community.troikatronix.com/uid/1794">@mark_m</a> said:</p>
<blockquote>Here's a link to my variations: Version 4<a href="&lt;a href=">https://www.dropbox.com/scl/fi...</a>Version" class="redactor-linkify-object"&gt;https://www.dropbox.com/scl/fi... 3https://www.dropbox.com/scl/fi...</blockquote>
<p> Would love it if you uploaded these to the Add-Ons Page (link in my signature) if you haven't already :)</p>]]></description><link>https://community.troikatronix.com/post/55495</link><guid isPermaLink="true">https://community.troikatronix.com/post/55495</guid><dc:creator><![CDATA[Woland]]></dc:creator><pubDate>Tue, 10 Dec 2024 23:09:52 GMT</pubDate></item><item><title><![CDATA[Reply to [ANSWERED] 3rd Party FFGL Kaleidoscope Plugin on Tue, 10 Dec 2024 23:05:16 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://community.troikatronix.com/uid/1794">@mark_m</a> </p>
<p>User Actors have a red bar across the top in Isadora 4. This one is orange, which means its a video effect.</p>
<hr />
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://community.troikatronix.com/uid/234">@mr_j</a></p>
<p>It's a 3rd-party FFGL effect. The lack of spaces between words and the capital letters used in the inputs' names indicate that it isn't a native Isadora actor, nor is it one of our FFGL plugins because its name doesn't start with "FFGL". (I can also tell because I have the same one in my FFGL effect bin.)</p>]]></description><link>https://community.troikatronix.com/post/55494</link><guid isPermaLink="true">https://community.troikatronix.com/post/55494</guid><dc:creator><![CDATA[Woland]]></dc:creator><pubDate>Tue, 10 Dec 2024 23:05:16 GMT</pubDate></item><item><title><![CDATA[Reply to [ANSWERED] 3rd Party FFGL Kaleidoscope Plugin on Tue, 10 Dec 2024 22:29:26 GMT]]></title><description><![CDATA[<p>thanks <a class="plugin-mentions-user plugin-mentions-a" href="https://community.troikatronix.com/uid/1794">@mark_m</a></p><p>i've already got the one you shared (screenshot below) but it's not the same as the one i'm after</p><img src="/assets/uploads/files/1733869690525-screenshot-2024-12-11-at-11.27.58-am.png" /><p>But appreciate your help</p><p>Rgds, Mr J</p>]]></description><link>https://community.troikatronix.com/post/55493</link><guid isPermaLink="true">https://community.troikatronix.com/post/55493</guid><dc:creator><![CDATA[Mr_J]]></dc:creator><pubDate>Tue, 10 Dec 2024 22:29:26 GMT</pubDate></item><item><title><![CDATA[Reply to [ANSWERED] 3rd Party FFGL Kaleidoscope Plugin on Tue, 10 Dec 2024 20:09:57 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://community.troikatronix.com/uid/234">@mr_j</a></p>
<p>So that looks like a user actor that I have, that someone else must have made and shared once upon a time.<br /><br />Here's a link to my variations: <br /><br />Version 4<br /><br /><a href="https://www.dropbox.com/scl/fi/awokl8q8ybki0ygz1cik2/Kaleidescope-GLSL-User-Actor.iua4?rlkey=o4qwl0f0g0l8j2xcxem4h01yt&amp;dl=0">https://www.dropbox.com/scl/fi...<br /></a></p><p><a href="https://www.dropbox.com/scl/fi/awokl8q8ybki0ygz1cik2/Kaleidescope-GLSL-User-Actor.iua4?rlkey=o4qwl0f0g0l8j2xcxem4h01yt&amp;dl=0"><br /></a></p><p>Version 3<br /><br /><a href="https://www.dropbox.com/scl/fi/dnqmwoyvuu6f59naywia8/Kaleidescope-GLSL-User-Actor.iua3?rlkey=yeem62pzpdcpfdgsbxk09v1rq&amp;dl=0">https://www.dropbox.com/scl/fi...</a><br /></p>]]></description><link>https://community.troikatronix.com/post/55492</link><guid isPermaLink="true">https://community.troikatronix.com/post/55492</guid><dc:creator><![CDATA[mark_m]]></dc:creator><pubDate>Tue, 10 Dec 2024 20:09:57 GMT</pubDate></item></channel></rss>