Does all points all the time, ignoring the setting in viewport header. This is to be addressed by the next commit.
35 lines
649 B
GLSL
35 lines
649 B
GLSL
|
|
uniform mat4 ModelViewProjectionMatrix;
|
|
uniform mat3 NormalMatrix;
|
|
uniform mat4 ModelViewMatrix;
|
|
|
|
in vec3 pos;
|
|
in vec3 nor;
|
|
in int ind;
|
|
out vec3 tangent;
|
|
out vec3 viewPosition;
|
|
flat out float colRand;
|
|
|
|
float rand(int s)
|
|
{
|
|
int seed = s * 1023423;
|
|
|
|
seed = (seed ^ 61) ^ (seed >> 16);
|
|
seed *= 9;
|
|
seed = seed ^ (seed >> 4);
|
|
seed *= 0x27d4eb2d;
|
|
seed = seed ^ (seed >> 15);
|
|
|
|
float value = float(seed);
|
|
value *= 1.0 / 42596.0;
|
|
return fract(value);
|
|
}
|
|
|
|
void main()
|
|
{
|
|
gl_Position = ModelViewProjectionMatrix * vec4(pos, 1.0);
|
|
tangent = normalize(NormalMatrix * nor);
|
|
viewPosition = (ModelViewMatrix * vec4(pos, 1.0)).xyz;
|
|
colRand = rand(ind);
|
|
}
|