Mercurial > games > semicongine
comparison tests/test_gltf.nim @ 1323:3ba2c180e52c
fix: missing changes in tests
| author | sam <sam@basx.dev> |
|---|---|
| date | Thu, 15 Aug 2024 18:37:00 +0700 |
| parents | 385dbd68a947 |
| children | df3c075e5dea |
comparison
equal
deleted
inserted
replaced
| 1322:4a1c2b1128bc | 1323:3ba2c180e52c |
|---|---|
| 29 # emissiveTexture: int32 = -1 | 29 # emissiveTexture: int32 = -1 |
| 30 MainDescriptors = object | 30 MainDescriptors = object |
| 31 materials: array[50, GPUValue[Material, UniformBuffer]] | 31 materials: array[50, GPUValue[Material, UniformBuffer]] |
| 32 camera: GPUValue[Camera, UniformBufferMapped] | 32 camera: GPUValue[Camera, UniformBufferMapped] |
| 33 Shader = object | 33 Shader = object |
| 34 objectData {.PushConstantAttribute.}: ObjectData | 34 objectData {.PushConstant.}: ObjectData |
| 35 position {.VertexAttribute.}: Vec3f | 35 position {.VertexAttribute.}: Vec3f |
| 36 color {.VertexAttribute.}: Vec4f | 36 color {.VertexAttribute.}: Vec4f |
| 37 normal {.VertexAttribute.}: Vec3f | 37 normal {.VertexAttribute.}: Vec3f |
| 38 fragmentPosition {.Pass.}: Vec3f | 38 fragmentPosition {.Pass.}: Vec3f |
| 39 fragmentColor {.Pass.}: Vec4f | 39 fragmentColor {.Pass.}: Vec4f |
| 40 fragmentNormal {.Pass.}: Vec3f | 40 fragmentNormal {.Pass.}: Vec3f |
| 41 outColor {.ShaderOutput.}: Vec4f | 41 outColor {.ShaderOutput.}: Vec4f |
| 42 descriptors {.DescriptorSets.}: (MainDescriptors, ) | 42 descriptors {.DescriptorSet: 0.}: MainDescriptors |
| 43 # code | 43 # code |
| 44 vertexCode: string = """ | 44 vertexCode: string = """ |
| 45 void main() { | 45 void main() { |
| 46 mat4 modelView = objectData.transform * camera.view; | 46 mat4 modelView = objectData.transform * camera.view; |
| 47 mat3 normalMat = mat3(transpose(inverse(objectData.transform))); | 47 mat3 normalMat = mat3(transpose(inverse(objectData.transform))); |
| 109 occlusionTexture: "occlusionTexture", | 109 occlusionTexture: "occlusionTexture", |
| 110 emissiveTexture: "emissiveTexture", | 110 emissiveTexture: "emissiveTexture", |
| 111 emissiveFactor: "emissive", | 111 emissiveFactor: "emissive", |
| 112 ) | 112 ) |
| 113 ) | 113 ) |
| 114 var descriptors = asDescriptorSet( | 114 var descriptors = asDescriptorSetData( |
| 115 MainDescriptors( | 115 MainDescriptors( |
| 116 camera: asGPUValue(Camera( | 116 camera: asGPUValue(Camera( |
| 117 view: Unit4, | 117 view: Unit4, |
| 118 normal: Unit4, | 118 normal: Unit4, |
| 119 projection: Unit4, | 119 projection: Unit4, |
| 183 withNextFrame(framebuffer, commandbuffer): | 183 withNextFrame(framebuffer, commandbuffer): |
| 184 | 184 |
| 185 withRenderPass(vulkan.swapchain.renderPass, framebuffer, commandbuffer, vulkan.swapchain.width, vulkan.swapchain.height, vec4(0, 0, 0, 0)): | 185 withRenderPass(vulkan.swapchain.renderPass, framebuffer, commandbuffer, vulkan.swapchain.width, vulkan.swapchain.height, vec4(0, 0, 0, 0)): |
| 186 | 186 |
| 187 withPipeline(commandbuffer, pipeline): | 187 withPipeline(commandbuffer, pipeline): |
| 188 withBind(commandbuffer, (descriptors, ), pipeline): | 188 bindDescriptorSet(commandbuffer, descriptors, 0, pipeline) |
| 189 for nodeId in gltfData.scenes[0]: | 189 for nodeId in gltfData.scenes[0]: |
| 190 drawNode( | 190 drawNode( |
| 191 commandbuffer = commandbuffer, | 191 commandbuffer = commandbuffer, |
| 192 pipeline = pipeline, | 192 pipeline = pipeline, |
| 193 nodeId = nodeId, | 193 nodeId = nodeId, |
| 194 transform = rotate(PI / 2, Z) | 194 transform = rotate(PI / 2, Z) |
| 195 ) | 195 ) |
| 196 | 196 |
| 197 # cleanup | 197 # cleanup |
| 198 checkVkResult vkDeviceWaitIdle(vulkan.device) | 198 checkVkResult vkDeviceWaitIdle(vulkan.device) |
| 199 destroyPipeline(pipeline) | 199 destroyPipeline(pipeline) |
| 200 destroyRenderData(renderdata) | 200 destroyRenderData(renderdata) |
