#version 450 core in vec4 vPosID; in vec4 vCol; in vec4 vCenterSize; in vec4 vControls; layout (location=0) out vec4 fCol; layout (location=1) out vec4 fPos; layout (location=2) out vec4 fNorm; void main() { float d = dot(vControls,vControls); if (d > 1) {discard;} fCol = vCol; fPos = vec4(vPosID.xy, vPosID.z + (1-d) * vCenterSize.w, 1); fNorm = vec4(vCenterSize.xyz - fPos.xyz, 1); }