From 70a28123dd7b56f33dafc8dc9121e5a5a6161b00 Mon Sep 17 00:00:00 2001 From: Fabrice Date: Thu, 12 Feb 2026 21:28:59 +0100 Subject: adding vao attrs --- src/text.cc | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'src/text.cc') diff --git a/src/text.cc b/src/text.cc index 57ef433..cc06508 100644 --- a/src/text.cc +++ b/src/text.cc @@ -1,5 +1,6 @@ #include "text.h" +#include "cglm/types.h" #include "freetype/freetype.h" #include "shaders.h" #include "utils.h" @@ -13,6 +14,28 @@ static void font_context_sampler_desc(struct sg_sampler_desc* desc) { desc->wrap_v = SG_WRAP_CLAMP_TO_EDGE; } +static void font_context_layout_attr_pos( + struct sg_vertex_attr_state* attr, + struct sg_vertex_buffer_layout_state* layout) { + wayc_notnull(attr); + wayc_notnull(layout); + + attr->format = SG_VERTEXFORMAT_FLOAT2; + attr->buffer_index = 0; + layout->stride = sizeof(vec2); +} + +static void font_context_layout_attr_uv( + struct sg_vertex_attr_state* attr, + struct sg_vertex_buffer_layout_state* layout) { + wayc_notnull(attr); + wayc_notnull(layout); + + attr->format = SG_VERTEXFORMAT_FLOAT2; + attr->buffer_index = 0; + layout->stride = sizeof(vec2); +} + static void font_context_pipeline_desc(struct sg_pipeline_desc* desc) { wayc_notnull(desc); @@ -20,6 +43,13 @@ static void font_context_pipeline_desc(struct sg_pipeline_desc* desc) { text_shader_desc(sg_query_backend()); sg_shader shader = sg_make_shader(shader_desc); + sg_vertex_layout_state vertex_layout = {}; + font_context_layout_attr_pos(&vertex_layout.attrs[0], + &vertex_layout.buffers[0]); + font_context_layout_attr_uv(&vertex_layout.attrs[1], + &vertex_layout.buffers[0]); + + desc->layout = vertex_layout; desc->shader = shader; } -- cgit v1.2.3