<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Okinawa Rush &#8211; Gary Michael Angelone Jr.</title>
	<atom:link href="https://garyangelonejr.me/category/okinawa-rush/feed/" rel="self" type="application/rss+xml" />
	<link>https://garyangelonejr.me</link>
	<description></description>
	<lastBuildDate>Tue, 03 Feb 2026 00:01:16 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>Zen Shader</title>
		<link>https://garyangelonejr.me/zen-shader/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 04 Oct 2022 13:45:23 +0000</pubDate>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Okinawa Rush]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[GLSL]]></category>
		<category><![CDATA[HLSL]]></category>
		<guid isPermaLink="false">http://localhost/?p=149</guid>

					<description><![CDATA[Steven added a feature to the game that allows the player to meditate to gain spiritual powers.
He required an effect that would express a zen state.]]></description>
										<content:encoded><![CDATA[<div class="fusion-fullwidth fullwidth-box fusion-builder-row-1 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling" style="--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-flex-wrap:wrap;"><div class="fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap" style="max-width:1248px;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column fusion-builder-column-0 fusion_builder_column_1_1 1_1 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-text fusion-text-1 translate lang-en "><p>Steven added a feature to <a href="https://store.steampowered.com/app/777670/Okinawa_Rush/">the game</a> that allows the player to meditate to gain spiritual powers.<br>
He required an effect that would express a zen state.</p>
</div><div class="fusion-text fusion-text-2 translate lang-de"><p>Steven fügte <a href="https://store.steampowered.com/app/777670/Okinawa_Rush/">dem Spiel</a> eine Funktion hinzu, mit der der Spieler meditieren kann, um spirituelle Kräfte zu erlangen.<br>
Er benötigte einen Effekt, der einen Zen-Zustand ausdrücken würde.</p>
</div><div class="fusion-text fusion-text-3 translate lang-it"><p>Steven ha aggiunto una funzione <a href="https://store.steampowered.com/app/777670/Okinawa_Rush/">al gioco</a> che permette al giocatore di meditare per acquisire poteri spirituali.<br>
Aveva bisogno di un effetto che esprimesse uno stato zen.</p>
</div><div class="fusion-text fusion-text-4 translate lang-en "><p>Color warping of the background seemed to fit the requirement. I started by its texture and applying the effect.</p>
</div><div class="fusion-text fusion-text-5 translate lang-de"><p>Die Farbverzerrung des Hintergrunds schien den Anforderungen zu entsprechen. Ich begann mit der Textur und wandte den Effekt an.</p>
</div><div class="fusion-text fusion-text-6 translate lang-it"><p>La distorsione cromatica dello sfondo sembrava soddisfare il requisito. Ho iniziato dalla sua texture e ho applicato l'effetto.</p>
</div><style type="text/css" scopped="scopped">.fusion-syntax-highlighter-1 > .CodeMirror, .fusion-syntax-highlighter-1 > .CodeMirror .CodeMirror-gutters {background-color:transparent;}.fusion-syntax-highlighter-1 > .CodeMirror .CodeMirror-gutters { background-color: transparent; }.fusion-syntax-highlighter-1 > .CodeMirror .CodeMirror-linenumber { color: var(--awb-color3); }</style><div class="fusion-syntax-highlighter-container fusion-syntax-highlighter-1 fusion-syntax-highlighter-theme-light no-translate" style="opacity:0;margin-top:0px;margin-right:0px;margin-bottom:2em;margin-left:0px;font-size:14px;border-width:2px;border-style:dashed;border-color:var(--awb-color2);"><div class="syntax-highlighter-copy-code"><span class="syntax-highlighter-copy-code-title" data-id="fusion_syntax_highlighter_1" style="font-size:14px;">Copy to Clipboard</span></div><label for="fusion_syntax_highlighter_1" class="screen-reader-text">Syntax Highlighter</label><textarea class="fusion-syntax-highlighter-textarea" id="fusion_syntax_highlighter_1" data-readonly="nocursor" data-linenumbers="1" data-linewrapping="1" data-theme="default" data-mode="text/css">/* INPUT SAMPLER */
sampler2D background_texture : register(s1)  = sampler_state{ AddressU = Wrap; AddressV = Wrap; MipFilter = Point; MinFilter = Linear; MagFilter = Linear; };

/* PIXEL SHADER IO STRUCTURES */
struct PS_INPUT { float4 p : POSITION; float2 v_texcoord0 : TEXCOORD0; };
struct PS_OUTPUT { float4 c : COLOR0; };</textarea></div><div class="fusion-text fusion-text-7 translate lang-en "><p>For more impact, I separated the red, green and blue color channels.</p>
</div><div class="fusion-text fusion-text-8 translate lang-de"><p>Um eine stärkere Wirkung zu erzielen, habe ich die roten, grünen und blauen Farbkanäle voneinander getrennt.</p>
</div><div class="fusion-text fusion-text-9 translate lang-it"><p>Per ottenere un effetto più incisivo, ho separato i canali di colore rosso, verde e blu.</p>
</div><style type="text/css" scopped="scopped">.fusion-syntax-highlighter-2 > .CodeMirror, .fusion-syntax-highlighter-2 > .CodeMirror .CodeMirror-gutters {background-color:transparent;}.fusion-syntax-highlighter-2 > .CodeMirror .CodeMirror-gutters { background-color: transparent; }.fusion-syntax-highlighter-2 > .CodeMirror .CodeMirror-linenumber { color: var(--awb-color3); }</style><div class="fusion-syntax-highlighter-container fusion-syntax-highlighter-2 fusion-syntax-highlighter-theme-light no-translate" style="opacity:0;margin-top:0px;margin-right:0px;margin-bottom:2em;margin-left:0px;font-size:14px;border-width:2px;border-style:dashed;border-color:var(--awb-color2);"><div class="syntax-highlighter-copy-code"><span class="syntax-highlighter-copy-code-title" data-id="fusion_syntax_highlighter_2" style="font-size:14px;">Copy to Clipboard</span></div><label for="fusion_syntax_highlighter_2" class="screen-reader-text">Syntax Highlighter</label><textarea class="fusion-syntax-highlighter-textarea" id="fusion_syntax_highlighter_2" data-readonly="nocursor" data-linenumbers="1" data-linewrapping="1" data-theme="default" data-mode="text/css">PS_OUTPUT ps_main(PS_INPUT input)
{
	PS_OUTPUT output;

		// WARP BUBBLE
        float2 dir = input.v_texcoord0 - float2( .5, .5 );
        float d = .7 * length( dir );
        normalize( dir );
        float2 value = d * dir * Separation;

		// COLOR SHIFT
        float r = tex2D( background_texture, input.v_texcoord0 + value ).x;
        float g = tex2D( background_texture, input.v_texcoord0 - value ).y;
        float b = tex2D( background_texture, input.v_texcoord0 ).z;

        float4 c = float4(r,  g * 0.99, b, 1.0 );

        output.c = c;
        return output;
}</textarea></div><style type="text/css" scopped="scopped">.fusion-syntax-highlighter-3 > .CodeMirror, .fusion-syntax-highlighter-3 > .CodeMirror .CodeMirror-gutters {background-color:transparent;}.fusion-syntax-highlighter-3 > .CodeMirror .CodeMirror-gutters { background-color: transparent; }.fusion-syntax-highlighter-3 > .CodeMirror .CodeMirror-linenumber { color: var(--awb-color3); }</style><div class="fusion-syntax-highlighter-container fusion-syntax-highlighter-3 fusion-syntax-highlighter-theme-light no-translate" style="opacity:0;margin-top:0px;margin-right:0px;margin-bottom:2em;margin-left:0px;font-size:14px;border-width:2px;border-style:dashed;border-color:var(--awb-color2);"><div class="syntax-highlighter-copy-code"><span class="syntax-highlighter-copy-code-title" data-id="fusion_syntax_highlighter_3" style="font-size:14px;">Copy to Clipboard</span></div><label for="fusion_syntax_highlighter_3" class="screen-reader-text">Syntax Highlighter</label><textarea class="fusion-syntax-highlighter-textarea" id="fusion_syntax_highlighter_3" data-readonly="nocursor" data-linenumbers="1" data-linewrapping="1" data-theme="default" data-mode="text/css">technique tech_main
{
    pass P0
    {
        VertexShader = NULL;
        PixelShader  = compile ps_2_a ps_main();
    }
}
</textarea></div><div class="video has-mask" style='mask-position:center center;mask-size:100% 100%;mask-image:url("https://garyangelonejr.me/wp-content/themes/Avada-Child-Theme/img/masks/mask-07.png");'><div class="fusion-video fusion-selfhosted-video mask  overlay opacity_50 dark_mesh  wrapped" style="max-width:100%;"><div class="video-wrapper"><video playsinline="true" width="100%" style="object-fit: cover;" autoplay="true" muted="true" loop="true" preload="auto"><source src="/vid/post/Zen-Shader.mp4" type="video/mp4">Sorry, your browser doesn't support embedded videos.</source></video></div></div></div></div></div><div class="fusion-layout-column fusion_builder_column fusion-builder-column-1 fusion_builder_column_1_1 1_1 fusion-flex-column" style="--awb-padding-top:3em;--awb-padding-bottom:6em;--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:3.072%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:3.072%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div style="text-align:center;"><a class="fusion-button button-flat fusion-button-default-size button-default fusion-button-default button-1 fusion-button-default-span fusion-button-default-type fusion-animated" data-animationtype="flipiny" data-animationduration="0.3" data-animationoffset="top-into-view" target="_blank" rel="noopener noreferrer" href="https://github.com/KoschKX/Shader-Zen"><i class="fa-arrow-circle-down fas awb-button__icon awb-button__icon--default button-icon-left" aria-hidden="true"></i><span class="fusion-button-text awb-button__text awb-button__text--default">GitHub Project</span></a></div></div></div></div></div>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Tree Auto-Animation Shader</title>
		<link>https://garyangelonejr.me/tree-auto-animation-shader/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Mon, 03 Oct 2022 15:16:52 +0000</pubDate>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Okinawa Rush]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[GLSL]]></category>
		<category><![CDATA[HLSL]]></category>
		<guid isPermaLink="false">http://localhost/?p=159</guid>

					<description><![CDATA[David was pressed for time. Our deadline was over a year away, but there would be much pixel art to complete. Animating trees per pixel is tedious work, especially since Steven's wind code would require multiple variants for each of the then static images. They approached me, hoping for a shader solution; that they might save time.]]></description>
										<content:encoded><![CDATA[<div class="fusion-fullwidth fullwidth-box fusion-builder-row-2 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling" style="--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-flex-wrap:wrap;"><div class="fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap" style="max-width:1248px;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column fusion-builder-column-2 fusion_builder_column_1_1 1_1 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:3.072%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-spacing-right-medium:3.072%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-text fusion-text-10 translate lang-en "><p>David was pressed for time. Our deadline was over a year away, but there would be much pixel art to complete. Animating trees per pixel is tedious work, especially since Steven's wind code would require multiple variants for each of the then static images. They approached me, hoping for a shader solution; that they might save time.</p>
</div><div class="fusion-text fusion-text-11 translate lang-de"><p>David stand unter Zeitdruck. Unsere Deadline war zwar noch über ein Jahr entfernt, aber es gab noch viel Pixelkunst zu erstellen. Das Animieren von Bäumen pro Pixel ist mühsame Arbeit, zumal Stevens Windcode mehrere Varianten für jedes der damals statischen Bilder erfordern würde. Sie wandten sich an mich in der Hoffnung auf eine Shader-Lösung, mit der sie Zeit sparen könnten.</p>
</div><div class="fusion-text fusion-text-12 translate lang-it"><p>David era a corto di tempo. La nostra scadenza era tra più di un anno, ma c'era ancora molta pixel art da completare. Animare gli alberi pixel per pixel è un lavoro noioso, soprattutto perché il codice del vento di Steven richiedeva diverse varianti per ciascuna delle immagini allora statiche. Mi hanno contattato sperando in una soluzione shader che potesse far loro risparmiare tempo.</p>
</div><div class="fusion-text fusion-text-13 translate lang-en "><p>Knowing the artist in David would still desire control over the result, I decided to use a sampled bitmap to grade the effect so that he could adjust the effect.</p>
</div><div class="fusion-text fusion-text-14 translate lang-de"><p>Da ich wusste, dass David als Künstler weiterhin die Kontrolle über das Ergebnis haben wollte, entschied ich mich, eine gesampelte Bitmap zu verwenden, um den Effekt zu bewerten, damit er ihn anpassen konnte.</p>
</div><div class="fusion-text fusion-text-15 translate lang-it"><p>Sapendo che l'artista che è in David avrebbe comunque desiderato avere il controllo sul risultato, ho deciso di utilizzare una bitmap campionata per graduare l'effetto in modo che potesse regolarlo.</p>
</div><style type="text/css" scopped="scopped">.fusion-syntax-highlighter-4 > .CodeMirror, .fusion-syntax-highlighter-4 > .CodeMirror .CodeMirror-gutters {background-color:transparent;}.fusion-syntax-highlighter-4 > .CodeMirror .CodeMirror-gutters { background-color: transparent; }.fusion-syntax-highlighter-4 > .CodeMirror .CodeMirror-linenumber { color: var(--awb-color3); }</style><div class="fusion-syntax-highlighter-container fusion-syntax-highlighter-4 fusion-syntax-highlighter-theme-light no-translate" style="opacity:0;margin-top:0px;margin-right:0px;margin-bottom:2em;margin-left:0px;font-size:14px;border-width:2px;border-style:dashed;border-color:var(--awb-color2);"><div class="syntax-highlighter-copy-code"><span class="syntax-highlighter-copy-code-title" data-id="fusion_syntax_highlighter_4" style="font-size:14px;">Copy to Clipboard</span></div><label for="fusion_syntax_highlighter_4" class="screen-reader-text">Syntax Highlighter</label><textarea class="fusion-syntax-highlighter-textarea" id="fusion_syntax_highlighter_4" data-readonly="nocursor" data-linenumbers="1" data-linewrapping="1" data-theme="default" data-mode="text/css">/* INPUT &amp; WEIGHT IMAGE SAMPLERS */
sampler2D img;
sampler2D Weights : register(s2)  = sampler_state { AddressU = Border; AddressV = Border; MipFilter = Point; };

/* PIXEL SHADER IO STRUCTURES */
struct PS_INPUT { float4 Position : POSITION; float2 Texture : TEXCOORD0; };
struct PS_OUTPUT { float4 Color : COLOR0; };</textarea></div><div class="fusion-text fusion-text-16 translate lang-en "><p>I hooked up the values from Steven's code for the angle, frequency and amplitude of the wind.</p>
</div><div class="fusion-text fusion-text-17 translate lang-de"><p>Ich habe die Werte aus Stevens Code für den Winkel, die Frequenz und die Amplitude des Windes übernommen.</p>
</div><div class="fusion-text fusion-text-18 translate lang-it"><p>Ho inserito i valori dal codice di Steven per l'angolo, la frequenza e l'ampiezza del vento.</p>
</div><style type="text/css" scopped="scopped">.fusion-syntax-highlighter-5 > .CodeMirror, .fusion-syntax-highlighter-5 > .CodeMirror .CodeMirror-gutters {background-color:transparent;}.fusion-syntax-highlighter-5 > .CodeMirror .CodeMirror-gutters { background-color: transparent; }.fusion-syntax-highlighter-5 > .CodeMirror .CodeMirror-linenumber { color: var(--awb-color3); }</style><div class="fusion-syntax-highlighter-container fusion-syntax-highlighter-5 fusion-syntax-highlighter-theme-light no-translate" style="opacity:0;margin-top:0px;margin-right:0px;margin-bottom:2em;margin-left:0px;font-size:14px;border-width:2px;border-style:dashed;border-color:var(--awb-color2);"><div class="syntax-highlighter-copy-code"><span class="syntax-highlighter-copy-code-title" data-id="fusion_syntax_highlighter_5" style="font-size:14px;">Copy to Clipboard</span></div><label for="fusion_syntax_highlighter_5" class="screen-reader-text">Syntax Highlighter</label><textarea class="fusion-syntax-highlighter-textarea" id="fusion_syntax_highlighter_5" data-readonly="nocursor" data-linenumbers="1" data-linewrapping="1" data-theme="default" data-mode="text/css">/* GLOBALS */
float Amplitude; float Freq; float Angle;
static const float PI = 3.14159265f;</textarea></div><div class="fusion-text fusion-text-19 translate lang-en "><p>In my main program, I pushed the pixels according to their values and applied the amount based on the alpha channel from black to white.</p>
</div><div class="fusion-text fusion-text-20 translate lang-de"><p>In meinem Hauptprogramm habe ich die Pixel entsprechend ihren Werten verschoben und den Wert basierend auf dem Alphakanal von Schwarz bis Weiß angewendet.</p>
</div><div class="fusion-text fusion-text-21 translate lang-it"><p>Nel mio programma principale, ho spostato i pixel in base ai loro valori e ho applicato la quantità in base al canale alfa dal nero al bianco.</p>
</div><style type="text/css" scopped="scopped">.fusion-syntax-highlighter-6 > .CodeMirror, .fusion-syntax-highlighter-6 > .CodeMirror .CodeMirror-gutters {background-color:transparent;}.fusion-syntax-highlighter-6 > .CodeMirror .CodeMirror-gutters { background-color: transparent; }.fusion-syntax-highlighter-6 > .CodeMirror .CodeMirror-linenumber { color: var(--awb-color3); }</style><div class="fusion-syntax-highlighter-container fusion-syntax-highlighter-6 fusion-syntax-highlighter-theme-light no-translate" style="opacity:0;margin-top:0px;margin-right:0px;margin-bottom:2em;margin-left:0px;font-size:14px;border-width:2px;border-style:dashed;border-color:var(--awb-color2);"><div class="syntax-highlighter-copy-code"><span class="syntax-highlighter-copy-code-title" data-id="fusion_syntax_highlighter_6" style="font-size:14px;">Copy to Clipboard</span></div><label for="fusion_syntax_highlighter_6" class="screen-reader-text">Syntax Highlighter</label><textarea class="fusion-syntax-highlighter-textarea" id="fusion_syntax_highlighter_6" data-readonly="nocursor" data-linenumbers="1" data-linewrapping="1" data-theme="default" data-mode="text/css">PS_OUTPUT ps_main( in PS_INPUT In )
{
    PS_OUTPUT Out;

    float w=tex2D(Weights, In.Texture.xy).a;

	/* APPLY WIND */
    float2 dir = float2(cos(Angle*PI/180)*In.Texture.x,sin(Angle*PI/180)*In.Texture.y);

    float posx = In.Texture.x - (sin((dir.x))*Amplitude*Freq+0.01)*w;
    float posy = In.Texture.y + (sin((dir.y))*Amplitude*Freq+0.01)*w;

    float4 col=tex2D(img, float2(posx,posy));</textarea></div><div class="fusion-text fusion-text-22 translate lang-en "><p>The effect was a little to blurry, so I stabilized the alpha output.</p>
</div><div class="fusion-text fusion-text-23 translate lang-de"><p>Der Effekt war etwas zu unscharf, daher habe ich die Alpha-Ausgabe stabilisiert.</p>
</div><div class="fusion-text fusion-text-24 translate lang-it"><p>L'effetto era un po' sfocato, quindi ho stabilizzato l'output alfa.</p>
</div><style type="text/css" scopped="scopped">.fusion-syntax-highlighter-7 > .CodeMirror, .fusion-syntax-highlighter-7 > .CodeMirror .CodeMirror-gutters {background-color:transparent;}.fusion-syntax-highlighter-7 > .CodeMirror .CodeMirror-gutters { background-color: transparent; }.fusion-syntax-highlighter-7 > .CodeMirror .CodeMirror-linenumber { color: var(--awb-color3); }</style><div class="fusion-syntax-highlighter-container fusion-syntax-highlighter-7 fusion-syntax-highlighter-theme-light no-translate" style="opacity:0;margin-top:0px;margin-right:0px;margin-bottom:2em;margin-left:0px;font-size:14px;border-width:2px;border-style:dashed;border-color:var(--awb-color2);"><div class="syntax-highlighter-copy-code"><span class="syntax-highlighter-copy-code-title" data-id="fusion_syntax_highlighter_7" style="font-size:14px;">Copy to Clipboard</span></div><label for="fusion_syntax_highlighter_7" class="screen-reader-text">Syntax Highlighter</label><textarea class="fusion-syntax-highlighter-textarea" id="fusion_syntax_highlighter_7" data-readonly="nocursor" data-linenumbers="1" data-linewrapping="1" data-theme="default" data-mode="text/css">	// REMOVE ANTIALIASING
    col.a=floor(col.a+0.5);

 	  Out.Color=col;

    return Out;
}</textarea></div><style type="text/css" scopped="scopped">.fusion-syntax-highlighter-8 > .CodeMirror, .fusion-syntax-highlighter-8 > .CodeMirror .CodeMirror-gutters {background-color:transparent;}.fusion-syntax-highlighter-8 > .CodeMirror .CodeMirror-gutters { background-color: transparent; }.fusion-syntax-highlighter-8 > .CodeMirror .CodeMirror-linenumber { color: var(--awb-color3); }</style><div class="fusion-syntax-highlighter-container fusion-syntax-highlighter-8 fusion-syntax-highlighter-theme-light no-translate" style="opacity:0;margin-top:0px;margin-right:0px;margin-bottom:2em;margin-left:0px;font-size:14px;border-width:2px;border-style:dashed;border-color:var(--awb-color2);"><div class="syntax-highlighter-copy-code"><span class="syntax-highlighter-copy-code-title" data-id="fusion_syntax_highlighter_8" style="font-size:14px;">Copy to Clipboard</span></div><label for="fusion_syntax_highlighter_8" class="screen-reader-text">Syntax Highlighter</label><textarea class="fusion-syntax-highlighter-textarea" id="fusion_syntax_highlighter_8" data-readonly="nocursor" data-linenumbers="1" data-linewrapping="1" data-theme="default" data-mode="text/css">technique tech_main
{
    pass P0
    {
        VertexShader = NULL;
        PixelShader  = compile ps_2_0 ps_main();
    }
}
</textarea></div></div></div><div class="fusion-layout-column fusion_builder_column fusion-builder-column-3 fusion_builder_column_1_1 1_1 fusion-flex-column" style="--awb-padding-top:2em;--awb-padding-bottom:6em;--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:3.072%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:3.072%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-image-element " style="text-align:center;--awb-margin-bottom:4em;--awb-max-width:100%;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);"><span class="fusion-imageframe imageframe-none imageframe-1 hover-type-none mask overlay opacity_25 dark_mesh fusion-animated has-mask" data-animationtype="fadeIn" data-animationduration="1.0" data-animationoffset="top-into-view" style="background-color:transparent;mask-position:center center;-webkit-mask-position:center center;mask-size:cover;-webkit-mask-size:cover;mask-image:url(https://garyangelonejr.me/wp-content/themes/Avada-Child-Theme/img/masks/mask-07.png);-webkit-mask-image:url(https://garyangelonejr.me/wp-content/themes/Avada-Child-Theme/img/masks/mask-07.png);"><img fetchpriority="high" decoding="async" width="1024" height="363" title="OkiThankYou_Cropped_x2" src="https://garyangelonejr.me/wp-content/uploads/2022/10/OkiThankYou_Cropped_x2.gif" alt class="img-responsive wp-image-3292"></span></div><div style="text-align:center;"><a class="fusion-button button-flat fusion-button-default-size button-default fusion-button-default button-2 fusion-button-default-span fusion-button-default-type fusion-animated" data-animationtype="flipiny" data-animationduration="0.3" data-animationoffset="top-into-view" target="_blank" rel="noopener noreferrer" href="https://github.com/KoschKX/Shader-TreeAutoAnimation"><i class="fa-arrow-circle-down fas awb-button__icon awb-button__icon--default button-icon-left" aria-hidden="true"></i><span class="fusion-button-text awb-button__text awb-button__text--default">GitHub Project</span></a></div></div></div></div></div>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
