53599592e0
Comes with backends for Vulkan, Metal, Direct3D 11.1, and OpenGL (ES). All APIs are private for now. Shader conditioning (i.e. generating a QRhiShader in memory or on disk from some shader source code) is done via the tools and APIs provided by qt-labs/qtshadertools. The OpenGL support follows the cross-platform tradition of requiring ES 2.0 only, while optionally using some (ES) 3.x features. It can operate in core profile contexts as well. Task-number: QTBUG-70287 Change-Id: I246f2e36d562e404012c05db2aa72487108aa7cc Reviewed-by: Lars Knoll <lars.knoll@qt.io>
21 lines
471 B
GLSL
21 lines
471 B
GLSL
#version 440
|
|
|
|
layout(location = 0) in vec2 v_texcoord;
|
|
|
|
layout(location = 0) out vec4 fragColor;
|
|
|
|
layout(std140, binding = 0) uniform buf {
|
|
mat4 mvp;
|
|
int flip;
|
|
} ubuf;
|
|
|
|
layout(binding = 1) uniform sampler2DMS tex;
|
|
|
|
void main()
|
|
{
|
|
ivec2 tc = ivec2(floor(vec2(textureSize(tex)) * v_texcoord));
|
|
vec4 c = texelFetch(tex, tc, 0) + texelFetch(tex, tc, 1) + texelFetch(tex, tc, 2) + texelFetch(tex, tc, 3);
|
|
c /= 4.0;
|
|
fragColor = vec4(c.rgb * c.a, c.a);
|
|
}
|