33 lines
655 B
GLSL
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;
|