This commit is contained in:
jacob 2025-10-23 03:32:43 -05:00
parent 56fd5e19ff
commit eec8b754de
4 changed files with 6 additions and 23 deletions

View File

@ -72,7 +72,8 @@ Vec2 RectUvFromVertexId(u32 id)
Vec2 NdcFromViewport(Vec2 viewport_size, Vec2 viewport_coords) Vec2 NdcFromViewport(Vec2 viewport_size, Vec2 viewport_coords)
{ {
Vec2 result; Vec2 result;
result.x = ((viewport_coords.x + 0.5f) / viewport_size.x) * 2.0f - 1.0f; result = viewport_coords / viewport_size;
result.y = 1.0f - ((viewport_coords.y + 0.5f) / viewport_size.y) * 2.0f; result *= Vec2(2, -2);
result += Vec2(-1, 1);
return result; return result;
} }

View File

@ -65,10 +65,10 @@ ExitFuncDef(ShutdownUser)
void PushGameUiStyle(void) void PushGameUiStyle(void)
{ {
// UI_Push(FontSize, 48); // UI_Push(FontSize, 48);
UI_Push(FontSize, 24); // UI_Push(FontSize, 24);
// UI_Push(FontSize, 12); UI_Push(FontSize, 12);
UI_Push(TextPadding, 12); // UI_Push(TextPadding, SzEm);
// UI_Push(Border, 1); // UI_Push(Border, 1);
// UI_Push(BorderColor, Rgba32F(1, 0, 1, 0.4)); // UI_Push(BorderColor, Rgba32F(1, 0, 1, 0.4));
} }

View File

@ -547,23 +547,11 @@ GPU_Resource *UI_EndBuild(Rect render_viewport)
UI_RectInstance *rect = PushStruct(g->draw_rects_arena, UI_RectInstance); UI_RectInstance *rect = PushStruct(g->draw_rects_arena, UI_RectInstance);
rect->flags |= UI_RectFlag_DrawTexture; 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->p0 = AddVec2(baseline, rr.baseline_start_offset);
rect->p1 = AddVec2(rect->p0, glyph_size); rect->p1 = AddVec2(rect->p0, glyph_size);
rect->tex_uv0 = MulVec2Vec2(atlas_p0, inv_font_image_size); rect->tex_uv0 = MulVec2Vec2(atlas_p0, inv_font_image_size);
rect->tex_uv1 = MulVec2Vec2(atlas_p1, 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; rect->tex = tex_rid;
} }
} }

View File

@ -27,15 +27,9 @@ UI_RectPS_Input VSDef(UI_RectVS, Semantic(u32, sv_instanceid), Semantic(u32, sv_
StructuredBuffer<UI_RectInstance> instances = UniformResourceFromRid(sig.instances); StructuredBuffer<UI_RectInstance> instances = UniformResourceFromRid(sig.instances);
UI_RectInstance instance = instances[sv_instanceid]; UI_RectInstance instance = instances[sv_instanceid];
#if 0
Vec2 rect_uv = RectUvFromVertexId(sv_vertexid); Vec2 rect_uv = RectUvFromVertexId(sv_vertexid);
Vec2 tex_uv = lerp(instance.tex_uv0, instance.tex_uv1, rect_uv); Vec2 tex_uv = lerp(instance.tex_uv0, instance.tex_uv1, rect_uv);
Vec2 screen_vert = lerp(instance.p0, instance.p1, 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; UI_RectPS_Input result;
result.sv_position = Vec4(NdcFromViewport(sig.viewport_size, screen_vert).xy, 0, 1); result.sv_position = Vec4(NdcFromViewport(sig.viewport_size, screen_vert).xy, 0, 1);