Mercurial > games > semicongine
comparison tests/test_rendering.nim @ 1414:5e5a3311ca44
did: small improvment to allow easy adjustment of shader-code
author | sam <sam@basx.dev> |
---|---|
date | Fri, 27 Dec 2024 17:20:31 +0700 |
parents | ca3299ea1bdf |
children | 3b8a736c45a7 |
comparison
equal
deleted
inserted
replaced
1413:bc6782c0edd6 | 1414:5e5a3311ca44 |
---|---|
41 color: asGPUArray([vec3(0, 0, 1), vec3(0, 1, 0), vec3(1, 0, 0)], VertexBuffer), | 41 color: asGPUArray([vec3(0, 0, 1), vec3(0, 1, 0), vec3(1, 0, 0)], VertexBuffer), |
42 ) | 42 ) |
43 assignBuffers(renderdata, mesh) | 43 assignBuffers(renderdata, mesh) |
44 renderdata.flushAllMemory() | 44 renderdata.flushAllMemory() |
45 | 45 |
46 var pipeline = createPipeline[Shader](renderPass = vulkan.swapchain.renderPass) | 46 var pipeline = createPipeline(Shader(), renderPass = vulkan.swapchain.renderPass) |
47 | 47 |
48 var start = getMonoTime() | 48 var start = getMonoTime() |
49 while ((getMonoTime() - start).inMilliseconds().int / 1000) < time: | 49 while ((getMonoTime() - start).inMilliseconds().int / 1000) < time: |
50 withNextFrame(framebuffer, commandbuffer): | 50 withNextFrame(framebuffer, commandbuffer): |
51 withRenderPass( | 51 withRenderPass( |
134 assignBuffers(renderdata, quad) | 134 assignBuffers(renderdata, quad) |
135 assignBuffers(renderdata, instancesA) | 135 assignBuffers(renderdata, instancesA) |
136 assignBuffers(renderdata, instancesB) | 136 assignBuffers(renderdata, instancesB) |
137 renderdata.flushAllMemory() | 137 renderdata.flushAllMemory() |
138 | 138 |
139 var pipeline = createPipeline[SomeShader](renderPass = vulkan.swapchain.renderPass) | 139 var pipeline = createPipeline(SomeShader(), renderPass = vulkan.swapchain.renderPass) |
140 | 140 |
141 var start = getMonoTime() | 141 var start = getMonoTime() |
142 while ((getMonoTime() - start).inMilliseconds().int / 1000) < time: | 142 while ((getMonoTime() - start).inMilliseconds().int / 1000) < time: |
143 withNextFrame(framebuffer, commandbuffer): | 143 withNextFrame(framebuffer, commandbuffer): |
144 withRenderPass( | 144 withRenderPass( |
249 assignBuffers(renderdata, uniforms2) | 249 assignBuffers(renderdata, uniforms2) |
250 uploadImages(renderdata, uniforms1) | 250 uploadImages(renderdata, uniforms1) |
251 uploadImages(renderdata, uniforms2) | 251 uploadImages(renderdata, uniforms2) |
252 renderdata.flushAllMemory() | 252 renderdata.flushAllMemory() |
253 | 253 |
254 var pipeline = createPipeline[QuadShader](renderPass = vulkan.swapchain.renderPass) | 254 var pipeline = createPipeline(QuadShader(), renderPass = vulkan.swapchain.renderPass) |
255 | 255 |
256 initDescriptorSet(renderdata, pipeline.descriptorSetLayouts[0], uniforms1) | 256 initDescriptorSet(renderdata, pipeline.descriptorSetLayouts[0], uniforms1) |
257 initDescriptorSet(renderdata, pipeline.descriptorSetLayouts[0], uniforms2) | 257 initDescriptorSet(renderdata, pipeline.descriptorSetLayouts[0], uniforms2) |
258 | 258 |
259 var start = getMonoTime() | 259 var start = getMonoTime() |
388 assignBuffers(renderdata, otherset1) | 388 assignBuffers(renderdata, otherset1) |
389 assignBuffers(renderdata, otherset2) | 389 assignBuffers(renderdata, otherset2) |
390 uploadImages(renderdata, mainset) | 390 uploadImages(renderdata, mainset) |
391 renderdata.flushAllMemory() | 391 renderdata.flushAllMemory() |
392 | 392 |
393 var pipeline = createPipeline[QuadShader](renderPass = vulkan.swapchain.renderPass) | 393 var pipeline = createPipeline(QuadShader(), renderPass = vulkan.swapchain.renderPass) |
394 | 394 |
395 initDescriptorSet(renderdata, pipeline.descriptorSetLayouts[0], constset) | 395 initDescriptorSet(renderdata, pipeline.descriptorSetLayouts[0], constset) |
396 initDescriptorSet(renderdata, pipeline.descriptorSetLayouts[1], mainset) | 396 initDescriptorSet(renderdata, pipeline.descriptorSetLayouts[1], mainset) |
397 initDescriptorSet(renderdata, pipeline.descriptorSetLayouts[2], otherset1) | 397 initDescriptorSet(renderdata, pipeline.descriptorSetLayouts[2], otherset1) |
398 initDescriptorSet(renderdata, pipeline.descriptorSetLayouts[2], otherset2) | 398 initDescriptorSet(renderdata, pipeline.descriptorSetLayouts[2], otherset2) |
533 ) | 533 ) |
534 assignBuffers(renderdata, uniforms1) | 534 assignBuffers(renderdata, uniforms1) |
535 | 535 |
536 renderdata.flushAllMemory() | 536 renderdata.flushAllMemory() |
537 | 537 |
538 var pipeline = createPipeline[CubeShader](renderPass = vulkan.swapchain.renderPass) | 538 var pipeline = createPipeline(CubeShader(), renderPass = vulkan.swapchain.renderPass) |
539 initDescriptorSet(renderdata, pipeline.descriptorSetLayouts[0], uniforms1) | 539 initDescriptorSet(renderdata, pipeline.descriptorSetLayouts[0], uniforms1) |
540 | 540 |
541 var tStart = getMonoTime() | 541 var tStart = getMonoTime() |
542 var t = tStart | 542 var t = tStart |
543 | 543 |
618 ) | 618 ) |
619 assignBuffers(renderdata, triangle) | 619 assignBuffers(renderdata, triangle) |
620 assignBuffers(renderdata, lines) | 620 assignBuffers(renderdata, lines) |
621 renderdata.flushAllMemory() | 621 renderdata.flushAllMemory() |
622 | 622 |
623 var pipeline1 = createPipeline[Shader]( | 623 var pipeline1 = createPipeline( |
624 Shader(), | |
624 renderPass = vulkan.swapchain.renderPass, | 625 renderPass = vulkan.swapchain.renderPass, |
625 polygonMode = VK_POLYGON_MODE_LINE, | 626 polygonMode = VK_POLYGON_MODE_LINE, |
626 lineWidth = 20'f32, | 627 lineWidth = 20'f32, |
627 ) | 628 ) |
628 var pipeline2 = createPipeline[Shader]( | 629 var pipeline2 = createPipeline( |
629 renderPass = vulkan.swapchain.renderPass, polygonMode = VK_POLYGON_MODE_POINT | 630 Shader(), |
630 ) | 631 renderPass = vulkan.swapchain.renderPass, |
631 var pipeline3 = createPipeline[Shader]( | 632 polygonMode = VK_POLYGON_MODE_POINT, |
633 ) | |
634 var pipeline3 = createPipeline( | |
635 Shader(), | |
632 renderPass = vulkan.swapchain.renderPass, | 636 renderPass = vulkan.swapchain.renderPass, |
633 topology = VK_PRIMITIVE_TOPOLOGY_LINE_LIST, | 637 topology = VK_PRIMITIVE_TOPOLOGY_LINE_LIST, |
634 lineWidth = 5, | 638 lineWidth = 5, |
635 ) | 639 ) |
636 var pipeline4 = createPipeline[Shader]( | 640 var pipeline4 = createPipeline( |
641 Shader(), | |
637 renderPass = vulkan.swapchain.renderPass, | 642 renderPass = vulkan.swapchain.renderPass, |
638 topology = VK_PRIMITIVE_TOPOLOGY_POINT_LIST, | 643 topology = VK_PRIMITIVE_TOPOLOGY_POINT_LIST, |
639 ) | 644 ) |
640 | 645 |
641 var start = getMonoTime() | 646 var start = getMonoTime() |
717 ), | 722 ), |
718 ) | 723 ) |
719 assignBuffers(renderdata, mesh) | 724 assignBuffers(renderdata, mesh) |
720 renderdata.flushAllMemory() | 725 renderdata.flushAllMemory() |
721 | 726 |
722 var pipeline = createPipeline[Shader](renderPass = vulkan.swapchain.renderPass) | 727 var pipeline = createPipeline(Shader(), renderPass = vulkan.swapchain.renderPass) |
723 var uniforms1 = asDescriptorSetData( | 728 var uniforms1 = asDescriptorSetData( |
724 Uniforms(textures: loadImageArray[BGRA](["art.png", "art1.png"])) | 729 Uniforms(textures: loadImageArray[BGRA](["art.png", "art1.png"])) |
725 ) | 730 ) |
726 uploadImages(renderdata, uniforms1) | 731 uploadImages(renderdata, uniforms1) |
727 initDescriptorSet(renderdata, pipeline.descriptorSetLayouts[0], uniforms1) | 732 initDescriptorSet(renderdata, pipeline.descriptorSetLayouts[0], uniforms1) |
794 ), | 799 ), |
795 ) | 800 ) |
796 assignBuffers(renderdata, mesh) | 801 assignBuffers(renderdata, mesh) |
797 renderdata.flushAllMemory() | 802 renderdata.flushAllMemory() |
798 | 803 |
799 var pipeline = createPipeline[Shader](renderPass = vulkan.swapchain.renderPass) | 804 var pipeline = createPipeline(Shader(), renderPass = vulkan.swapchain.renderPass) |
800 var uniforms1 = asDescriptorSetData(Uniforms(texture1: loadImage[BGRA]("art.png"))) | 805 var uniforms1 = asDescriptorSetData(Uniforms(texture1: loadImage[BGRA]("art.png"))) |
801 uploadImages(renderdata, uniforms1) | 806 uploadImages(renderdata, uniforms1) |
802 initDescriptorSet(renderdata, pipeline.descriptorSetLayouts[0], uniforms1) | 807 initDescriptorSet(renderdata, pipeline.descriptorSetLayouts[0], uniforms1) |
803 | 808 |
804 var start = getMonoTime() | 809 var start = getMonoTime() |
904 assignBuffers(renderdata, quad) | 909 assignBuffers(renderdata, quad) |
905 uploadImages(renderdata, uniforms1) | 910 uploadImages(renderdata, uniforms1) |
906 renderdata.flushAllMemory() | 911 renderdata.flushAllMemory() |
907 | 912 |
908 var | 913 var |
909 drawPipeline = createPipeline[TriangleShader](renderPass = offscreenRP) | 914 drawPipeline = createPipeline(TriangleShader(), renderPass = offscreenRP) |
910 presentPipeline = createPipeline[PresentShader](renderPass = presentRP) | 915 presentPipeline = createPipeline(PresentShader(), renderPass = presentRP) |
911 | 916 |
912 initDescriptorSet(renderdata, presentPipeline.descriptorSetLayouts[0], uniforms1) | 917 initDescriptorSet(renderdata, presentPipeline.descriptorSetLayouts[0], uniforms1) |
913 | 918 |
914 # create depth buffer images (will not use the one in the swapchain | 919 # create depth buffer images (will not use the one in the swapchain |
915 var | 920 var |