From eec8b754dec2aaeaa806cd230d76094f6a1eb44b Mon Sep 17 00:00:00 2001 From: jacob Date: Thu, 23 Oct 2025 03:32:43 -0500 Subject: [PATCH] ndc fix --- src/base/base_math_gpu.h | 5 +++-- src/pp/pp.c | 6 +++--- src/ui/ui.c | 12 ------------ src/ui/ui_draw.gpu | 6 ------ 4 files changed, 6 insertions(+), 23 deletions(-) diff --git a/src/base/base_math_gpu.h b/src/base/base_math_gpu.h index e060400f..8014ac54 100644 --- a/src/base/base_math_gpu.h +++ b/src/base/base_math_gpu.h @@ -72,7 +72,8 @@ Vec2 RectUvFromVertexId(u32 id) Vec2 NdcFromViewport(Vec2 viewport_size, Vec2 viewport_coords) { Vec2 result; - result.x = ((viewport_coords.x + 0.5f) / viewport_size.x) * 2.0f - 1.0f; - result.y = 1.0f - ((viewport_coords.y + 0.5f) / viewport_size.y) * 2.0f; + result = viewport_coords / viewport_size; + result *= Vec2(2, -2); + result += Vec2(-1, 1); return result; } diff --git a/src/pp/pp.c b/src/pp/pp.c index 8817dc55..311bdb69 100644 --- a/src/pp/pp.c +++ b/src/pp/pp.c @@ -65,10 +65,10 @@ ExitFuncDef(ShutdownUser) void PushGameUiStyle(void) { // UI_Push(FontSize, 48); - UI_Push(FontSize, 24); - // UI_Push(FontSize, 12); + // UI_Push(FontSize, 24); + UI_Push(FontSize, 12); - UI_Push(TextPadding, 12); + // UI_Push(TextPadding, SzEm); // UI_Push(Border, 1); // UI_Push(BorderColor, Rgba32F(1, 0, 1, 0.4)); } diff --git a/src/ui/ui.c b/src/ui/ui.c index 1ab47649..48ec7d7e 100644 --- a/src/ui/ui.c +++ b/src/ui/ui.c @@ -547,23 +547,11 @@ GPU_Resource *UI_EndBuild(Rect render_viewport) UI_RectInstance *rect = PushStruct(g->draw_rects_arena, UI_RectInstance); rect->flags |= UI_RectFlag_DrawTexture; - /* FIXME: Shouldn't have to do this */ - atlas_p0.x += 1; - atlas_p0.y += 1; - atlas_p1.x += 1; - atlas_p1.y += 1; - rect->p0 = AddVec2(baseline, rr.baseline_start_offset); rect->p1 = AddVec2(rect->p0, glyph_size); rect->tex_uv0 = MulVec2Vec2(atlas_p0, inv_font_image_size); rect->tex_uv1 = MulVec2Vec2(atlas_p1, inv_font_image_size); - /* FIXME: Remove this (debugging) */ -#if 0 - rect->border_srgb = Rgba32F(1, 0, 1, 0.4); - rect->border = 1; -#endif - rect->tex = tex_rid; } } diff --git a/src/ui/ui_draw.gpu b/src/ui/ui_draw.gpu index abc38661..945063a3 100644 --- a/src/ui/ui_draw.gpu +++ b/src/ui/ui_draw.gpu @@ -27,15 +27,9 @@ UI_RectPS_Input VSDef(UI_RectVS, Semantic(u32, sv_instanceid), Semantic(u32, sv_ StructuredBuffer instances = UniformResourceFromRid(sig.instances); UI_RectInstance instance = instances[sv_instanceid]; -#if 0 Vec2 rect_uv = RectUvFromVertexId(sv_vertexid); Vec2 tex_uv = lerp(instance.tex_uv0, instance.tex_uv1, rect_uv); Vec2 screen_vert = lerp(instance.p0, instance.p1, rect_uv); -#else - Vec2 rect_uv = RectUvFromVertexId(sv_vertexid); - Vec2 tex_uv = lerp(instance.tex_uv0, instance.tex_uv1, rect_uv); - Vec2 screen_vert = lerp(instance.p0, instance.p1, rect_uv); -#endif UI_RectPS_Input result; result.sv_position = Vec4(NdcFromViewport(sig.viewport_size, screen_vert).xy, 0, 1);