Mercurial > games > semicongine
comparison tests/test_text.nim @ 1410:99d5b42cf32d
did: simplify text rendering API
author | sam <sam@basx.dev> |
---|---|
date | Thu, 26 Dec 2024 11:20:47 +0700 |
parents | 5a56f8ac328b |
children | bc6782c0edd6 |
comparison
equal
deleted
inserted
replaced
1409:5a56f8ac328b | 1410:99d5b42cf32d |
---|---|
19 var font = loadFont[MAX_CODEPOINTS](FONTNAME, lineHeightPixels = 200) | 19 var font = loadFont[MAX_CODEPOINTS](FONTNAME, lineHeightPixels = 200) |
20 var renderdata = initRenderData() | 20 var renderdata = initRenderData() |
21 var pipeline = createPipeline[GlyphShader[MAX_CODEPOINTS]]( | 21 var pipeline = createPipeline[GlyphShader[MAX_CODEPOINTS]]( |
22 renderPass = vulkan.swapchain.renderPass | 22 renderPass = vulkan.swapchain.renderPass |
23 ) | 23 ) |
24 var textbuffer = font.initTextBuffer(1000, baseScale = 0.1) | 24 var textbuffer = font.initTextBuffer(1000, renderdata, baseScale = 0.1) |
25 assignBuffers(renderdata, textbuffer) | |
26 | 25 |
27 font.upload(renderdata) | 26 font.upload(renderdata) |
28 font.addToPipeline(renderdata, pipeline) | 27 font.addToPipeline(renderdata, pipeline) |
29 | 28 |
30 discard textbuffer.add("Hello semicongine!", vec3()) | 29 discard textbuffer.add("Hello semicongine!", vec3()) |
68 font3.upload(renderdata) | 67 font3.upload(renderdata) |
69 font1.addToPipeline(renderdata, pipeline) | 68 font1.addToPipeline(renderdata, pipeline) |
70 font2.addToPipeline(renderdata, pipeline) | 69 font2.addToPipeline(renderdata, pipeline) |
71 font3.addToPipeline(renderdata, pipeline) | 70 font3.addToPipeline(renderdata, pipeline) |
72 | 71 |
73 var textbuffer1 = font1.initTextBuffer(10, baseScale = 0.1) | 72 var textbuffer1 = font1.initTextBuffer(10, renderdata, baseScale = 0.1) |
74 var textbuffer2 = font2.initTextBuffer(10, baseScale = 0.1) | 73 var textbuffer2 = font2.initTextBuffer(10, renderdata, baseScale = 0.1) |
75 var textbuffer3 = font3.initTextBuffer(10, baseScale = 0.1) | 74 var textbuffer3 = font3.initTextBuffer(10, renderdata, baseScale = 0.1) |
76 | |
77 assignBuffers(renderdata, textbuffer1) | |
78 assignBuffers(renderdata, textbuffer2) | |
79 assignBuffers(renderdata, textbuffer3) | |
80 | 75 |
81 var p = 0 | 76 var p = 0 |
82 let l1 = textbuffer1.add($(p + 0), vec3(0.3, 0.5), capacity = 5) | 77 let l1 = textbuffer1.add($(p + 0), vec3(0.3, 0.5), capacity = 5) |
83 let l2 = textbuffer2.add($(p + 1), vec3(0.5, 0.5), capacity = 5) | 78 let l2 = textbuffer2.add($(p + 1), vec3(0.5, 0.5), capacity = 5) |
84 let l3 = textbuffer3.add($(p + 2), vec3(0.7, 0.5), capacity = 5) | 79 let l3 = textbuffer3.add($(p + 2), vec3(0.7, 0.5), capacity = 5) |
128 ) | 123 ) |
129 | 124 |
130 font.upload(renderdata) | 125 font.upload(renderdata) |
131 font.addToPipeline(renderdata, pipeline) | 126 font.addToPipeline(renderdata, pipeline) |
132 | 127 |
133 var textbuffer = font.initTextBuffer(1000, baseScale = 0.1) | 128 var textbuffer = font.initTextBuffer(1000, renderdata, baseScale = 0.1) |
134 assignBuffers(renderdata, textbuffer) | |
135 | 129 |
136 discard textbuffer.add("Anchor at center", vec3(0, 0), anchor = vec2(0, 0)) | 130 discard textbuffer.add("Anchor at center", vec3(0, 0), anchor = vec2(0, 0)) |
137 discard textbuffer.add("Anchor at top left`", vec3(-1, 1), anchor = vec2(-1, 1)) | 131 discard textbuffer.add("Anchor at top left`", vec3(-1, 1), anchor = vec2(-1, 1)) |
138 discard textbuffer.add("Anchor at top right", vec3(1, 1), anchor = vec2(1, 1)) | 132 discard textbuffer.add("Anchor at top right", vec3(1, 1), anchor = vec2(1, 1)) |
139 discard textbuffer.add("Anchor at bottom left", vec3(-1, -1), anchor = vec2(-1, -1)) | 133 discard textbuffer.add("Anchor at bottom left", vec3(-1, -1), anchor = vec2(-1, -1)) |
182 ) | 176 ) |
183 | 177 |
184 font.upload(renderdata) | 178 font.upload(renderdata) |
185 font.addToPipeline(renderdata, pipeline) | 179 font.addToPipeline(renderdata, pipeline) |
186 | 180 |
187 var textbuffer = font.initTextBuffer(3000, baseScale = 0.1) | 181 var textbuffer = font.initTextBuffer(3000, renderdata, baseScale = 0.1) |
188 assignBuffers(renderdata, textbuffer) | |
189 | 182 |
190 for i in 0 ..< 1000: | 183 for i in 0 ..< 1000: |
191 discard textbuffer.add( | 184 discard textbuffer.add( |
192 $i, | 185 $i, |
193 vec3(rand(-0.8 .. 0.8), rand(-0.8 .. 0.8), rand(-0.1 .. 0.1)), | 186 vec3(rand(-0.8 .. 0.8), rand(-0.8 .. 0.8), rand(-0.1 .. 0.1)), |