Mercurial > games > semicongine
comparison tests/test_rendering.nim @ 1228:4e465583ea32
did: rename texture to image
| author | sam <sam@basx.dev> |
|---|---|
| date | Thu, 18 Jul 2024 16:33:24 +0700 |
| parents | 55896320c8bf |
| children | 5dcb503ef0c0 |
comparison
equal
deleted
inserted
replaced
| 1227:4d97cfc4888b | 1228:4e465583ea32 |
|---|---|
| 126 Material = object | 126 Material = object |
| 127 baseColor: Vec3f | 127 baseColor: Vec3f |
| 128 | 128 |
| 129 Uniforms = object | 129 Uniforms = object |
| 130 material: GPUValue[Material, UniformBuffer] | 130 material: GPUValue[Material, UniformBuffer] |
| 131 texture1: Texture[TVec4[uint8]] | 131 texture1: Image[TVec4[uint8]] |
| 132 | 132 |
| 133 QuadShader = object | 133 QuadShader = object |
| 134 position {.VertexAttribute.}: Vec3f | 134 position {.VertexAttribute.}: Vec3f |
| 135 fragmentColor {.Pass.}: Vec3f | 135 fragmentColor {.Pass.}: Vec3f |
| 136 uv {.Pass.}: Vec2f | 136 uv {.Pass.}: Vec2f |
| 159 indices: asGPUArray([0'u16, 1'u16, 2'u16, 2'u16, 3'u16, 0'u16], IndexBuffer), | 159 indices: asGPUArray([0'u16, 1'u16, 2'u16, 2'u16, 3'u16, 0'u16], IndexBuffer), |
| 160 ) | 160 ) |
| 161 uniforms1 = asDescriptorSet( | 161 uniforms1 = asDescriptorSet( |
| 162 Uniforms( | 162 Uniforms( |
| 163 material: asGPUValue(Material(baseColor: NewVec3f(1, 1, 1)), UniformBuffer), | 163 material: asGPUValue(Material(baseColor: NewVec3f(1, 1, 1)), UniformBuffer), |
| 164 texture1: Texture[TVec4[uint8]](width: 3, height: 3, data: @[R, G, B, G, B, R, B, R, G], interpolation: VK_FILTER_NEAREST), | 164 texture1: Image[TVec4[uint8]](width: 3, height: 3, data: @[R, G, B, G, B, R, B, R, G], interpolation: VK_FILTER_NEAREST), |
| 165 ) | 165 ) |
| 166 ) | 166 ) |
| 167 uniforms2 = asDescriptorSet( | 167 uniforms2 = asDescriptorSet( |
| 168 Uniforms( | 168 Uniforms( |
| 169 material: asGPUValue(Material(baseColor: NewVec3f(0.5, 0.5, 0.5)), UniformBuffer), | 169 material: asGPUValue(Material(baseColor: NewVec3f(0.5, 0.5, 0.5)), UniformBuffer), |
| 170 texture1: Texture[TVec4[uint8]](width: 2, height: 2, data: @[R, G, B, W]), | 170 texture1: Image[TVec4[uint8]](width: 2, height: 2, data: @[R, G, B, W]), |
| 171 ) | 171 ) |
| 172 ) | 172 ) |
| 173 | 173 |
| 174 AssignBuffers(renderdata, quad) | 174 AssignBuffers(renderdata, quad) |
| 175 AssignBuffers(renderdata, uniforms1) | 175 AssignBuffers(renderdata, uniforms1) |
| 176 AssignBuffers(renderdata, uniforms2) | 176 AssignBuffers(renderdata, uniforms2) |
| 177 UploadTextures(renderdata, uniforms1) | 177 UploadImages(renderdata, uniforms1) |
| 178 UploadTextures(renderdata, uniforms2) | 178 UploadImages(renderdata, uniforms2) |
| 179 renderdata.FlushAllMemory() | 179 renderdata.FlushAllMemory() |
| 180 | 180 |
| 181 var pipeline = CreatePipeline[QuadShader](renderPass = renderPass, samples = samples) | 181 var pipeline = CreatePipeline[QuadShader](renderPass = renderPass, samples = samples) |
| 182 | 182 |
| 183 InitDescriptorSet(renderdata, pipeline.descriptorSetLayouts[0], uniforms1) | 183 InitDescriptorSet(renderdata, pipeline.descriptorSetLayouts[0], uniforms1) |
| 216 ConstSet = object | 216 ConstSet = object |
| 217 constants: GPUValue[Constants, UniformBuffer] | 217 constants: GPUValue[Constants, UniformBuffer] |
| 218 MainSet = object | 218 MainSet = object |
| 219 renderSettings: GPUValue[RenderSettings, UniformBufferMapped] | 219 renderSettings: GPUValue[RenderSettings, UniformBufferMapped] |
| 220 material: array[2, GPUValue[Material, UniformBuffer]] | 220 material: array[2, GPUValue[Material, UniformBuffer]] |
| 221 texture1: array[2, Texture[TVec1[uint8]]] | 221 texture1: array[2, Image[TVec1[uint8]]] |
| 222 OtherSet = object | 222 OtherSet = object |
| 223 objectSettings: GPUValue[ObjectSettings, UniformBufferMapped] | 223 objectSettings: GPUValue[ObjectSettings, UniformBufferMapped] |
| 224 | 224 |
| 225 QuadShader = object | 225 QuadShader = object |
| 226 position {.VertexAttribute.}: Vec3f | 226 position {.VertexAttribute.}: Vec3f |
| 260 material: [ | 260 material: [ |
| 261 asGPUValue(Material(baseColor: NewVec3f(1, 1, 0)), UniformBuffer), | 261 asGPUValue(Material(baseColor: NewVec3f(1, 1, 0)), UniformBuffer), |
| 262 asGPUValue(Material(baseColor: NewVec3f(1, 0, 1)), UniformBuffer), | 262 asGPUValue(Material(baseColor: NewVec3f(1, 0, 1)), UniformBuffer), |
| 263 ], | 263 ], |
| 264 texture1: [ | 264 texture1: [ |
| 265 Texture[TVec1[uint8]](width: 2, height: 2, data: @[W, G, G, W], interpolation: VK_FILTER_NEAREST), | 265 Image[TVec1[uint8]](width: 2, height: 2, data: @[W, G, G, W], interpolation: VK_FILTER_NEAREST), |
| 266 Texture[TVec1[uint8]](width: 3, height: 3, data: @[W, G, W, G, W, G, W, G, W], interpolation: VK_FILTER_NEAREST), | 266 Image[TVec1[uint8]](width: 3, height: 3, data: @[W, G, W, G, W, G, W, G, W], interpolation: VK_FILTER_NEAREST), |
| 267 ], | 267 ], |
| 268 ), | 268 ), |
| 269 ) | 269 ) |
| 270 var otherset1 = asDescriptorSet( | 270 var otherset1 = asDescriptorSet( |
| 271 OtherSet( | 271 OtherSet( |
| 281 AssignBuffers(renderdata, quad) | 281 AssignBuffers(renderdata, quad) |
| 282 AssignBuffers(renderdata, constset) | 282 AssignBuffers(renderdata, constset) |
| 283 AssignBuffers(renderdata, mainset) | 283 AssignBuffers(renderdata, mainset) |
| 284 AssignBuffers(renderdata, otherset1) | 284 AssignBuffers(renderdata, otherset1) |
| 285 AssignBuffers(renderdata, otherset2) | 285 AssignBuffers(renderdata, otherset2) |
| 286 UploadTextures(renderdata, mainset) | 286 UploadImages(renderdata, mainset) |
| 287 renderdata.FlushAllMemory() | 287 renderdata.FlushAllMemory() |
| 288 | 288 |
| 289 var pipeline = CreatePipeline[QuadShader](renderPass = renderPass, samples = samples) | 289 var pipeline = CreatePipeline[QuadShader](renderPass = renderPass, samples = samples) |
| 290 | 290 |
| 291 InitDescriptorSet(renderdata, pipeline.descriptorSetLayouts[0], constset) | 291 InitDescriptorSet(renderdata, pipeline.descriptorSetLayouts[0], constset) |
| 322 | 322 |
| 323 var renderdata = InitRenderData() | 323 var renderdata = InitRenderData() |
| 324 | 324 |
| 325 type | 325 type |
| 326 Uniforms = object | 326 Uniforms = object |
| 327 frameTexture: Texture[TVec4[uint8]] | 327 frameTexture: Image[TVec4[uint8]] |
| 328 TriangleShader = object | 328 TriangleShader = object |
| 329 position {.VertexAttribute.}: Vec3f | 329 position {.VertexAttribute.}: Vec3f |
| 330 color {.VertexAttribute.}: Vec3f | 330 color {.VertexAttribute.}: Vec3f |
| 331 fragmentColor {.Pass.}: Vec3f | 331 fragmentColor {.Pass.}: Vec3f |
| 332 outColor {.ShaderOutput.}: Vec4f | 332 outColor {.ShaderOutput.}: Vec4f |
| 371 position: asGPUArray([NewVec2f(-1, -1), NewVec2f(-1, 1), NewVec2f(1, 1), NewVec2f(1, -1)], VertexBuffer), | 371 position: asGPUArray([NewVec2f(-1, -1), NewVec2f(-1, 1), NewVec2f(1, 1), NewVec2f(1, -1)], VertexBuffer), |
| 372 indices: asGPUArray([0'u16, 1'u16, 2'u16, 2'u16, 3'u16, 0'u16], IndexBuffer), | 372 indices: asGPUArray([0'u16, 1'u16, 2'u16, 2'u16, 3'u16, 0'u16], IndexBuffer), |
| 373 ) | 373 ) |
| 374 var uniforms1 = asDescriptorSet( | 374 var uniforms1 = asDescriptorSet( |
| 375 Uniforms( | 375 Uniforms( |
| 376 frameTexture: Texture[TVec4[uint8]](width: swapchain.width, height: swapchain.height, isRenderTarget: true), | 376 frameTexture: Image[TVec4[uint8]](width: swapchain.width, height: swapchain.height, isRenderTarget: true), |
| 377 ) | 377 ) |
| 378 ) | 378 ) |
| 379 var uniforms2 = asDescriptorSet( | 379 var uniforms2 = asDescriptorSet( |
| 380 Uniforms( | 380 Uniforms( |
| 381 frameTexture: Texture[TVec4[uint8]](width: swapchain.width, height: swapchain.height, isRenderTarget: true), | 381 frameTexture: Image[TVec4[uint8]](width: swapchain.width, height: swapchain.height, isRenderTarget: true), |
| 382 ) | 382 ) |
| 383 ) | 383 ) |
| 384 AssignBuffers(renderdata, mesh) | 384 AssignBuffers(renderdata, mesh) |
| 385 AssignBuffers(renderdata, quad) | 385 AssignBuffers(renderdata, quad) |
| 386 UploadTextures(renderdata, uniforms1) | 386 UploadImages(renderdata, uniforms1) |
| 387 UploadTextures(renderdata, uniforms2) | 387 UploadImages(renderdata, uniforms2) |
| 388 renderdata.FlushAllMemory() | 388 renderdata.FlushAllMemory() |
| 389 | 389 |
| 390 var | 390 var |
| 391 drawPipeline = CreatePipeline[TriangleShader](renderPass = offscreenRP, samples = samples) | 391 drawPipeline = CreatePipeline[TriangleShader](renderPass = offscreenRP, samples = samples) |
| 392 presentPipeline = CreatePipeline[PresentShader](renderPass = presentRP, samples = samples) | 392 presentPipeline = CreatePipeline[PresentShader](renderPass = presentRP, samples = samples) |
