Support for showing images in background/foreground and only in perspective/orthographic view. Internally the depth of the image is modified in the fragment shader by setting `gl_FragDepth` explicitly. The UI still needs some work to improve usability, see D3863 for details. Currently there is one duplicated function, not sure how to best deduplicate it yet. (`is_image_empty_visible`) Reviewer: fclem, brecht, campbellbarton Differential Revision: https://developer.blender.org/D3863
34 lines
510 B
GLSL
34 lines
510 B
GLSL
|
|
flat in vec4 finalColor;
|
|
|
|
#ifndef USE_WIRE
|
|
in vec2 texCoord_interp;
|
|
#endif
|
|
|
|
out vec4 fragColor;
|
|
|
|
#ifndef USE_WIRE
|
|
uniform sampler2D image;
|
|
#endif
|
|
|
|
uniform int depthMode;
|
|
|
|
void main()
|
|
{
|
|
#ifdef USE_WIRE
|
|
fragColor = finalColor;
|
|
#else
|
|
fragColor = finalColor * texture(image, texCoord_interp);
|
|
#endif
|
|
|
|
if (depthMode == DEPTH_BACK) {
|
|
gl_FragDepth = 0.999999;
|
|
}
|
|
else if (depthMode == DEPTH_FRONT) {
|
|
gl_FragDepth = 0.000001;
|
|
}
|
|
else if (depthMode == DEPTH_UNCHANGED) {
|
|
gl_FragDepth = gl_FragCoord.z;
|
|
}
|
|
}
|