comparison tests/test_text.nim @ 1378:31f57a969ffd

fix: make text-tests buildable again
author sam <sam@basx.dev>
date Sun, 08 Dec 2024 22:00:31 +0700
parents 92c089136a05
children 4aa9e703af48
comparison
equal deleted inserted replaced
1377:aaf8fa2c7bb2 1378:31f57a969ffd
10 import ../semicongine 10 import ../semicongine
11 11
12 type FontDS = object 12 type FontDS = object
13 fontAtlas: Image[Gray] 13 fontAtlas: Image[Gray]
14 14
15 proc test_01_static_label_new(time: float32) = 15 proc test_01_static_label(time: float32) =
16 var font = loadFont("Overhaul.ttf", lineHeightPixels = 160) 16 var font = loadFont("Overhaul.ttf", lineHeightPixels = 160)
17 var renderdata = initRenderData() 17 var renderdata = initRenderData()
18 var pipeline = 18 var pipeline =
19 createPipeline[GlyphShader[200]](renderPass = vulkan.swapchain.renderPass) 19 createPipeline[DefaultFontShader[FontDS]](renderPass = vulkan.swapchain.renderPass)
20 20
21 var ds = asDescriptorSetData(GlyphDescriptors[200](fontAtlas: font.fontAtlas.copy())) 21 var ds = asDescriptorSetData(FontDS(fontAtlas: font.fontAtlas.copy()))
22 uploadImages(renderdata, ds) 22 uploadImages(renderdata, ds)
23 initDescriptorSet(renderdata, pipeline.layout(0), ds) 23 initDescriptorSet(renderdata, pipeline.layout(0), ds)
24 24
25 var start = getMonoTime() 25 var label1 =
26 while ((getMonoTime() - start).inMilliseconds().int / 1000) < time: 26 initTextbox(renderdata, pipeline.layout(0), font, 0.0005, "Hello semicongine!")
27
28 var start = getMonoTime()
29 while ((getMonoTime() - start).inMilliseconds().int / 1000) < time:
30 label1.refresh()
27 withNextFrame(framebuffer, commandbuffer): 31 withNextFrame(framebuffer, commandbuffer):
28 bindDescriptorSet(commandbuffer, ds, 0, pipeline) 32 bindDescriptorSet(commandbuffer, ds, 0, pipeline)
29 withRenderPass( 33 withRenderPass(
30 vulkan.swapchain.renderPass, 34 vulkan.swapchain.renderPass,
31 framebuffer, 35 framebuffer,
40 # cleanup 44 # cleanup
41 checkVkResult vkDeviceWaitIdle(vulkan.device) 45 checkVkResult vkDeviceWaitIdle(vulkan.device)
42 destroyPipeline(pipeline) 46 destroyPipeline(pipeline)
43 destroyRenderData(renderdata) 47 destroyRenderData(renderdata)
44 48
45 proc test_01_static_label(time: float32) = 49 #[
50 proc test_01_static_label_new(time: float32) =
46 var font = loadFont("Overhaul.ttf", lineHeightPixels = 160) 51 var font = loadFont("Overhaul.ttf", lineHeightPixels = 160)
47 var renderdata = initRenderData() 52 var renderdata = initRenderData()
48 var pipeline = 53 var pipeline =
49 createPipeline[DefaultFontShader[FontDS]](renderPass = vulkan.swapchain.renderPass) 54 createPipeline[DefaultFontShader[FontDS]](renderPass = vulkan.swapchain.renderPass)
50 55
80 85
81 # cleanup 86 # cleanup
82 checkVkResult vkDeviceWaitIdle(vulkan.device) 87 checkVkResult vkDeviceWaitIdle(vulkan.device)
83 destroyPipeline(pipeline) 88 destroyPipeline(pipeline)
84 destroyRenderData(renderdata) 89 destroyRenderData(renderdata)
90 ]#
85 91
86 proc test_02_multiple_animated(time: float32) = 92 proc test_02_multiple_animated(time: float32) =
87 var font1 = loadFont("Overhaul.ttf", lineHeightPixels = 40) 93 var font1 = loadFont("Overhaul.ttf", lineHeightPixels = 40)
88 var font2 = loadFont("Overhaul.ttf", lineHeightPixels = 160) 94 var font2 = loadFont("Overhaul.ttf", lineHeightPixels = 160)
89 var font3 = loadFont("DejaVuSans.ttf", lineHeightPixels = 160) 95 var font3 = loadFont("DejaVuSans.ttf", lineHeightPixels = 160)
285 for depthBuffer in [true, false]: 291 for depthBuffer in [true, false]:
286 var renderpass = createDirectPresentationRenderPass(depthBuffer = depthBuffer) 292 var renderpass = createDirectPresentationRenderPass(depthBuffer = depthBuffer)
287 setupSwapchain(renderpass = renderpass) 293 setupSwapchain(renderpass = renderpass)
288 294
289 # tests a simple triangle with minimalistic shader and vertex format 295 # tests a simple triangle with minimalistic shader and vertex format
290 test_01_static_label_new(time) 296 # test_01_static_label_new(time)
291 test_01_static_label(time) 297 test_01_static_label(time)
292 test_02_multiple_animated(time) 298 test_02_multiple_animated(time)
293 test_03_layouting(time) 299 test_03_layouting(time)
294 test_04_lots_of_texts(time) 300 test_04_lots_of_texts(time)
295 301