aboutsummaryrefslogtreecommitdiff
path: root/assets/shaders/ub_vshader.glsl
diff options
context:
space:
mode:
Diffstat (limited to 'assets/shaders/ub_vshader.glsl')
-rwxr-xr-xassets/shaders/ub_vshader.glsl232
1 files changed, 116 insertions, 116 deletions
diff --git a/assets/shaders/ub_vshader.glsl b/assets/shaders/ub_vshader.glsl
index a559d844..da8a8660 100755
--- a/assets/shaders/ub_vshader.glsl
+++ b/assets/shaders/ub_vshader.glsl
@@ -44,65 +44,65 @@ uniform vec3 u_eye;
44 44
45// attributes 45// attributes
46#if defined( MATERIAL ) 46#if defined( MATERIAL )
47 uniform vec4 u_ambientColor; 47 uniform vec4 u_ambientColor;
48 uniform vec4 u_diffuseColor; 48 uniform vec4 u_diffuseColor;
49 uniform vec4 u_specularColor; 49 uniform vec4 u_specularColor;
50 uniform float u_specularPower; 50 uniform float u_specularPower;
51#endif 51#endif
52 52
53#if defined( LIGHTING ) 53#if defined( LIGHTING )
54 varying vec3 v_normal; 54 varying vec3 v_normal;
55 #if defined( LIGHT_0 ) 55 #if defined( LIGHT_0 )
56 uniform int u_light0Type; 56 uniform int u_light0Type;
57 uniform vec3 u_light0Pos; 57 uniform vec3 u_light0Pos;
58 uniform vec3 u_light0Dir; 58 uniform vec3 u_light0Dir;
59 uniform vec3 u_light0Atten; 59 uniform vec3 u_light0Atten;
60 uniform vec2 u_light0Spot; 60 uniform vec2 u_light0Spot;
61 uniform vec4 u_light0Color; 61 uniform vec4 u_light0Color;
62 uniform vec4 u_light0Specular; 62 uniform vec4 u_light0Specular;
63 varying vec3 v_light0Dir; 63 varying vec3 v_light0Dir;
64 varying vec3 v_light0SpotDir; 64 varying vec3 v_light0SpotDir;
65 #endif 65 #endif
66 66
67 #if defined( LIGHT_1 ) 67 #if defined( LIGHT_1 )
68 uniform int u_light1Type; 68 uniform int u_light1Type;
69 uniform vec3 u_light1Pos; 69 uniform vec3 u_light1Pos;
70 uniform vec3 u_light1Dir; 70 uniform vec3 u_light1Dir;
71 uniform vec3 u_light1Atten; 71 uniform vec3 u_light1Atten;
72 uniform vec2 u_light1Spot; 72 uniform vec2 u_light1Spot;
73 uniform vec3 u_light1Color; 73 uniform vec3 u_light1Color;
74 uniform vec4 u_light1Specular; 74 uniform vec4 u_light1Specular;
75 varying vec3 v_light1Dir; 75 varying vec3 v_light1Dir;
76 varying vec3 v_light1SpotDir; 76 varying vec3 v_light1SpotDir;
77 #endif 77 #endif
78 78
79 #if defined( LIGHT_2 ) 79 #if defined( LIGHT_2 )
80 uniform int u_light2Type; // 0 - dir, 1 - point, 2 - spot 80 uniform int u_light2Type; // 0 - dir, 1 - point, 2 - spot
81 uniform vec3 u_light2Pos; 81 uniform vec3 u_light2Pos;
82 uniform vec3 u_light2Dir; 82 uniform vec3 u_light2Dir;
83 uniform vec3 u_light2Atten; 83 uniform vec3 u_light2Atten;
84 uniform vec2 u_light2Spot; // 0 - spot light cutoff angle, 1 - spot light exponent 84 uniform vec2 u_light2Spot; // 0 - spot light cutoff angle, 1 - spot light exponent
85 uniform vec3 u_light2Color; 85 uniform vec3 u_light2Color;
86 uniform vec4 u_light2Specular; 86 uniform vec4 u_light2Specular;
87 varying vec3 v_light2Dir; 87 varying vec3 v_light2Dir;
88 varying vec3 v_light2SpotDir; 88 varying vec3 v_light2SpotDir;
89 #endif 89 #endif
90 90
91 #if defined( LIGHT_3 ) 91 #if defined( LIGHT_3 )
92 uniform int u_light3Type; 92 uniform int u_light3Type;
93 uniform vec3 u_light3Pos; 93 uniform vec3 u_light3Pos;
94 uniform vec3 u_light3Dir; 94 uniform vec3 u_light3Dir;
95 uniform vec3 u_light3Atten; 95 uniform vec3 u_light3Atten;
96 uniform vec2 u_light3Spot; 96 uniform vec2 u_light3Spot;
97 uniform vec3 u_light3Color; 97 uniform vec3 u_light3Color;
98 uniform vec4 u_light3Specular; 98 uniform vec4 u_light3Specular;
99 varying vec3 v_light3Dir; 99 varying vec3 v_light3Dir;
100 varying vec3 v_light3SpotDir; 100 varying vec3 v_light3SpotDir;
101 #endif 101 #endif
102#endif 102#endif
103 103
104#if defined( ENVIRONMENT_MAP ) 104#if defined( ENVIRONMENT_MAP )
105 uniform float u_envReflection; 105 uniform float u_envReflection;
106#endif 106#endif
107 107
108varying vec3 v_mvPos; 108varying vec3 v_mvPos;
@@ -111,76 +111,76 @@ varying vec2 v_texcoord;
111 111
112#if defined( PC ) 112#if defined( PC )
113void main() { 113void main() {
114 // position normals and vert 114 // position normals and vert
115 v_mvPos = ( u_mvMatrix * vec4( a_pos, 1.0 ) ).xyz; 115 v_mvPos = ( u_mvMatrix * vec4( a_pos, 1.0 ) ).xyz;
116 116
117 v_texcoord = (u_uvMatrix * vec4(a_texcoord, 0, 1.0)).xy; 117 v_texcoord = (u_uvMatrix * vec4(a_texcoord, 0, 1.0)).xy;
118#if ( defined( LIGHTING ) || defined( ENVIRONMENT_MAP ) ) 118#if ( defined( LIGHTING ) || defined( ENVIRONMENT_MAP ) )
119 v_normal = ( u_normalMatrix * vec4( a_normal, 0.0 ) ).xyz; 119 v_normal = ( u_normalMatrix * vec4( a_normal, 0.0 ) ).xyz;
120#endif 120#endif
121 121
122#if defined( LIGHTING ) 122#if defined( LIGHTING )
123 v_eyeDir = vec3(-u_viewMatrix[3][0], -u_viewMatrix[3][1], -u_viewMatrix[3][2]); 123 v_eyeDir = vec3(-u_viewMatrix[3][0], -u_viewMatrix[3][1], -u_viewMatrix[3][2]);
124 #if defined( LIGHT_0 ) 124 #if defined( LIGHT_0 )
125 { 125 {
126 vec3 lpos = ( u_viewMatrix * vec4( u_light0Pos, 1.0 ) ).xyz; 126 vec3 lpos = ( u_viewMatrix * vec4( u_light0Pos, 1.0 ) ).xyz;
127 127
128 #if ( LIGHT_0 == 0 ) 128 #if ( LIGHT_0 == 0 )
129 v_light0Dir = ( u_viewMatrix * vec4( -u_light0Dir, 0.0 ) ).xyz; 129 v_light0Dir = ( u_viewMatrix * vec4( -u_light0Dir, 0.0 ) ).xyz;
130 #else 130 #else
131 v_light0Dir = lpos - v_mvPos; 131 v_light0Dir = lpos - v_mvPos;
132 #if ( LIGHT_0 == 2 ) 132 #if ( LIGHT_0 == 2 )
133 v_light0SpotDir = (u_viewMatrix * vec4( -u_light0Dir, 0.0 )).xyz; 133 v_light0SpotDir = (u_viewMatrix * vec4( -u_light0Dir, 0.0 )).xyz;
134 #endif // ( LIGHT_0 == 2 ) 134 #endif // ( LIGHT_0 == 2 )
135 #endif // ( LIGHT_0 == 0 ) 135 #endif // ( LIGHT_0 == 0 )
136 } 136 }
137 #endif // defined( LIGHT_0 ) 137 #endif // defined( LIGHT_0 )
138 #if defined( LIGHT_1 ) 138 #if defined( LIGHT_1 )
139 { 139 {
140 vec3 lpos = ( u_viewMatrix * vec4( u_light1Pos, 1.0 ) ).xyz; 140 vec3 lpos = ( u_viewMatrix * vec4( u_light1Pos, 1.0 ) ).xyz;
141 141
142 #if ( LIGHT_1 == 0 ) 142 #if ( LIGHT_1 == 0 )
143 v_light1Dir = ( u_viewMatrix * vec4( -u_light1Dir, 0.0 ) ).xyz; 143 v_light1Dir = ( u_viewMatrix * vec4( -u_light1Dir, 0.0 ) ).xyz;
144 #else 144 #else
145 v_light1Dir = lpos - v_mvPos; 145 v_light1Dir = lpos - v_mvPos;
146 #if ( LIGHT_1 == 2 ) 146 #if ( LIGHT_1 == 2 )
147 v_light1SpotDir = (u_viewMatrix * vec4( -u_light1Dir, 0.0 )).xyz; 147 v_light1SpotDir = (u_viewMatrix * vec4( -u_light1Dir, 0.0 )).xyz;
148 #endif // ( LIGHT_1 == 2 ) 148 #endif // ( LIGHT_1 == 2 )
149 #endif // ( LIGHT_1 == 0 ) 149 #endif // ( LIGHT_1 == 0 )
150 } 150 }
151 #endif // defined( LIGHT_1 ) 151 #endif // defined( LIGHT_1 )
152 #if defined( LIGHT_2 ) 152 #if defined( LIGHT_2 )
153 { 153 {
154 vec3 lpos = ( u_viewMatrix * vec4( u_light2Pos, 1.0 ) ).xyz; 154 vec3 lpos = ( u_viewMatrix * vec4( u_light2Pos, 1.0 ) ).xyz;
155 155
156 #if ( LIGHT_2 == 0 ) 156 #if ( LIGHT_2 == 0 )
157 v_light2Dir = ( u_viewMatrix * vec4( -u_light2Dir, 0.0 ) ).xyz; 157 v_light2Dir = ( u_viewMatrix * vec4( -u_light2Dir, 0.0 ) ).xyz;
158 #else 158 #else
159 v_light2Dir = lpos - v_mvPos; 159 v_light2Dir = lpos - v_mvPos;
160 #if ( LIGHT_2 == 2 ) 160 #if ( LIGHT_2 == 2 )
161 v_light2SpotDir = (u_viewMatrix * vec4( -u_light2Dir, 0.0 )).xyz; 161 v_light2SpotDir = (u_viewMatrix * vec4( -u_light2Dir, 0.0 )).xyz;
162 #endif // ( LIGHT_2 == 2 ) 162 #endif // ( LIGHT_2 == 2 )
163 #endif // ( LIGHT_2 == 0 ) 163 #endif // ( LIGHT_2 == 0 )
164 } 164 }
165 #endif // defined( LIGHT_2 ) 165 #endif // defined( LIGHT_2 )
166 #if defined( LIGHT_3 ) 166 #if defined( LIGHT_3 )
167 { 167 {
168 vec3 lpos = ( u_viewMatrix * vec4( u_light3Pos, 1.0 ) ).xyz; 168 vec3 lpos = ( u_viewMatrix * vec4( u_light3Pos, 1.0 ) ).xyz;
169 169
170 #if ( LIGHT_3 == 0 ) 170 #if ( LIGHT_3 == 0 )
171 v_light3Dir = ( u_viewMatrix * vec4( -u_light3Dir, 0.0 ) ).xyz; 171 v_light3Dir = ( u_viewMatrix * vec4( -u_light3Dir, 0.0 ) ).xyz;
172 #else 172 #else
173 v_light3Dir = lpos - v_mvPos; 173 v_light3Dir = lpos - v_mvPos;
174 #if ( LIGHT_3 == 2 ) 174 #if ( LIGHT_3 == 2 )
175 v_light3SpotDir = (u_viewMatrix * vec4( -u_light3Dir, 0.0 )).xyz; 175 v_light3SpotDir = (u_viewMatrix * vec4( -u_light3Dir, 0.0 )).xyz;
176 #endif // ( LIGHT_3 == 2 ) 176 #endif // ( LIGHT_3 == 2 )
177 #endif // ( LIGHT_3 == 0 ) 177 #endif // ( LIGHT_3 == 0 )
178 } 178 }
179 #endif // defined( LIGHT_3 ) 179 #endif // defined( LIGHT_3 )
180#endif // defined( LIGHTING ) 180#endif // defined( LIGHTING )
181 181
182 // pass along the geo 182 // pass along the geo
183 gl_Position = u_projMatrix * vec4(v_mvPos, 1.0); 183 gl_Position = u_projMatrix * vec4(v_mvPos, 1.0);
184} 184}
185#endif 185#endif