#version 410 #include "commonDeclare.glsl" in float partId; out vec4 fragColorV; in vec2 uv; void main(void) { #include "commonProjection.glsl" // encode the partId as rgb, expecting later 8-bit resolution. int partIdI = int(partId); int partId00 = (partIdI >> 0) % 256; int partId08 = (partIdI >> 8) % 256; int partId16 = (partIdI >> 16) % 256; // offset the blue a little bit, so even low partIds are visible. partId16 += 64; fragColorV.r = float(partId00) / 255.0; fragColorV.g = float(partId08) / 255.0; fragColorV.b = float(partId16) / 255.0; fragColorV.b = partId; fragColorV.g = -viewPosV.z / 30.0; fragColorV.a = viewPosV.z; fragColorV.r = uv.x; fragColorV.g = uv.y; }