Migrate old legacy code to the draw mamager/object mode. The old legacy version did not work with wireframe. By migrating the code to modern draw manager code we have mode control on the drawing process. Still background images do not work with OIT, the cause seems to be that the transparent pixels are treated as background pixels. Also There are some artifacts when working with Holdouts and DoF, this is because the draw engines do not pass the correct alpha values. Reviewers: fclem, brecht Differential Revision: https://developer.blender.org/D4638
24 lines
594 B
GLSL
24 lines
594 B
GLSL
in vec2 texCoord_interp;
|
|
out vec4 fragColor;
|
|
|
|
uniform sampler2D image;
|
|
uniform float alpha;
|
|
uniform bool imagePremultiplied;
|
|
|
|
void main()
|
|
{
|
|
#ifdef DRW_STATE_DO_COLOR_MANAGEMENT
|
|
/* render engine has already applied the view transform. We sample the
|
|
* camera images as srgb*/
|
|
vec4 color = texture_read_as_srgb(image, imagePremultiplied, texCoord_interp);
|
|
|
|
#else
|
|
/* Render engine renders in linearrgb. We sample the camera images as
|
|
* linearrgb */
|
|
vec4 color = texture_read_as_linearrgb(image, imagePremultiplied, texCoord_interp);
|
|
#endif
|
|
|
|
color.a *= alpha;
|
|
fragColor = color;
|
|
}
|