65 lines
1.9 KiB
Zig
65 lines
1.9 KiB
Zig
pub const shaderTypes = @import("shaderTypes");
|
|
|
|
pub const int = shaderTypes.int;
|
|
pub const uint = shaderTypes.uint;
|
|
|
|
pub const vec2 = shaderTypes.vec2;
|
|
pub const u8vec4 = shaderTypes.u8vec4;
|
|
pub const vec3 = shaderTypes.vec3;
|
|
pub const vec4 = shaderTypes.vec4;
|
|
pub const mat4 = shaderTypes.mat4;
|
|
pub const float = shaderTypes.float;
|
|
|
|
pub const BufferInfo = shaderTypes.BufferInfo;
|
|
pub const Scene = extern struct {
|
|
imagePosition: vec2,
|
|
imageSize: vec2,
|
|
anchorPoint: vec2,
|
|
scale: vec2,
|
|
alpha: float,
|
|
borderWidth: float,
|
|
flags: uint,
|
|
pad0: [4]c_char = undefined,
|
|
baseColor: vec4,
|
|
rounding: vec4,
|
|
edgeColor: vec4,
|
|
|
|
pub const Buffer: BufferInfo = .{ .storage = 0 };
|
|
|
|
pub const FieldDetails: []shaderTypes.FieldDetail = &.{
|
|
.{ .name = "imagePosition", .offset = 0, .size = 8 },
|
|
.{ .name = "imageSize", .offset = 8, .size = 8 },
|
|
.{ .name = "anchorPoint", .offset = 16, .size = 8 },
|
|
.{ .name = "scale", .offset = 24, .size = 8 },
|
|
.{ .name = "alpha", .offset = 32, .size = 4 },
|
|
.{ .name = "borderWidth", .offset = 36, .size = 4 },
|
|
.{ .name = "flags", .offset = 40, .size = 4 },
|
|
.{ .name = "baseColor", .offset = 48, .size = 16 },
|
|
.{ .name = "rounding", .offset = 64, .size = 16 },
|
|
.{ .name = "edgeColor", .offset = 80, .size = 16 },
|
|
};
|
|
};
|
|
|
|
comptime {
|
|
shaderTypes.ValidateGeneratedStruct(Scene);
|
|
}
|
|
pub const Uniforms = extern struct {
|
|
Extents: vec2,
|
|
|
|
pub const Buffer: BufferInfo = .{ .uniform = 0 };
|
|
|
|
pub const FieldDetails: []shaderTypes.FieldDetail = &.{
|
|
.{ .name = "Extents", .offset = 0, .size = 8 },
|
|
};
|
|
};
|
|
|
|
comptime {
|
|
shaderTypes.ValidateGeneratedStruct(Uniforms);
|
|
}
|
|
pub const LoadArgs = shaderTypes.ShaderLoadArgs{
|
|
.num_samplers = 0,
|
|
.num_storage_textures = 0,
|
|
.num_storage_buffers = 1,
|
|
.num_uniform_buffers = 1,
|
|
};
|