comparison semiconginev2/rendering.nim @ 1234:841e12f33c47

add: text & font rendering, not tested yet
author sam <sam@basx.dev>
date Sat, 20 Jul 2024 00:03:57 +0700
parents 1cf698973dca
children 69489a678141
comparison
equal deleted inserted replaced
1233:1cf698973dca 1234:841e12f33c47
83 func currentFiF*(swapchain: Swapchain): int = swapchain.currentFiF 83 func currentFiF*(swapchain: Swapchain): int = swapchain.currentFiF
84 84
85 type 85 type
86 # type aliases 86 # type aliases
87 SupportedGPUType = float32 | float64 | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | TVec2[int32] | TVec2[int64] | TVec3[int32] | TVec3[int64] | TVec4[int32] | TVec4[int64] | TVec2[uint32] | TVec2[uint64] | TVec3[uint32] | TVec3[uint64] | TVec4[uint32] | TVec4[uint64] | TVec2[float32] | TVec2[float64] | TVec3[float32] | TVec3[float64] | TVec4[float32] | TVec4[float64] | TMat2[float32] | TMat2[float64] | TMat23[float32] | TMat23[float64] | TMat32[float32] | TMat32[float64] | TMat3[float32] | TMat3[float64] | TMat34[float32] | TMat34[float64] | TMat43[float32] | TMat43[float64] | TMat4[float32] | TMat4[float64] 87 SupportedGPUType = float32 | float64 | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | TVec2[int32] | TVec2[int64] | TVec3[int32] | TVec3[int64] | TVec4[int32] | TVec4[int64] | TVec2[uint32] | TVec2[uint64] | TVec3[uint32] | TVec3[uint64] | TVec4[uint32] | TVec4[uint64] | TVec2[float32] | TVec2[float64] | TVec3[float32] | TVec3[float64] | TVec4[float32] | TVec4[float64] | TMat2[float32] | TMat2[float64] | TMat23[float32] | TMat23[float64] | TMat32[float32] | TMat32[float64] | TMat3[float32] | TMat3[float64] | TMat34[float32] | TMat34[float64] | TMat43[float32] | TMat43[float64] | TMat4[float32] | TMat4[float64]
88 PixelType = TVec1[uint8] | TVec4[uint8] 88 Gray = TVec1[uint8]
89 RGBA = TVec4[uint8]
90 PixelType = Gray | RGBA
89 91
90 # shader related types 92 # shader related types
91 DescriptorSet*[T: object] = object 93 DescriptorSet*[T: object] = object
92 data*: T 94 data*: T
93 vk: array[INFLIGHTFRAMES.int, VkDescriptorSet] 95 vk: array[INFLIGHTFRAMES.int, VkDescriptorSet]
344 346
345 proc `[]`*(image: Image, x, y: uint32): auto = 347 proc `[]`*(image: Image, x, y: uint32): auto =
346 assert x < image.width, &"{x} < {image.width} is not true" 348 assert x < image.width, &"{x} < {image.width} is not true"
347 assert y < image.height, &"{y} < {image.height} is not true" 349 assert y < image.height, &"{y} < {image.height} is not true"
348 350
349 image[].imagedata[y * image.width + x] 351 image.data[y * image.width + x]
350 352
351 proc `[]=`*[T](image: var Image[T], x, y: uint32, value: T) = 353 proc `[]=`*[T](image: var Image[T], x, y: uint32, value: T) =
352 assert x < image.width 354 assert x < image.width
353 assert y < image.height 355 assert y < image.height
354 356
355 image[].imagedata[y * image.width + x] = value 357 image.data[y * image.width + x] = value