aboutsummaryrefslogtreecommitdiff
path: root/assets/shaders/TwistVert.vert.glsl
diff options
context:
space:
mode:
authorValerio Virgillito2012-07-09 14:35:44 -0700
committerValerio Virgillito2012-07-09 14:35:44 -0700
commit84b3327bd92faafab7954b5eb64c7abe24a3fe13 (patch)
tree3f56cbed2f08c5a81ea79eaf0bcb9bd031d8a627 /assets/shaders/TwistVert.vert.glsl
parentc0a42c56f768a873ba637f5b86d5f6a84d4a3312 (diff)
parent40c6eb2c06b34f65a74d59ef9687251952858bab (diff)
downloadninja-84b3327bd92faafab7954b5eb64c7abe24a3fe13.tar.gz
Merge branch 'normalize' of https://github.com/kriskowal/ninja-internal
Conflicts: js/components/gradientpicker.reel/gradientpicker.js js/components/tools-properties/text-properties.reel/text-properties.js js/document/views/base.js js/document/views/design.js js/helper-classes/3D/StageLine.js js/helper-classes/3D/draw-utils.js js/lib/drawing/world.js js/lib/geom/circle.js js/lib/geom/line.js js/lib/geom/rectangle.js js/lib/geom/shape-primitive.js js/lib/rdge/materials/bump-metal-material.js js/lib/rdge/materials/flag-material.js js/lib/rdge/materials/fly-material.js js/lib/rdge/materials/julia-material.js js/lib/rdge/materials/keleidoscope-material.js js/lib/rdge/materials/mandel-material.js js/lib/rdge/materials/material.js js/lib/rdge/materials/plasma-material.js js/lib/rdge/materials/pulse-material.js js/lib/rdge/materials/radial-gradient-material.js js/lib/rdge/materials/taper-material.js js/lib/rdge/materials/twist-vert-material.js js/lib/rdge/materials/water-material.js js/panels/Materials/materials-library-panel.reel/materials-library-panel.html js/panels/Materials/materials-library-panel.reel/materials-library-panel.js js/panels/Materials/materials-popup.reel/materials-popup.html js/panels/Materials/materials-popup.reel/materials-popup.js js/tools/LineTool.js Signed-off-by: Valerio Virgillito <valerio@motorola.com>
Diffstat (limited to 'assets/shaders/TwistVert.vert.glsl')
-rw-r--r--assets/shaders/TwistVert.vert.glsl84
1 files changed, 42 insertions, 42 deletions
diff --git a/assets/shaders/TwistVert.vert.glsl b/assets/shaders/TwistVert.vert.glsl
index 94d22020..6db4210f 100644
--- a/assets/shaders/TwistVert.vert.glsl
+++ b/assets/shaders/TwistVert.vert.glsl
@@ -64,51 +64,51 @@ varying vec2 v_texcoord;
64 64
65float GetAngle( float t ) 65float GetAngle( float t )
66{ 66{
67 float angle= 0.0; 67 float angle= 0.0;
68 if (t < u_limit2) 68 if (t < u_limit2)
69 { 69 {
70 if (t < u_limit1) 70 if (t < u_limit1)
71 { 71 {
72 angle = u_twistAmount; 72 angle = u_twistAmount;
73 } 73 }
74 else 74 else
75 { 75 {
76 angle = (t - u_limit2)/(u_limit1 - u_limit2)*u_twistAmount; 76 angle = (t - u_limit2)/(u_limit1 - u_limit2)*u_twistAmount;
77 } 77 }
78 } 78 }
79 79
80 return angle; 80 return angle;
81} 81}
82 82
83 83
84void main(void) 84void main(void)
85{ 85{
86 vec3 pos = vert; 86 vec3 pos = vert;
87 vec2 uv = texcoord; 87 vec2 uv = texcoord;
88 v_texcoord = texcoord; 88 v_texcoord = texcoord;
89 89
90 v_zNormal = 1.0; 90 v_zNormal = 1.0;
91 if (uv.x < u_limit2) 91 if (uv.x < u_limit2)
92 { 92 {
93 float angle = GetAngle( uv.x ); 93 float angle = GetAngle( uv.x );
94 float cs = cos(angle), sn = sin(angle); 94 float cs = cos(angle), sn = sin(angle);
95 95
96 vec3 ctrPt = pos; 96 vec3 ctrPt = pos;
97 float y = pos.y*cs - pos.z*sn; // + u_center; 97 float y = pos.y*cs - pos.z*sn; // + u_center;
98 pos.z = pos.y*sn + pos.z*cs; 98 pos.z = pos.y*sn + pos.z*cs;
99 pos.y = y; 99 pos.y = y;
100 100
101 // rotate the normal 101 // rotate the normal
102 mat3 rotMat = mat3( vec3( 1.0, 0.0, 0.0 ), vec3( 0.0, cs, sn ), vec3( 0.0, -sn, cs ) ); 102 mat3 rotMat = mat3( vec3( 1.0, 0.0, 0.0 ), vec3( 0.0, cs, sn ), vec3( 0.0, -sn, cs ) );
103 vec3 pt0 = ctrPt, pt1 = vec3(ctrPt.x, ctrPt.y+1.0, ctrPt.z), pt2 = vec3( ctrPt.x+1.0, ctrPt.y, ctrPt.z); 103 vec3 pt0 = ctrPt, pt1 = vec3(ctrPt.x, ctrPt.y+1.0, ctrPt.z), pt2 = vec3( ctrPt.x+1.0, ctrPt.y, ctrPt.z);
104 pt0 = rotMat * pt0; pt1 = rotMat * pt1; 104 pt0 = rotMat * pt0; pt1 = rotMat * pt1;
105 angle = GetAngle(1.0); 105 angle = GetAngle(1.0);
106 cs = cos(angle); sn = sin(angle); 106 cs = cos(angle); sn = sin(angle);
107 rotMat = mat3( vec3( 1.0, 0.0, 0.0 ), vec3( 0.0, cs, sn ), vec3( 0.0, -sn, cs ) ); 107 rotMat = mat3( vec3( 1.0, 0.0, 0.0 ), vec3( 0.0, cs, sn ), vec3( 0.0, -sn, cs ) );
108 pt2 = rotMat * pt2; 108 pt2 = rotMat * pt2;
109 vec4 nrm = vec4( cross(pt1-pt0, pt2-pt0), 1.0 ); 109 vec4 nrm = vec4( cross(pt1-pt0, pt2-pt0), 1.0 );
110 v_zNormal = -nrm.z; 110 v_zNormal = -nrm.z;
111 } 111 }
112 112
113 gl_Position = u_projMatrix * u_mvMatrix * vec4(pos,1.0) ; 113 gl_Position = u_projMatrix * u_mvMatrix * vec4(pos,1.0) ;
114} 114}