comparison semiconginev2/rendering.nim @ 1242:e8b3dc80e48e

add: PNG loading and tests for it
author sam <sam@basx.dev>
date Mon, 22 Jul 2024 15:53:32 +0700
parents 42eeb59f3a43
children 01e9f41d35b1
comparison
equal deleted inserted replaced
1241:a0ed1a918fda 1242:e8b3dc80e48e
83 var fullscreen: bool 83 var fullscreen: bool
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 Gray = TVec1[uint8]
89 RGBA = TVec4[uint8]
90 PixelType = Gray | RGBA
91 88
92 # shader related types 89 # shader related types
93 DescriptorSet*[T: object] = object 90 DescriptorSet*[T: object] = object
94 data*: T 91 data*: T
95 vk: array[INFLIGHTFRAMES.int, VkDescriptorSet] 92 vk: array[INFLIGHTFRAMES.int, VkDescriptorSet]
118 size: uint64 115 size: uint64
119 rawPointer: pointer # if not nil, buffer is using mapped memory 116 rawPointer: pointer # if not nil, buffer is using mapped memory
120 offsetNextFree: uint64 117 offsetNextFree: uint64
121 memoryOffset: uint64 118 memoryOffset: uint64
122 memory: VkDeviceMemory 119 memory: VkDeviceMemory
123 Image*[T: PixelType] = object
124 width*: uint32
125 height*: uint32
126 interpolation*: VkFilter = VK_FILTER_LINEAR
127 data*: seq[T]
128 vk*: VkImage
129 imageview*: VkImageView
130 sampler*: VkSampler
131 isRenderTarget*: bool = false
132 samples*: VkSampleCountFlagBits = VK_SAMPLE_COUNT_1_BIT
133 GPUArray*[T: SupportedGPUType, TBuffer: static BufferType] = object 120 GPUArray*[T: SupportedGPUType, TBuffer: static BufferType] = object
134 data*: seq[T] 121 data*: seq[T]
135 buffer*: Buffer 122 buffer*: Buffer
136 offset*: uint64 123 offset*: uint64
137 GPUValue*[T: object, TBuffer: static BufferType] = object 124 GPUValue*[T: object, TBuffer: static BufferType] = object