Mercurial > games > semicongine
comparison tests/test_vulkan_wrapper.nim @ 563:fb42da98c1aa
did: update to use new shader concept
| author | Sam <sam@basx.dev> | 
|---|---|
| date | Fri, 17 Mar 2023 01:11:58 +0700 | 
| parents | 8de8a2102071 | 
| children | 1e2027dfc642 | 
   comparison
  equal
  deleted
  inserted
  replaced
| 562:bfb75f2cd493 | 563:fb42da98c1aa | 
|---|---|
| 5 import semicongine/math | 5 import semicongine/math | 
| 6 | 6 | 
| 7 type | 7 type | 
| 8 Vertex = object | 8 Vertex = object | 
| 9 pos: Vec3 | 9 pos: Vec3 | 
| 10 Uniforms = object | |
| 11 time: float32 | |
| 10 | 12 | 
| 11 | 13 | 
| 12 when isMainModule: | 14 when isMainModule: | 
| 13 # print basic driver infos | 15 # print basic driver infos | 
| 14 echo "Layers" | 16 echo "Layers" | 
| 72 commandPool = device.createCommandPool(family=device.firstGraphicsQueue().get().family, nBuffers=1) | 74 commandPool = device.createCommandPool(family=device.firstGraphicsQueue().get().family, nBuffers=1) | 
| 73 imageAvailable = device.createSemaphore() | 75 imageAvailable = device.createSemaphore() | 
| 74 renderFinished = device.createSemaphore() | 76 renderFinished = device.createSemaphore() | 
| 75 inflight = device.createFence() | 77 inflight = device.createFence() | 
| 76 | 78 | 
| 77 var vertexshader = device.createVertexShader("#version 450\nvoid main() {}", Vertex()) | 79 var vertexshader = shader(Vertex, Uniforms, device): | 
| 78 var fragmentshader = device.createFragmentShader("#version 450\nvoid main() {}") | 80 shadertype: VK_SHADER_STAGE_VERTEX_BIT | 
| 79 var pipeline = renderpass.createPipeline(vertexshader, fragmentshader) | 81 entrypoint: "main" | 
| 82 version: 450 | |
| 83 code: """""" | |
| 84 var fragmentshader = shader(Vertex, Uniforms, device): | |
| 85 shadertype: VK_SHADER_STAGE_FRAGMENT_BIT | |
| 86 entrypoint: "main" | |
| 87 version: 450 | |
| 88 code: "" | |
| 89 | |
| 90 #var vertexshader = loadShaderCode[Vertex, Uniforms](device, vertexshadercode) | |
| 91 #var fragmentshader = loadShaderCode[Vertex, Uniforms](device, fragmentshadercode) | |
| 92 #var pipeline = renderpass.createPipeline(vertexshaderhandle, fragmentshaderhandle) | |
| 80 | 93 | 
| 81 echo "All successfull" | 94 echo "All successfull" | 
| 82 echo "Start cleanup" | 95 echo "Start cleanup" | 
| 83 | 96 | 
| 84 # cleanup | 97 # cleanup | 
| 85 pipeline.destroy() | 98 #pipeline.destroy() | 
| 86 vertexshader.destroy() | 99 #vertexshader.destroy() | 
| 87 fragmentshader.destroy() | 100 #fragmentshader.destroy() | 
| 88 inflight.destroy() | 101 inflight.destroy() | 
| 89 imageAvailable.destroy() | 102 imageAvailable.destroy() | 
| 90 renderFinished.destroy() | 103 renderFinished.destroy() | 
| 91 commandPool.destroy() | 104 commandPool.destroy() | 
| 92 for fb in framebuffers.mitems: | 105 for fb in framebuffers.mitems: | 
