2024-10-15 00:06:46 -06:00
|
|
|
#version 450
|
|
|
|
#extension GL_EXT_buffer_reference : require
|
|
|
|
|
|
|
|
struct Symbol {
|
|
|
|
uint x;
|
|
|
|
uint top;
|
|
|
|
uint width;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct Character {
|
|
|
|
vec3 pos;
|
|
|
|
vec4 color;
|
|
|
|
float size;
|
|
|
|
uint code;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct String {
|
|
|
|
vec3 pos;
|
|
|
|
vec4 color;
|
|
|
|
float size;
|
|
|
|
uint offset;
|
|
|
|
uint length;
|
|
|
|
};
|
|
|
|
|
|
|
|
layout(buffer_reference, std430) readonly buffer SymbolList{
|
|
|
|
Symbol symbols[];
|
|
|
|
};
|
|
|
|
|
|
|
|
layout(buffer_reference, std430) writeonly buffer CharacterList{
|
|
|
|
Character characters[];
|
|
|
|
};
|
|
|
|
|
|
|
|
layout(buffer_reference, std430) readonly buffer Characters{
|
|
|
|
uint codes[];
|
|
|
|
};
|
|
|
|
|
|
|
|
layout(buffer_reference, std430) readonly buffer Strings{
|
|
|
|
String strings[];
|
|
|
|
};
|
|
|
|
|
2024-10-15 00:18:29 -06:00
|
|
|
layout(set = 0, binding = 0) uniform Font {
|
2024-10-15 00:06:46 -06:00
|
|
|
uint num_symbols;
|
|
|
|
uint width;
|
|
|
|
uint height;
|
|
|
|
uint space_width;
|
|
|
|
SymbolList symbol_list;
|
|
|
|
} font;
|
|
|
|
|
|
|
|
layout(buffer_reference, std430) readonly buffer Pointers {
|
|
|
|
Strings strings;
|
|
|
|
Characters codes;
|
|
|
|
CharacterList characters;
|
|
|
|
};
|
|
|
|
|
|
|
|
layout(std430, push_constant) uniform Push {
|
|
|
|
Pointers pointers;
|
|
|
|
} push;
|
|
|
|
|
|
|
|
void main() {
|
|
|
|
}
|