From 96a0a8c916533eb5625816192ed38488f639326d Mon Sep 17 00:00:00 2001 From: Nivesh Rajbhandari Date: Wed, 22 Feb 2012 11:00:20 -0800 Subject: Integrating canvas-2d drawing and WebGL fixes, including adding back WebGL materials. Signed-off-by: Nivesh Rajbhandari --- assets/shaders/Mandel.frag.glsl | 55 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 assets/shaders/Mandel.frag.glsl (limited to 'assets/shaders/Mandel.frag.glsl') 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 -- cgit v1.2.3 From f775fb752cac57a0c1f6c42c8c60f5ff329eab32 Mon Sep 17 00:00:00 2001 From: Nivesh Rajbhandari Date: Wed, 22 Feb 2012 11:36:19 -0800 Subject: Revert "Integrating canvas-2d drawing and WebGL fixes, including adding back WebGL materials." This reverts commit 96a0a8c916533eb5625816192ed38488f639326d. --- assets/shaders/Mandel.frag.glsl | 55 ----------------------------------------- 1 file changed, 55 deletions(-) delete mode 100644 assets/shaders/Mandel.frag.glsl (limited to 'assets/shaders/Mandel.frag.glsl') diff --git a/assets/shaders/Mandel.frag.glsl b/assets/shaders/Mandel.frag.glsl deleted file mode 100644 index 6465899d..00000000 --- a/assets/shaders/Mandel.frag.glsl +++ /dev/null @@ -1,55 +0,0 @@ -#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 -- cgit v1.2.3 From d5b216d9d6d2b8cb93106e8f8ca351089d05b41d Mon Sep 17 00:00:00 2001 From: Nivesh Rajbhandari Date: Wed, 22 Feb 2012 11:52:31 -0800 Subject: Integrating canvas-2d and WebGL drawing fixes. Also adding back WebGL materials. Signed-off-by: Nivesh Rajbhandari --- assets/shaders/Mandel.frag.glsl | 55 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 assets/shaders/Mandel.frag.glsl (limited to 'assets/shaders/Mandel.frag.glsl') 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 -- cgit v1.2.3