{ FRAGMENT, "tex_sample", "vec4", "texture2D(texture, texture_coord)", 0 },
{ VERTEX, "gl_Position", 0, "gl_ProjectionMatrix*eye_vertex", 0 },
- { VERTEX, "shd_vertex", "vec3", "eye_vertex*eye_shd_rmatrix", 0 },
+ { VERTEX, "shd_vertex", "vec3", "(eye_vertex*eye_shd_rmatrix).xyz", 0 },
{ VERTEX, "eye_shd_rmatrix", "mat4", "mat4(gl_EyePlaneS[shadow_unit], gl_EyePlaneT[shadow_unit], gl_EyePlaneR[shadow_unit], vec4(0.0, 0.0, 0.0, 1.0))", 0 },
{ VERTEX, "tbn_light_dir", "vec3", "eye_light_dir*eye_tbn_matrix", 0 },
{ VERTEX, "eye_light_dir", "vec3", "normalize(gl_LightSource[0].position.xyz-eye_vertex.xyz*gl_LightSource[0].position.w)", 0 },
unsigned active_tex = 0;
unsigned n_arrays = arrays.size();
if(old)
- n_arrays = max(n_arrays, old->arrays.size());
+ n_arrays = max<unsigned>(n_arrays, old->arrays.size());
for(unsigned i=0; i<n_arrays; ++i)
{
const Array *arr = ((i<arrays.size() && arrays[i].component) ? &arrays[i] : 0);