From 86a801c057fc3b0580d6130be5740c2ee503444f Mon Sep 17 00:00:00 2001
From: hwc487
Date: Fri, 27 Jan 2012 15:52:36 -0800
Subject: updated from old repo
---
assets/shaders/Julia.frag.glsl | 25 +++++++++++++++
assets/shaders/Keleidoscope.frag.glsl | 25 +++++++++++++++
assets/shaders/Mandel.frag.glsl | 55 +++++++++++++++++++++++++++++++++
assets/shaders/Pulse.frag.glsl | 22 +++++++++++++
assets/shaders/Tunnel.frag.glsl | 23 ++++++++++++++
assets/shaders/Twist.frag.glsl | 23 ++++++++++++++
assets/shaders/plasma.frag.glsl | 32 +++++++++++++++++++
assets/shaders/plasma.vert.glsl | 42 +++++++++++++++++++++++++
assets/shaders/radialBlur.frag.glsl | 47 ++++++++++++++++++++++++++++
assets/shaders/radialGradient.frag.glsl | 51 ++++++++++++++++++++++++++++++
assets/shaders/radialGradient.vert.glsl | 28 +++++++++++++++++
assets/shaders/test_fshader.glsl | 25 +++++++--------
12 files changed, 385 insertions(+), 13 deletions(-)
create mode 100644 assets/shaders/Julia.frag.glsl
create mode 100644 assets/shaders/Keleidoscope.frag.glsl
create mode 100644 assets/shaders/Mandel.frag.glsl
create mode 100644 assets/shaders/Pulse.frag.glsl
create mode 100644 assets/shaders/Tunnel.frag.glsl
create mode 100644 assets/shaders/Twist.frag.glsl
create mode 100644 assets/shaders/plasma.frag.glsl
create mode 100644 assets/shaders/plasma.vert.glsl
create mode 100644 assets/shaders/radialBlur.frag.glsl
create mode 100644 assets/shaders/radialGradient.frag.glsl
create mode 100644 assets/shaders/radialGradient.vert.glsl
(limited to 'assets/shaders')
diff --git a/assets/shaders/Julia.frag.glsl b/assets/shaders/Julia.frag.glsl
new file mode 100644
index 00000000..68cda703
--- /dev/null
+++ b/assets/shaders/Julia.frag.glsl
@@ -0,0 +1,25 @@
+#ifdef GL_ES
+precision highp float;
+#endif
+
+uniform vec2 u_resolution;
+uniform float u_time;
+
+void main(void)
+{
+ vec2 p = -1.0 + 2.0 * gl_FragCoord.xy / u_resolution.xy;
+ vec2 cc = vec2( cos(.25*u_time), sin(.25*u_time*1.423) );
+
+ float dmin = 1000.0;
+ vec2 z = p*vec2(1.33,1.0);
+ for( int i=0; i<64; i++ )
+ {
+ z = cc + vec2( z.x*z.x - z.y*z.y, 2.0*z.x*z.y );
+ float m2 = dot(z,z);
+ if( m2>100.0 ) break;
+ dmin=min(dmin,m2);
+ }
+
+ float color = sqrt(sqrt(dmin))*0.7;
+ gl_FragColor = vec4(color,color,color,1.0);
+}
\ No newline at end of file
diff --git a/assets/shaders/Keleidoscope.frag.glsl b/assets/shaders/Keleidoscope.frag.glsl
new file mode 100644
index 00000000..7d1bdb17
--- /dev/null
+++ b/assets/shaders/Keleidoscope.frag.glsl
@@ -0,0 +1,25 @@
+#ifdef GL_ES
+precision highp float;
+#endif
+
+uniform vec2 u_resolution;
+uniform float u_time;
+uniform sampler2D u_tex0;
+
+void main(void)
+{
+ vec2 p = -1.0 + 2.0 * gl_FragCoord.xy / u_resolution.xy;
+ vec2 uv;
+
+ float a = atan(p.y,p.x);
+ float r = sqrt(dot(p,p));
+
+ uv.x = 7.0*a/3.1416;
+ uv.y = -u_time+ sin(7.0*r+u_time) + .7*cos(u_time+7.0*a);
+
+ float w = .5+.5*(sin(u_time+7.0*r)+ .7*cos(u_time+7.0*a));
+
+ vec3 col = texture2D(u_tex0,uv*.5).xyz;
+
+ gl_FragColor = vec4(col*w,1.0);
+}
\ No newline at end of file
diff --git a/assets/shaders/Mandel.frag.glsl b/assets/shaders/Mandel.frag.glsl
new file mode 100644
index 00000000..6465899d
--- /dev/null
+++ b/assets/shaders/Mandel.frag.glsl
@@ -0,0 +1,55 @@
+#ifdef GL_ES
+precision highp float;
+#endif
+
+uniform vec2 u_resolution;
+uniform float u_time;
+
+void main(void)
+{
+ vec2 p = -1.0 + 2.0 * gl_FragCoord.xy / u_resolution.xy;
+ p.x *= u_resolution.x/u_resolution.y;
+
+ float zoo = .62+.38*sin(.1*u_time);
+ float coa = cos( 0.1*(1.0-zoo)*u_time );
+ float sia = sin( 0.1*(1.0-zoo)*u_time );
+ zoo = pow( zoo,8.0);
+ vec2 xy = vec2( p.x*coa-p.y*sia, p.x*sia+p.y*coa);
+ vec2 cc = vec2(-.745,.186) + xy*zoo;
+
+ vec2 z = vec2(0.0);
+ vec2 z2 = z*z;
+ float m2;
+ float co = 0.0;
+
+
+ // chrome/angelproject/nvidia/glslES don't seem to like to "break" a loop...
+ // so we have to rewrite it in another way
+/*
+ for( int i=0; i<256; i++ )
+ {
+ z = cc + vec2( z.x*z.x - z.y*z.y, 2.0*z.x*z.y );
+ m2 = dot(z,z);
+ if( m2>1024.0 ) break;
+ co += 1.0;
+ }
+*/
+
+ for( int i=0; i<256; i++ )
+ {
+ if( m2<1024.0 )
+ {
+ z = cc + vec2( z.x*z.x - z.y*z.y, 2.0*z.x*z.y );
+ m2 = dot(z,z);
+ co += 1.0;
+ }
+ }
+
+ co = co + 1.0 - log2(.5*log2(m2));
+
+ co = sqrt(co/256.0);
+ gl_FragColor = vec4( .5+.5*cos(6.2831*co+0.0),
+ .5+.5*cos(6.2831*co+0.4),
+ .5+.5*cos(6.2831*co+0.7),
+ 1.0 );
+}
\ No newline at end of file
diff --git a/assets/shaders/Pulse.frag.glsl b/assets/shaders/Pulse.frag.glsl
new file mode 100644
index 00000000..b24c9bef
--- /dev/null
+++ b/assets/shaders/Pulse.frag.glsl
@@ -0,0 +1,22 @@
+#ifdef GL_ES
+precision highp float;
+#endif
+
+uniform float u_time;
+uniform vec2 u_resolution;
+uniform sampler2D u_tex0;
+
+void main(void)
+{
+ vec2 halfres = u_resolution.xy/2.0;
+ vec2 cPos = gl_FragCoord.xy;
+
+ cPos.x -= 0.5*halfres.x*sin(u_time/2.0)+0.3*halfres.x*cos(u_time)+halfres.x;
+ cPos.y -= 0.4*halfres.y*sin(u_time/5.0)+0.3*halfres.y*cos(u_time)+halfres.y;
+ float cLength = length(cPos);
+
+ vec2 uv = gl_FragCoord.xy/u_resolution.xy+(cPos/cLength)*sin(cLength/30.0-u_time*10.0)/25.0;
+ vec3 col = texture2D(u_tex0,uv).xyz*50.0/cLength;
+
+ gl_FragColor = vec4(col,1.0);
+}
\ No newline at end of file
diff --git a/assets/shaders/Tunnel.frag.glsl b/assets/shaders/Tunnel.frag.glsl
new file mode 100644
index 00000000..9deb52fb
--- /dev/null
+++ b/assets/shaders/Tunnel.frag.glsl
@@ -0,0 +1,23 @@
+#ifdef GL_ES
+precision highp float;
+#endif
+
+uniform vec2 u_resolution;
+uniform float u_time;
+uniform sampler2D u_tex0;
+
+void main(void)
+{
+ vec2 p = -1.0 + 2.0 * gl_FragCoord.xy / u_resolution.xy;
+ vec2 uv;
+
+ float a = atan(p.y,p.x);
+ float r = sqrt(dot(p,p));
+
+ uv.x = .75*u_time+.1/r;
+ uv.y = a/3.1416;
+
+ vec3 col = texture2D(u_tex0,uv).xyz;
+
+ gl_FragColor = vec4(col*r,1.0);
+}
\ No newline at end of file
diff --git a/assets/shaders/Twist.frag.glsl b/assets/shaders/Twist.frag.glsl
new file mode 100644
index 00000000..b7477747
--- /dev/null
+++ b/assets/shaders/Twist.frag.glsl
@@ -0,0 +1,23 @@
+#ifdef GL_ES
+precision highp float;
+#endif
+
+uniform vec2 u_resolution;
+uniform float u_time;
+uniform sampler2D u_tex0;
+
+void main(void)
+{
+ vec2 p = -1.0 + 2.0 * gl_FragCoord.xy / u_resolution.xy;
+ vec2 uv;
+
+ float a = atan(p.y,p.x);
+ float r = sqrt(dot(p,p));
+
+ uv.x = r - .25*u_time;
+ uv.y = cos(a*5.0 + 2.0*sin(u_time+7.0*r)) ;
+
+ vec3 col = (.5+.5*uv.y)*texture2D(u_tex0,uv).xyz;
+
+ gl_FragColor = vec4(col,1.0);
+}
\ No newline at end of file
diff --git a/assets/shaders/plasma.frag.glsl b/assets/shaders/plasma.frag.glsl
new file mode 100644
index 00000000..2ab8f49c
--- /dev/null
+++ b/assets/shaders/plasma.frag.glsl
@@ -0,0 +1,32 @@
+//
+// Fragment shader for procedural bricks
+//
+// Authors: Dave Baldwin, Steve Koren, Randi Rost
+// based on a shader by Darwyn Peachey
+//
+// Copyright (c) 2002-2006 3Dlabs Inc. Ltd.
+//
+// See 3Dlabs-License.txt for license information
+//
+
+#ifdef GL_ES
+precision highp float;
+#endif
+
+
+varying vec2 v_uv;
+uniform float u_time;
+uniform vec4 color;
+
+void main(void)
+{
+ float x = v_uv.x ;
+ float y = v_uv.y ;
+ float time = color.x;
+ float wave = (cos(time + y / 0.2 + cos(x / 0.3 + cos((y / 0.1)))));
+ float wave1 = (sin(abs(wave + y/0.6)));
+ float wave2 = (sin(abs(wave1 + y/0.8)));
+ float tmp = u_time * 0.1;
+ gl_FragColor = vec4( abs(vec3(wave2,wave1,wave)),1.0);
+ //gl_FragColor = color;
+}
diff --git a/assets/shaders/plasma.vert.glsl b/assets/shaders/plasma.vert.glsl
new file mode 100644
index 00000000..f817c143
--- /dev/null
+++ b/assets/shaders/plasma.vert.glsl
@@ -0,0 +1,42 @@
+//
+// Vertex shader for procedural bricks
+//
+// Authors: Dave Baldwin, Steve Koren, Randi Rost
+// based on a shader by Darwyn Peachey
+//
+// Copyright (c) 2002-2006 3Dlabs Inc. Ltd.
+//
+// See 3Dlabs-License.txt for license information
+//
+
+//uniform vec3 LightPosition;
+
+#ifdef GL_ES
+precision highp float;
+#endif
+
+
+// attributes
+attribute vec3 vert;
+attribute vec3 normal;
+attribute vec2 texcoord;
+
+uniform mat4 u_shadowLightWorld;
+uniform mat4 u_shadowBiasMatrix;
+uniform mat4 u_vShadowLight;
+uniform vec3 u_lightPos;
+
+// matrix uniforms
+uniform mat4 u_mvMatrix;
+uniform vec3 u_eye;
+uniform mat4 u_normalMatrix;
+uniform mat4 u_projMatrix;
+uniform mat4 u_worldMatrix;
+
+varying vec2 v_uv;
+
+void main(void)
+{
+ gl_Position = u_projMatrix * u_mvMatrix * vec4(vert,1.0) ;
+ v_uv = texcoord;
+}
\ No newline at end of file
diff --git a/assets/shaders/radialBlur.frag.glsl b/assets/shaders/radialBlur.frag.glsl
new file mode 100644
index 00000000..673d082a
--- /dev/null
+++ b/assets/shaders/radialBlur.frag.glsl
@@ -0,0 +1,47 @@
+
+precision highp float;
+
+uniform vec2 u_resolution;
+uniform float u_time;
+uniform vec4 color;
+uniform sampler2D u_tex0;
+
+vec3 deform( in vec2 p )
+{
+ vec2 uv;
+
+ //float time = color.x;
+ float time = u_time;
+ vec2 q = vec2( sin(1.1*time+p.x),sin(1.2*time+p.y) );
+
+ float a = atan(q.y,q.x);
+ float r = sqrt(dot(q,q));
+
+ uv.x = sin(0.0+1.0*time)+p.x*sqrt(r*r+1.0);
+ uv.y = sin(0.6+1.1*time)+p.y*sqrt(r*r+1.0);
+
+ return texture2D(u_tex0,uv*.5).xyz;
+}
+
+void main(void)
+{
+ vec2 p = -1.0 + 2.0 * gl_FragCoord.xy / u_resolution.xy;
+ //vec2 p = -1.0 + 2.0 * gl_FragCoord.xy / vec2(500,500).xy;
+ vec2 s = p;
+
+ vec3 total = vec3(0.0);
+ vec2 d = (vec2(0.0,0.0)-p)/40.0;
+ float w = 1.0;
+ for( int i=0; i<40; i++ )
+ {
+ vec3 res = deform(s);
+ res = smoothstep(0.1,1.0,res*res);
+ total += w*res;
+ w *= .99;
+ s += d;
+ }
+ total /= 40.0;
+ float r = 1.5/(1.0+dot(p,p));
+
+ gl_FragColor = vec4( total*r,1.0);
+}
\ No newline at end of file
diff --git a/assets/shaders/radialGradient.frag.glsl b/assets/shaders/radialGradient.frag.glsl
new file mode 100644
index 00000000..cd751750
--- /dev/null
+++ b/assets/shaders/radialGradient.frag.glsl
@@ -0,0 +1,51 @@
+/*
+This file contains proprietary software owned by Motorola Mobility, Inc.
+No rights, expressed or implied, whatsoever to this software are provided by Motorola Mobility, Inc. hereunder.
+(c) Copyright 2011 Motorola Mobility, Inc. All Rights Reserved.
+ */
+
+#ifdef GL_ES
+precision highp float;
+#endif
+
+uniform vec4 u_color1;
+uniform vec4 u_color2;
+uniform vec4 u_color3;
+uniform vec4 u_color4;
+uniform float u_colorStop1;
+uniform float u_colorStop2;
+uniform float u_colorStop3;
+uniform float u_colorStop4;
+uniform vec2 u_cos_sin_angle;
+//uniform int u_colorCount; // currently using all 4
+
+varying vec2 v_uv;
+
+void main(void)
+{
+ vec2 pt = vec2( v_uv.x - 0.5, v_uv.y - 0.5);
+ float t = sqrt( dot(pt, pt) );
+
+ vec4 color;
+ if (t < u_colorStop1)
+ color = u_color1;
+ else if (t < u_colorStop2)
+ {
+ float tLocal = (t - u_colorStop1)/(u_colorStop2 - u_colorStop1);
+ color = mix(u_color1,u_color2,tLocal);
+ }
+ else if (t < u_colorStop3)
+ {
+ float tLocal = (t - u_colorStop2)/(u_colorStop3 - u_colorStop2);
+ color = mix(u_color2,u_color3,tLocal);
+ }
+ else if (t < u_colorStop4)
+ {
+ float tLocal = (t - u_colorStop3)/(u_colorStop4 - u_colorStop3);
+ color = mix(u_color3,u_color4,tLocal);
+ }
+ else
+ color = u_color4;
+
+ gl_FragColor = color;
+}
diff --git a/assets/shaders/radialGradient.vert.glsl b/assets/shaders/radialGradient.vert.glsl
new file mode 100644
index 00000000..c3e1b50a
--- /dev/null
+++ b/assets/shaders/radialGradient.vert.glsl
@@ -0,0 +1,28 @@
+/*
+This file contains proprietary software owned by Motorola Mobility, Inc.
+No rights, expressed or implied, whatsoever to this software are provided by Motorola Mobility, Inc. hereunder.
+(c) Copyright 2011 Motorola Mobility, Inc. All Rights Reserved.
+ */
+
+
+#ifdef GL_ES
+precision highp float;
+#endif
+
+
+// attributes
+attribute vec3 vert;
+attribute vec3 normal;
+attribute vec2 texcoord;
+
+// matrix uniforms
+uniform mat4 u_mvMatrix;
+uniform mat4 u_projMatrix;
+
+varying vec2 v_uv;
+
+void main(void)
+{
+ gl_Position = u_projMatrix * u_mvMatrix * vec4(vert,1.0) ;
+ v_uv = texcoord;
+}
\ No newline at end of file
diff --git a/assets/shaders/test_fshader.glsl b/assets/shaders/test_fshader.glsl
index 3a0af39f..629d1878 100644
--- a/assets/shaders/test_fshader.glsl
+++ b/assets/shaders/test_fshader.glsl
@@ -4,7 +4,6 @@ No rights, expressed or implied, whatsoever to this software are provided by Mot
(c) Copyright 2011 Motorola Mobility, Inc. All Rights Reserved.
*/
-
#ifdef GL_ES
precision highp float;
#endif
@@ -15,18 +14,18 @@ uniform vec4 u_light0Diff;
uniform vec4 u_light0Amb;
// diffuse map
-uniform sampler2D colMap;
+uniform sampler2D u_colMap;
// environment map
uniform sampler2D envMap;
// normal map
-uniform sampler2D normalMap;
+uniform sampler2D u_normalMap;
-// glow map
-uniform sampler2D glowMap;
+// specular map
+uniform sampler2D u_glowMap;
-// glow map
+// depth map
uniform sampler2D depthMap;
//material uniforms
@@ -45,7 +44,7 @@ varying vec4 vShadowCoord;
varying vec2 vEnvTexCoord;
varying float vDiffuseIntensity;
-#ifdef PC
+#if defined( PC )
void main()
{
@@ -57,14 +56,14 @@ void main()
vec4 colMapTexel = vec4(0);
if (u_renderGlow <= 0.5) {
- colMapTexel = vec4(texture2D(colMap, vec2(vNormal.w, vECPos.w)).rgb, 1.0);
+ colMapTexel = vec4(texture2D(u_colMap, vec2(vNormal.w, vECPos.w)).rgb, 1.0);
} else {
- colMapTexel = vec4(texture2D(glowMap, vec2(vNormal.w, vECPos.w)).rgb, 1.0);
+ colMapTexel = vec4(texture2D(u_glowMap, vec2(vNormal.w, vECPos.w)).rgb, 1.0);
}
// normal mapping
vec3 normal = normalize(vNormal.xyz);
- vec3 mapNormal = texture2D(normalMap, vec2(vNormal.w, vECPos.w)).xyz * 2.0 - 1.0;
+ vec3 mapNormal = texture2D(u_normalMap, vec2(vNormal.w, vECPos.w)).xyz * 2.0 - 1.0;
mapNormal = normalize(mapNormal.x*vec3(normal.z, 0.0, -normal.x) + vec3(0.0, mapNormal.y, 0.0) + mapNormal.z*normal);
// create envmap coordinates
@@ -108,15 +107,15 @@ void main()
#endif
-#ifdef DEVICE
+#if defined( DEVICE )
void main()
{
- vec4 colMapTexel = vec4(texture2D(colMap, vec2(vNormal.w, vECPos.w)).rgb, 1.0);
+ vec4 colMapTexel = vec4(texture2D(u_colMap, vec2(vNormal.w, vECPos.w)).rgb, 1.0);
// // normal mapping
vec3 normal = normalize(vNormal.xyz);
-// vec3 mapNormal = texture2D(normalMap, vec2(vNormal.w, vECPos.w)).xyz * 2.0 - 1.0;
+// vec3 mapNormal = texture2D(u_normalMap, vec2(vNormal.w, vECPos.w)).xyz * 2.0 - 1.0;
// mapNormal = normalize(mapNormal.x*vec3(normal.z, 0.0, -normal.x) + vec3(0.0, mapNormal.y, 0.0) + mapNormal.z*normal);
//
// // create envmap coordinates
--
cgit v1.2.3