per-primitive coloring

This commit is contained in:
2020-03-10 01:01:55 -04:00
parent c345e54d02
commit c5ad4597ce
4 changed files with 30 additions and 14 deletions

View File

@@ -10,8 +10,10 @@ layout(std140, binding=1) uniform Matrices {
};
layout(location=0) in ivec4 inds;
layout(location=1) in vec4 col;
out ivec4 vInds;
out vec4 vCol;
out gl_PerVertex {
vec4 gl_Position;
@@ -20,6 +22,7 @@ out gl_PerVertex {
void main() {
vInds = inds;
vCol = col;
vec4 pos = view * verts[vInds.x];
gl_Position = proj * vec4(pos.xyz, 1);

View File

@@ -13,8 +13,10 @@ layout(std140, binding=1) uniform Matrices {
};
in ivec4 vInds[];
in vec4 vCol[];
out vec4 pos;
out vec4 col;
out gl_PerVertex {
vec4 gl_Position;
@@ -26,6 +28,7 @@ float unmix(float u, float v) {
void emit(vec4 v) {
pos = v;
col = vCol[0];
gl_Position = proj * vec4(v.xyz, 1);
EmitVertex();
}

View File

@@ -1,12 +1,14 @@
#version 430
layout(location=2) uniform vec3 c;
//layout(location=2) uniform vec3 c;
in vec4 pos;
in vec4 col;
out vec4 color;
void main() {
float d = smoothstep(-2, 2, pos.z);
color = vec4(c * d, 1);
color = col;
// float d = smoothstep(-2, 2, pos.z);
// color = vec4(c * d, 1);
}