#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; fCol = vec4(vCol.xyz,vCol.w*(1-d)); fPos = vec4(vPosID.xy, vPosID.z + (1-d) * vCenterSize.w, 0.5); vec3 fn1 = (1-d)*vec3(vCenterSize.xyz - fPos.xyz); //vec3 fn1 = vec3(vCenterSize.xyz - fPos.xyz); //fNorm = vec4(0.5*fn1.xy,fn1.z, 0.5); fNorm = vec4(fn1.xyz, 0.5); //fNorm = vec4(0,0,1, 1); }