Mercurial > games > semicongine
comparison tests/test_text.nim @ 1401:4ecb004ee7f8
did: add horizontal advancment for glyph rendering
author | sam <sam@basx.dev> |
---|---|
date | Mon, 16 Dec 2024 23:58:35 +0700 |
parents | 20602878744e |
children | caf441eebc23 |
comparison
equal
deleted
inserted
replaced
1400:20602878744e | 1401:4ecb004ee7f8 |
---|---|
17 type EMPTY = object | 17 type EMPTY = object |
18 | 18 |
19 const MAX_GLYPHS = 200 | 19 const MAX_GLYPHS = 200 |
20 proc test_01_static_label_new(time: float32) = | 20 proc test_01_static_label_new(time: float32) = |
21 var font = loadFont[MAX_GLYPHS]("Overhaul.ttf", lineHeightPixels = 200) | 21 var font = loadFont[MAX_GLYPHS]("Overhaul.ttf", lineHeightPixels = 200) |
22 var renderdata = initRenderData() | 22 # var font = loadFont[MAX_GLYPHS]("DejaVuSans.ttf", lineHeightPixels = 200) |
23 var pipeline = | 23 var renderdata = initRenderData() |
24 createPipeline[GlyphShader[MAX_GLYPHS]](renderPass = vulkan.swapchain.renderPass) | 24 var pipeline = |
25 var glyphs = font.initGlyphs(1000, baseScale = 0.3) | 25 createPipeline[GlyphShader[MAX_GLYPHS]](renderPass = vulkan.swapchain.renderPass) |
26 var glyphs = font.initGlyphs(1000, baseScale = 0.1) | |
26 | 27 |
27 assignBuffers(renderdata, glyphs) | 28 assignBuffers(renderdata, glyphs) |
28 assignBuffers(renderdata, font.descriptorSet) | 29 assignBuffers(renderdata, font.descriptorSet) |
29 uploadImages(renderdata, font.descriptorSet) | 30 uploadImages(renderdata, font.descriptorSet) |
30 initDescriptorSet(renderdata, pipeline.layout(0), font.descriptorSet) | 31 initDescriptorSet(renderdata, pipeline.layout(0), font.descriptorSet) |
31 | 32 |
32 var start = getMonoTime() | 33 var start = getMonoTime() |
33 while ((getMonoTime() - start).inMilliseconds().int / 1000) < time: | 34 while ((getMonoTime() - start).inMilliseconds().int / 1000) < time: |
34 let t = getMonoTime() | 35 let t = getMonoTime() |
35 glyphs.reset() | 36 glyphs.reset() |
36 glyphs.add("semicongine".toRunes()) | 37 glyphs.add("semi-\ncon-\nginea".toRunes(), vec3(0.0, 0.0)) |
38 glyphs.add("semi-\ncon-\ngine".toRunes(), vec3(0.5, -0.5)) | |
39 glyphs.add("semi-\ncon-\ngine".toRunes(), vec3(-0.5, 0.5)) | |
40 glyphs.add("semi-\ncon-\ngineb".toRunes(), vec3(0.5, 0.5)) | |
41 glyphs.add("semi-\ncon-\ngineb".toRunes(), vec3(0.9, 0.1)) | |
42 glyphs.add("semi-\ncon-\ngineb".toRunes(), vec3(0.1, 0.9)) | |
37 glyphs.updateAllGPUBuffers(flush = true) | 43 glyphs.updateAllGPUBuffers(flush = true) |
38 | 44 |
39 withNextFrame(framebuffer, commandbuffer): | 45 withNextFrame(framebuffer, commandbuffer): |
40 bindDescriptorSet(commandbuffer, font.descriptorSet, 0, pipeline) | 46 bindDescriptorSet(commandbuffer, font.descriptorSet, 0, pipeline) |
41 withRenderPass( | 47 withRenderPass( |