Files

33 lines
655 B
GLSL

#extension GL_EXT_buffer_reference : require
#extension GL_EXT_scalar_block_layout : require
#define SHAPE_RECT 0
#define SHAPE_ELLIPSE 1
#define SHAPE_TRIANGLE 2
#define SHAPE_TEXT 3
struct Shape2D {
vec2 center;
vec2 halfSize;
vec4 color;
vec4 uvRect;
vec2 p0;
vec2 p1;
vec2 p2;
float rotation;
float outline;
float cornerRadius;
uint type;
uint textureId;
uint samplerId;
};
layout (buffer_reference, scalar) readonly buffer Shape2DBuffer {
Shape2D shapes[];
};
layout (push_constant, scalar) uniform Shape2DPushConstants {
mat4 projection;
Shape2DBuffer shapeBuffer;
} pcs;