e7a1fbfc47
Arrays of textures have always been supported, but we will encounter cases when we need to work with texture array objects as well. Note that currently it is not possible to expose only a slice of the array to the shader, because there is no dedicated API in the SRB, and thus the same SRV/UAV (or equivalent) is used always, capturing all elements in the array. Therefore in the shader the last component of P in texture() is in range 0..array_size-1. Change-Id: I5a032ed016aeefbbcd743d5bfb9fbc49ba00a1fa Reviewed-by: Andy Nichols <andy.nichols@qt.io>
21 lines
390 B
GLSL
21 lines
390 B
GLSL
#version 440
|
|
|
|
layout(location = 0) in vec4 position;
|
|
layout(location = 1) in vec2 texcoord;
|
|
|
|
layout(location = 0) out vec2 v_texcoord;
|
|
|
|
layout(std140, binding = 0) uniform buf {
|
|
mat4 mvp;
|
|
int flip;
|
|
int array_index;
|
|
};
|
|
|
|
void main()
|
|
{
|
|
v_texcoord = vec2(texcoord.x, texcoord.y);
|
|
if (flip != 0)
|
|
v_texcoord.y = 1.0 - v_texcoord.y;
|
|
gl_Position = mvp * position;
|
|
}
|