31 lines
764 B
GLSL
31 lines
764 B
GLSL
#version 460
|
|
#extension GL_EXT_nonuniform_qualifier : require
|
|
#extension GL_EXT_scalar_block_layout : require
|
|
#extension GL_EXT_shader_16bit_storage : require
|
|
|
|
out Varyings {
|
|
layout(location = 0) flat uint instance;
|
|
layout(location = 1) vec2 positionSSPX;
|
|
} var;
|
|
|
|
#include "includes/gui_box_common.glsl"
|
|
|
|
const vec2 VERTICES[4] = vec2[](
|
|
vec2(0, 1),
|
|
vec2(1, 1),
|
|
vec2(0, 0),
|
|
vec2(1, 0)
|
|
);
|
|
|
|
#define BOX _Boxes[gl_InstanceIndex]
|
|
#define VERTEX VERTICES[gl_VertexIndex]
|
|
|
|
void main() {
|
|
vec2 positionSSPX = VERTEX * BOX.sizePX + BOX.positionSSPX;
|
|
vec4 positionCS = vec4(_Global.matrixSSPXtoCS * vec3(positionSSPX, 1.0), 0.0, 1.0);
|
|
|
|
gl_Position = positionCS;
|
|
var.instance = gl_InstanceIndex;
|
|
var.positionSSPX = positionSSPX;
|
|
}
|