GUI: Box drawing
This commit is contained in:
32
assets/shaders/gui_image.vert
Normal file
32
assets/shaders/gui_image.vert
Normal file
@@ -0,0 +1,32 @@
|
||||
#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 texCoord;
|
||||
} var;
|
||||
|
||||
#include "includes/gui_image_common.glsl"
|
||||
|
||||
const vec2 VERTICES[4] = vec2[](
|
||||
vec2(0, 1),
|
||||
vec2(1, 1),
|
||||
vec2(0, 0),
|
||||
vec2(1, 0)
|
||||
);
|
||||
|
||||
#define IMAGE _Images[gl_InstanceIndex]
|
||||
#define VERTEX VERTICES[gl_VertexIndex]
|
||||
|
||||
void main() {
|
||||
vec2 positionSSPX = VERTEX * IMAGE.sizePX + IMAGE.positionSSPX;
|
||||
vec4 positionCS = vec4(_Global.matrixSSPXtoCS * vec3(positionSSPX, 1.0), 0.0, 1.0);
|
||||
|
||||
vec2 texCoord = VERTEX * (IMAGE.uvMax - IMAGE.uvMin) + IMAGE.uvMin;
|
||||
|
||||
gl_Position = positionCS;
|
||||
var.instance = gl_InstanceIndex;
|
||||
var.texCoord = texCoord;
|
||||
}
|
||||
Reference in New Issue
Block a user