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/TwistVert.vert.glsl | 97 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 assets/shaders/TwistVert.vert.glsl (limited to 'assets/shaders/TwistVert.vert.glsl') diff --git a/assets/shaders/TwistVert.vert.glsl b/assets/shaders/TwistVert.vert.glsl new file mode 100644 index 00000000..29cb30ea --- /dev/null +++ b/assets/shaders/TwistVert.vert.glsl @@ -0,0 +1,97 @@ +/* +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; + +// scalar uniforms +uniform float u_limit1; +uniform float u_limit2; +uniform float u_twistAmount; +uniform float u_center; + +// texture sampler uniforms +uniform sampler2D u_tex0; +uniform sampler2D u_tex1; + +uniform vec4 color; + + +// matrix uniforms +uniform mat4 u_mvMatrix; +uniform mat4 u_projMatrix; +uniform mat4 u_worldMatrix; + +//varying vec4 v_color; +varying float v_zNormal; +varying vec2 v_texcoord; + + +float GetAngle( float t ) +{ + float angle= 0.0; + if (t < u_limit2) + { + if (t < u_limit1) + { + angle = u_twistAmount; + } + else + { + angle = (t - u_limit2)/(u_limit1 - u_limit2)*u_twistAmount; + } + } + + return angle; +} + + +void main(void) +{ + vec3 pos = vert; + vec2 uv = texcoord; + v_texcoord = texcoord; + + //v_color = vec4(texcoord.x, texcoord.y, 0, 1); + + v_zNormal = 1.0; + if (uv.x < u_limit2) + { + float angle = GetAngle( uv.x ); + float cs = cos(angle), sn = sin(angle); + + pos.y -= u_center; + vec3 ctrPt = pos; + float y = pos.y*cs - pos.z*sn + u_center; + pos.z = pos.y*sn + pos.z*cs; + pos.y = y; + + // rotate the normal + mat3 rotMat = mat3( vec3( 1.0, 0.0, 0.0 ), vec3( 0.0, cs, sn ), vec3( 0.0, -sn, cs ) ); + vec3 pt0 = ctrPt, pt1 = vec3(ctrPt.x, ctrPt.y+1.0, ctrPt.z), pt2 = vec3( ctrPt.x+1.0, ctrPt.y, ctrPt.z); + pt0 = rotMat * pt0; pt1 = rotMat * pt1; + angle = GetAngle(1.0); + cs = cos(angle); sn = sin(angle); + rotMat = mat3( vec3( 1.0, 0.0, 0.0 ), vec3( 0.0, cs, sn ), vec3( 0.0, -sn, cs ) ); + pt2 = rotMat * pt2; + pt0.y += u_center; pt1.y += u_center; pt2.y += u_center; + //vec4 nrm = u_projMatrix * u_mvMatrix * vec4( cross(pt1-pt0, pt2-pt0), 1.0 ); + vec4 nrm = vec4( cross(pt1-pt0, pt2-pt0), 1.0 ); + + //v_zNormal = normal.y*sn + normal.z*cs; + v_zNormal = -nrm.z; + } + + gl_Position = u_projMatrix * u_mvMatrix * vec4(pos,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/TwistVert.vert.glsl | 97 -------------------------------------- 1 file changed, 97 deletions(-) delete mode 100644 assets/shaders/TwistVert.vert.glsl (limited to 'assets/shaders/TwistVert.vert.glsl') diff --git a/assets/shaders/TwistVert.vert.glsl b/assets/shaders/TwistVert.vert.glsl deleted file mode 100644 index 29cb30ea..00000000 --- a/assets/shaders/TwistVert.vert.glsl +++ /dev/null @@ -1,97 +0,0 @@ -/* -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; - -// scalar uniforms -uniform float u_limit1; -uniform float u_limit2; -uniform float u_twistAmount; -uniform float u_center; - -// texture sampler uniforms -uniform sampler2D u_tex0; -uniform sampler2D u_tex1; - -uniform vec4 color; - - -// matrix uniforms -uniform mat4 u_mvMatrix; -uniform mat4 u_projMatrix; -uniform mat4 u_worldMatrix; - -//varying vec4 v_color; -varying float v_zNormal; -varying vec2 v_texcoord; - - -float GetAngle( float t ) -{ - float angle= 0.0; - if (t < u_limit2) - { - if (t < u_limit1) - { - angle = u_twistAmount; - } - else - { - angle = (t - u_limit2)/(u_limit1 - u_limit2)*u_twistAmount; - } - } - - return angle; -} - - -void main(void) -{ - vec3 pos = vert; - vec2 uv = texcoord; - v_texcoord = texcoord; - - //v_color = vec4(texcoord.x, texcoord.y, 0, 1); - - v_zNormal = 1.0; - if (uv.x < u_limit2) - { - float angle = GetAngle( uv.x ); - float cs = cos(angle), sn = sin(angle); - - pos.y -= u_center; - vec3 ctrPt = pos; - float y = pos.y*cs - pos.z*sn + u_center; - pos.z = pos.y*sn + pos.z*cs; - pos.y = y; - - // rotate the normal - mat3 rotMat = mat3( vec3( 1.0, 0.0, 0.0 ), vec3( 0.0, cs, sn ), vec3( 0.0, -sn, cs ) ); - vec3 pt0 = ctrPt, pt1 = vec3(ctrPt.x, ctrPt.y+1.0, ctrPt.z), pt2 = vec3( ctrPt.x+1.0, ctrPt.y, ctrPt.z); - pt0 = rotMat * pt0; pt1 = rotMat * pt1; - angle = GetAngle(1.0); - cs = cos(angle); sn = sin(angle); - rotMat = mat3( vec3( 1.0, 0.0, 0.0 ), vec3( 0.0, cs, sn ), vec3( 0.0, -sn, cs ) ); - pt2 = rotMat * pt2; - pt0.y += u_center; pt1.y += u_center; pt2.y += u_center; - //vec4 nrm = u_projMatrix * u_mvMatrix * vec4( cross(pt1-pt0, pt2-pt0), 1.0 ); - vec4 nrm = vec4( cross(pt1-pt0, pt2-pt0), 1.0 ); - - //v_zNormal = normal.y*sn + normal.z*cs; - v_zNormal = -nrm.z; - } - - gl_Position = u_projMatrix * u_mvMatrix * vec4(pos,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/TwistVert.vert.glsl | 97 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 assets/shaders/TwistVert.vert.glsl (limited to 'assets/shaders/TwistVert.vert.glsl') diff --git a/assets/shaders/TwistVert.vert.glsl b/assets/shaders/TwistVert.vert.glsl new file mode 100644 index 00000000..29cb30ea --- /dev/null +++ b/assets/shaders/TwistVert.vert.glsl @@ -0,0 +1,97 @@ +/* +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; + +// scalar uniforms +uniform float u_limit1; +uniform float u_limit2; +uniform float u_twistAmount; +uniform float u_center; + +// texture sampler uniforms +uniform sampler2D u_tex0; +uniform sampler2D u_tex1; + +uniform vec4 color; + + +// matrix uniforms +uniform mat4 u_mvMatrix; +uniform mat4 u_projMatrix; +uniform mat4 u_worldMatrix; + +//varying vec4 v_color; +varying float v_zNormal; +varying vec2 v_texcoord; + + +float GetAngle( float t ) +{ + float angle= 0.0; + if (t < u_limit2) + { + if (t < u_limit1) + { + angle = u_twistAmount; + } + else + { + angle = (t - u_limit2)/(u_limit1 - u_limit2)*u_twistAmount; + } + } + + return angle; +} + + +void main(void) +{ + vec3 pos = vert; + vec2 uv = texcoord; + v_texcoord = texcoord; + + //v_color = vec4(texcoord.x, texcoord.y, 0, 1); + + v_zNormal = 1.0; + if (uv.x < u_limit2) + { + float angle = GetAngle( uv.x ); + float cs = cos(angle), sn = sin(angle); + + pos.y -= u_center; + vec3 ctrPt = pos; + float y = pos.y*cs - pos.z*sn + u_center; + pos.z = pos.y*sn + pos.z*cs; + pos.y = y; + + // rotate the normal + mat3 rotMat = mat3( vec3( 1.0, 0.0, 0.0 ), vec3( 0.0, cs, sn ), vec3( 0.0, -sn, cs ) ); + vec3 pt0 = ctrPt, pt1 = vec3(ctrPt.x, ctrPt.y+1.0, ctrPt.z), pt2 = vec3( ctrPt.x+1.0, ctrPt.y, ctrPt.z); + pt0 = rotMat * pt0; pt1 = rotMat * pt1; + angle = GetAngle(1.0); + cs = cos(angle); sn = sin(angle); + rotMat = mat3( vec3( 1.0, 0.0, 0.0 ), vec3( 0.0, cs, sn ), vec3( 0.0, -sn, cs ) ); + pt2 = rotMat * pt2; + pt0.y += u_center; pt1.y += u_center; pt2.y += u_center; + //vec4 nrm = u_projMatrix * u_mvMatrix * vec4( cross(pt1-pt0, pt2-pt0), 1.0 ); + vec4 nrm = vec4( cross(pt1-pt0, pt2-pt0), 1.0 ); + + //v_zNormal = normal.y*sn + normal.z*cs; + v_zNormal = -nrm.z; + } + + gl_Position = u_projMatrix * u_mvMatrix * vec4(pos,1.0) ; +} \ No newline at end of file -- cgit v1.2.3