<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.stephanschlegel.de/index.php?action=history&amp;feed=atom&amp;title=Three.js_-_Perlin_Noise_Shader</id>
	<title>Three.js - Perlin Noise Shader - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.stephanschlegel.de/index.php?action=history&amp;feed=atom&amp;title=Three.js_-_Perlin_Noise_Shader"/>
	<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Three.js_-_Perlin_Noise_Shader&amp;action=history"/>
	<updated>2026-05-06T16:56:32Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikizone</subtitle>
	<generator>MediaWiki 1.35.14</generator>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Three.js_-_Perlin_Noise_Shader&amp;diff=25870&amp;oldid=prev</id>
		<title>134.3.74.15 am 6. Februar 2022 um 10:07 Uhr</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Three.js_-_Perlin_Noise_Shader&amp;diff=25870&amp;oldid=prev"/>
		<updated>2022-02-06T10:07:55Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 6. Februar 2022, 10:07 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Zeile 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Shader Beispiel&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;== Links ==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt; [[Three.js - Shaders]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;== Beispiel ==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;script.js&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;script.js&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>134.3.74.15</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Three.js_-_Perlin_Noise_Shader&amp;diff=25868&amp;oldid=prev</id>
		<title>134.3.74.15 am 6. Februar 2022 um 10:05 Uhr</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Three.js_-_Perlin_Noise_Shader&amp;diff=25868&amp;oldid=prev"/>
		<updated>2022-02-06T10:05:53Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 6. Februar 2022, 10:05 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Zeile 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Shader Beispiel&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;script.js&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;script.js&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>134.3.74.15</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Three.js_-_Perlin_Noise_Shader&amp;diff=25867&amp;oldid=prev</id>
		<title>134.3.74.15: Die Seite wurde neu angelegt: „  script.js &lt;syntaxhighlight lang=&quot;javascript&quot;&gt; import portalVertexShader from &#039;./shaders/portal/vertex.glsl&#039; import portalFragmentShader from &#039;./shaders/porta…“</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Three.js_-_Perlin_Noise_Shader&amp;diff=25867&amp;oldid=prev"/>
		<updated>2022-02-06T10:05:32Z</updated>

		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: „  script.js &amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt; import portalVertexShader from &amp;#039;./shaders/portal/vertex.glsl&amp;#039; import portalFragmentShader from &amp;#039;./shaders/porta…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
script.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
import portalVertexShader from &amp;#039;./shaders/portal/vertex.glsl&amp;#039;&lt;br /&gt;
import portalFragmentShader from &amp;#039;./shaders/portal/fragment.glsl&amp;#039;&lt;br /&gt;
//...&lt;br /&gt;
// Debug&lt;br /&gt;
const debugObject = {&lt;br /&gt;
    portalColorStart : &amp;#039;#000000&amp;#039;,&lt;br /&gt;
    portalColorEnd : &amp;#039;#d9a8d6&amp;#039;&lt;br /&gt;
}&lt;br /&gt;
//...&lt;br /&gt;
const portalLightMaterial = new THREE.ShaderMaterial({&lt;br /&gt;
    uniforms:{&lt;br /&gt;
        uTime: {value: 0},&lt;br /&gt;
        uColorStart: { value: new THREE.Color(debugObject.portalColorStart)},&lt;br /&gt;
        uColorEnd: { value: new THREE.Color(debugObject.portalColorEnd)}&lt;br /&gt;
    },&lt;br /&gt;
    vertexShader: portalVertexShader,&lt;br /&gt;
    fragmentShader: portalFragmentShader&lt;br /&gt;
})&lt;br /&gt;
&lt;br /&gt;
gui.addColor(debugObject,&amp;#039;portalColorStart&amp;#039;)&lt;br /&gt;
    .onChange( () =&amp;gt;{ portalLightMaterial.uniforms.uColorStart.value.set(debugObject.portalColorStart) })&lt;br /&gt;
gui.addColor(debugObject,&amp;#039;portalColorEnd&amp;#039;)&lt;br /&gt;
    .onChange( () =&amp;gt;{ portalLightMaterial.uniforms.uColorEnd.value.set(debugObject.portalColorEnd) })&lt;br /&gt;
//...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
vertex.glsl&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
varying vec2 vUv; // send coordinates to fragment shader&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
    vUv = uv;&lt;br /&gt;
    vec4 modelPosition = modelMatrix * vec4(position, 1.0);&lt;br /&gt;
    vec4 viewPosition = viewMatrix * modelPosition;&lt;br /&gt;
    vec4 projectionPosition = projectionMatrix * viewPosition;&lt;br /&gt;
&lt;br /&gt;
    gl_Position = projectionPosition;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
fragment.glsl&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
varying vec2 vUv;&lt;br /&gt;
uniform float uTime;&lt;br /&gt;
uniform vec3 uColorStart;&lt;br /&gt;
uniform vec3 uColorEnd;&lt;br /&gt;
//  Classic Perlin 3D Noise &lt;br /&gt;
//  by Stefan Gustavson&lt;br /&gt;
//&lt;br /&gt;
vec4 permute(vec4 x){ return mod(((x*34.0)+1.0)*x, 289.0); }&lt;br /&gt;
vec4 taylorInvSqrt(vec4 r){ return 1.79284291400159 - 0.85373472095314 * r; }&lt;br /&gt;
vec3 fade(vec3 t) { return t*t*t*(t*(t*6.0-15.0)+10.0); }&lt;br /&gt;
float cnoise(vec3 P)&lt;br /&gt;
{&lt;br /&gt;
    vec3 Pi0 = floor(P); // Integer part for indexing&lt;br /&gt;
    vec3 Pi1 = Pi0 + vec3(1.0); // Integer part + 1&lt;br /&gt;
    Pi0 = mod(Pi0, 289.0);&lt;br /&gt;
    Pi1 = mod(Pi1, 289.0);&lt;br /&gt;
    vec3 Pf0 = fract(P); // Fractional part for interpolation&lt;br /&gt;
    vec3 Pf1 = Pf0 - vec3(1.0); // Fractional part - 1.0&lt;br /&gt;
    vec4 ix = vec4(Pi0.x, Pi1.x, Pi0.x, Pi1.x);&lt;br /&gt;
    vec4 iy = vec4(Pi0.yy, Pi1.yy);&lt;br /&gt;
    vec4 iz0 = Pi0.zzzz;&lt;br /&gt;
    vec4 iz1 = Pi1.zzzz;&lt;br /&gt;
&lt;br /&gt;
    vec4 ixy = permute(permute(ix) + iy);&lt;br /&gt;
    vec4 ixy0 = permute(ixy + iz0);&lt;br /&gt;
    vec4 ixy1 = permute(ixy + iz1);&lt;br /&gt;
&lt;br /&gt;
    vec4 gx0 = ixy0 / 7.0;&lt;br /&gt;
    vec4 gy0 = fract(floor(gx0) / 7.0) - 0.5;&lt;br /&gt;
    gx0 = fract(gx0);&lt;br /&gt;
    vec4 gz0 = vec4(0.5) - abs(gx0) - abs(gy0);&lt;br /&gt;
    vec4 sz0 = step(gz0, vec4(0.0));&lt;br /&gt;
    gx0 -= sz0 * (step(0.0, gx0) - 0.5);&lt;br /&gt;
    gy0 -= sz0 * (step(0.0, gy0) - 0.5);&lt;br /&gt;
&lt;br /&gt;
    vec4 gx1 = ixy1 / 7.0;&lt;br /&gt;
    vec4 gy1 = fract(floor(gx1) / 7.0) - 0.5;&lt;br /&gt;
    gx1 = fract(gx1);&lt;br /&gt;
    vec4 gz1 = vec4(0.5) - abs(gx1) - abs(gy1);&lt;br /&gt;
    vec4 sz1 = step(gz1, vec4(0.0));&lt;br /&gt;
    gx1 -= sz1 * (step(0.0, gx1) - 0.5);&lt;br /&gt;
    gy1 -= sz1 * (step(0.0, gy1) - 0.5);&lt;br /&gt;
&lt;br /&gt;
    vec3 g000 = vec3(gx0.x,gy0.x,gz0.x);&lt;br /&gt;
    vec3 g100 = vec3(gx0.y,gy0.y,gz0.y);&lt;br /&gt;
    vec3 g010 = vec3(gx0.z,gy0.z,gz0.z);&lt;br /&gt;
    vec3 g110 = vec3(gx0.w,gy0.w,gz0.w);&lt;br /&gt;
    vec3 g001 = vec3(gx1.x,gy1.x,gz1.x);&lt;br /&gt;
    vec3 g101 = vec3(gx1.y,gy1.y,gz1.y);&lt;br /&gt;
    vec3 g011 = vec3(gx1.z,gy1.z,gz1.z);&lt;br /&gt;
    vec3 g111 = vec3(gx1.w,gy1.w,gz1.w);&lt;br /&gt;
&lt;br /&gt;
    vec4 norm0 = taylorInvSqrt(vec4(dot(g000, g000), dot(g010, g010), dot(g100, g100), dot(g110, g110)));&lt;br /&gt;
    g000 *= norm0.x;&lt;br /&gt;
    g010 *= norm0.y;&lt;br /&gt;
    g100 *= norm0.z;&lt;br /&gt;
    g110 *= norm0.w;&lt;br /&gt;
    vec4 norm1 = taylorInvSqrt(vec4(dot(g001, g001), dot(g011, g011), dot(g101, g101), dot(g111, g111)));&lt;br /&gt;
    g001 *= norm1.x;&lt;br /&gt;
    g011 *= norm1.y;&lt;br /&gt;
    g101 *= norm1.z;&lt;br /&gt;
    g111 *= norm1.w;&lt;br /&gt;
&lt;br /&gt;
    float n000 = dot(g000, Pf0);&lt;br /&gt;
    float n100 = dot(g100, vec3(Pf1.x, Pf0.yz));&lt;br /&gt;
    float n010 = dot(g010, vec3(Pf0.x, Pf1.y, Pf0.z));&lt;br /&gt;
    float n110 = dot(g110, vec3(Pf1.xy, Pf0.z));&lt;br /&gt;
    float n001 = dot(g001, vec3(Pf0.xy, Pf1.z));&lt;br /&gt;
    float n101 = dot(g101, vec3(Pf1.x, Pf0.y, Pf1.z));&lt;br /&gt;
    float n011 = dot(g011, vec3(Pf0.x, Pf1.yz));&lt;br /&gt;
    float n111 = dot(g111, Pf1);&lt;br /&gt;
&lt;br /&gt;
    vec3 fade_xyz = fade(Pf0);&lt;br /&gt;
    vec4 n_z = mix(vec4(n000, n100, n010, n110), vec4(n001, n101, n011, n111), fade_xyz.z);&lt;br /&gt;
    vec2 n_yz = mix(n_z.xy, n_z.zw, fade_xyz.y);&lt;br /&gt;
    float n_xyz = mix(n_yz.x, n_yz.y, fade_xyz.x); &lt;br /&gt;
&lt;br /&gt;
    return 2.2 * n_xyz;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
  // Displace uv&lt;br /&gt;
  vec2 displacedUv = vUv + cnoise(vec3(vUv * 5.3, uTime * 0.12));&lt;br /&gt;
&lt;br /&gt;
  // Perlin noise&lt;br /&gt;
  float strength = cnoise(vec3(displacedUv * 5.0, uTime * 0.18 ));&lt;br /&gt;
  &lt;br /&gt;
  // Outer glow&lt;br /&gt;
  float outerGlow = distance(vUv, vec2(0.5)) * 5.0 - 1.55; // distance to center&lt;br /&gt;
  strength += outerGlow;&lt;br /&gt;
&lt;br /&gt;
  // Apply black white step&lt;br /&gt;
  strength = strength + step(-0.2, strength) * 0.9; // edge / value&lt;br /&gt;
&lt;br /&gt;
  // Clamp the value 0-1&lt;br /&gt;
  //strength = clamp(strength, 0.0, 1.0);&lt;br /&gt;
&lt;br /&gt;
  //gl_FragColor = vec4(vUv, 1.0, 1.0);&lt;br /&gt;
  //gl_FragColor = vec4(outerGlow, outerGlow, outerGlow, 1.0); // test outer glow&lt;br /&gt;
  &lt;br /&gt;
  // Final color&lt;br /&gt;
  vec3 color = mix(uColorStart, uColorEnd, strength); &lt;br /&gt;
  //gl_FragColor = vec4(strength, strength, strength, 1.0); // bw version&lt;br /&gt;
  gl_FragColor = vec4(color, 1.0); &lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>134.3.74.15</name></author>
	</entry>
</feed>