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, };