#version 450 core layout (location=0) out vec4 fColOverCloud; layout (location=1) out vec4 fColUnderCloud; layout(binding = 3) uniform sampler2D cloudpos; in vec4 vCol; in vec4 vPos; in vec2 vScreenPos; void main() { float cloudz = texture(cloudpos, vScreenPos).z; fColOverCloud = ( cloudz > vPos.z ? vec4(0) : vCol); fColUnderCloud = ( cloudz > vPos.z ? vCol : vec4(0)); }