Mercurial > games > semicongine
comparison tests/test_gltf.nim @ 1499:1f58458b7ef7 default tip
did: fix a few issues with tests
author | sam <sam@basx.dev> |
---|---|
date | Tue, 14 Oct 2025 00:27:28 +0700 |
parents | 96753bec055c |
children |
comparison
equal
deleted
inserted
replaced
1498:d3d667bbdda4 | 1499:1f58458b7ef7 |
---|---|
122 Camera(view: Unit4, normal: Unit4, projection: Unit4), UniformBufferMapped | 122 Camera(view: Unit4, normal: Unit4, projection: Unit4), UniformBufferMapped |
123 ) | 123 ) |
124 ) | 124 ) |
125 ) | 125 ) |
126 for i in 0 ..< gltfData.materials.len: | 126 for i in 0 ..< gltfData.materials.len: |
127 descriptors.data.materials[i] = asGPUValue(gltfData.materials[i], UniformBuffer) | 127 for j in 0 ..< INFLIGHTFRAMES.int: |
128 descriptors.data[j].materials[i] = asGPUValue(gltfData.materials[i], UniformBuffer) | |
128 for mesh in mitems(gltfData.meshes): | 129 for mesh in mitems(gltfData.meshes): |
129 for primitive in mitems(mesh.primitives): | 130 for primitive in mitems(mesh.primitives): |
130 primitive.data.color = asGPUArray( | 131 primitive.data.color = asGPUArray( |
131 newSeqWith(primitive.data.position.data.len, vec4(1, 1, 1, 1)), VertexBuffer | 132 newSeqWith(primitive.data.position.data.len, vec4(1, 1, 1, 1)), VertexBuffer |
132 ) | 133 ) |
189 let camDirSide = camDir.cross(-Y).normalized | 190 let camDirSide = camDir.cross(-Y).normalized |
190 camPos += camDir * forward * dt | 191 camPos += camDir * forward * dt |
191 camPos += camDirSide * sideward * dt | 192 camPos += camDirSide * sideward * dt |
192 | 193 |
193 let view = rotate(-camPitch, X) * rotate(-camYaw, Y) * translate(-camPos) | 194 let view = rotate(-camPitch, X) * rotate(-camYaw, Y) * translate(-camPos) |
194 descriptors.data.camera.data.view = view | 195 descriptors.data[currentFiF()].camera.data.view = view |
195 descriptors.data.camera.data.normal = view | 196 descriptors.data[currentFiF()].camera.data.normal = view |
196 descriptors.data.camera.data.projection = | 197 descriptors.data[currentFiF()].camera.data.projection = |
197 projection(PI / 2, aspect = getAspectRatio(), zNear = 0.01, zFar = 20) | 198 projection(PI / 2, aspect = getAspectRatio(), zNear = 0.01, zFar = 20) |
198 | 199 |
199 updateGPUBuffer(descriptors.data.camera) | 200 updateGPUBuffer(descriptors.data[currentFiF()].camera, currentFiF()) |
200 | 201 |
201 withNextFrame(framebuffer, commandbuffer): | 202 withNextFrame(framebuffer, commandbuffer): |
202 withRenderPass( | 203 withRenderPass( |
203 renderPass, | 204 renderPass, |
204 framebuffer, | 205 framebuffer, |
227 initEngine("Test glTF") | 228 initEngine("Test glTF") |
228 | 229 |
229 var renderpass = createDirectPresentationRenderPass( | 230 var renderpass = createDirectPresentationRenderPass( |
230 depthBuffer = true, samples = VK_SAMPLE_COUNT_4_BIT | 231 depthBuffer = true, samples = VK_SAMPLE_COUNT_4_BIT |
231 ) | 232 ) |
232 setupSwapchain(renderpass = renderpass) | 233 setupSwapchain(renderpass = renderpass, vSync = false, tripleBuffering = true) |
233 lockMouse(true) | 234 lockMouse(true) |
234 # showSystemCursor(false) | 235 # showSystemCursor(false) |
235 | 236 |
236 # tests a simple triangle with minimalistic shader and vertex format | 237 # tests a simple triangle with minimalistic shader and vertex format |
237 test_gltf(time, renderpass) | 238 test_gltf(time, renderpass) |