Mercurial > games > semicongine
comparison tests/test_rendering.nim @ 1233:1cf698973dca
did: cleanup tests and old platform layer files
| author | sam <sam@basx.dev> | 
|---|---|
| date | Fri, 19 Jul 2024 21:25:42 +0700 | 
| parents | 32a977c71ba5 | 
| children | c70fee6568f6 | 
   comparison
  equal
  deleted
  inserted
  replaced
| 1232:32a977c71ba5 | 1233:1cf698973dca | 
|---|---|
| 1 import std/os | |
| 1 import std/sequtils | 2 import std/sequtils | 
| 2 import std/monotimes | 3 import std/monotimes | 
| 3 import std/times | 4 import std/times | 
| 4 import std/options | 5 import std/options | 
| 5 import std/random | 6 import std/random | 
| 414 var c = 0 | 415 var c = 0 | 
| 415 var tStart = getMonoTime() | 416 var tStart = getMonoTime() | 
| 416 var t = tStart | 417 var t = tStart | 
| 417 while UpdateInputs() and c < nFrames: | 418 while UpdateInputs() and c < nFrames: | 
| 418 | 419 | 
| 419 let t = getMonoTime() - tStart | 420 let tStartLoop = getMonoTime() - tStart | 
| 420 | 421 | 
| 421 uniforms1.data.data.data.mvp = ( | 422 uniforms1.data.data.data.mvp = ( | 
| 422 Perspective(-PI / 2, GetAspectRatio(swapchain), 0.01, 100) * | 423 Perspective(-PI / 2, GetAspectRatio(swapchain), 0.01, 100) * | 
| 423 Translate(0, 0, 2) * | 424 Translate(0, 0, 2) * | 
| 424 Rotate(PI / 4, X) * | 425 Rotate(PI / 4, X) * | 
| 425 Rotate(PI * 0.5 * (t.inMicroseconds() / 1_000_000), Y) | 426 Rotate(PI * 0.1 * (tStartLoop.inMicroseconds() / 1_000_000), Y) | 
| 426 ) | 427 ) | 
| 427 UpdateGPUBuffer(uniforms1.data.data, flush = true) | 428 UpdateGPUBuffer(uniforms1.data.data, flush = true) | 
| 428 WithNextFrame(swapchain, framebuffer, commandbuffer): | 429 WithNextFrame(swapchain, framebuffer, commandbuffer): | 
| 429 WithRenderPass(swapchain.renderPass, framebuffer, commandbuffer, swapchain.width, swapchain.height, NewVec4f(0, 0, 0, 0)): | 430 WithRenderPass(swapchain.renderPass, framebuffer, commandbuffer, swapchain.width, swapchain.height, NewVec4f(0, 0, 0, 0)): | 
| 430 WithPipeline(commandbuffer, pipeline): | 431 WithPipeline(commandbuffer, pipeline): | 
| 431 WithBind(commandbuffer, (uniforms1, ), pipeline, swapchain.currentFiF): | 432 WithBind(commandbuffer, (uniforms1, ), pipeline, swapchain.currentFiF): | 
| 432 Render(commandbuffer = commandbuffer, pipeline = pipeline, mesh = mesh) | 433 Render(commandbuffer = commandbuffer, pipeline = pipeline, mesh = mesh) | 
| 433 Render(commandbuffer = commandbuffer, pipeline = pipeline, mesh = floor) | 434 Render(commandbuffer = commandbuffer, pipeline = pipeline, mesh = floor) | 
| 435 | |
| 436 let tEndLoop = getMonoTime() - tStart | |
| 437 let looptime = tEndLoop - tStartLoop | |
| 438 let waitTime = 16_666 - looptime.inMicroseconds | |
| 439 if waitTime > 0: | |
| 440 echo "sleep ", waitTime / 1000 | |
| 441 sleep((waitTime / 1000).int) | |
| 434 inc c | 442 inc c | 
| 435 | 443 | 
| 436 # cleanup | 444 # cleanup | 
| 437 checkVkResult vkDeviceWaitIdle(vulkan.device) | 445 checkVkResult vkDeviceWaitIdle(vulkan.device) | 
| 438 DestroyPipeline(pipeline) | 446 DestroyPipeline(pipeline) | 
