From 7b7a4b895f99a305263e03687b4f7cfa3065dd73 Mon Sep 17 00:00:00 2001 From: Omar Rizwan Date: Fri, 6 Oct 2023 17:57:29 -0400 Subject: display/text: Write glyphs straight to displaylist. Hack, but faster --- virtual-programs/display/text.folk | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'virtual-programs/display') diff --git a/virtual-programs/display/text.folk b/virtual-programs/display/text.folk index 3f2b4b5c..412ce266 100644 --- a/virtual-programs/display/text.folk +++ b/virtual-programs/display/text.folk @@ -38,12 +38,12 @@ On process "display" { set median [Gpu::fn {float r float g float b} float { return max(min(r, g), min(max(r, g), b)); }] - dict set ::pipelines "glyph" [Gpu::pipeline \ - {sampler2D atlas vec2 atlasSize - vec4 atlasGlyphBounds - vec4 planeGlyphBounds - vec2 pos float radians float em - fn rotate} { + set glyph [Gpu::pipeline \ + {sampler2D atlas vec2 atlasSize + vec4 atlasGlyphBounds + vec4 planeGlyphBounds + vec2 pos float radians float em + fn rotate} { float left = planeGlyphBounds[0] * em; float bottom = planeGlyphBounds[1] * em; float right = planeGlyphBounds[2] * em; @@ -139,8 +139,8 @@ On process "display" { } lassign $glyphInfo advance planeBounds atlasBounds if {$char ne " "} { - Wish the GPU draws pipeline "glyph" with arguments \ - [list $fontAtlas $fontAtlasSize \ + lappend ::displayList \ + [list Gpu::draw $glyph $fontAtlas $fontAtlasSize \ $atlasBounds $planeBounds [list $x $y] $radians $em] } lassign [vec2 add [list $x $y] \ -- cgit v1.2.3