Array limits for vertices, colors & co #894
-
Reworking our 3d code for vsg v1.0.8 I recognized the array limits are limited to uint32_t. Is there a technical reason for it? |
Beta Was this translation helpful? Give feedback.
Replies: 5 comments 11 replies
-
The relevant limits on buffer sizes are limited to uint_32 in Vulkan. If
you want to "map" data from larger storage areas into vertex attributes,
then you could play games with the _data member.
…On Wed, Aug 2, 2023, 8:58 AM Rainer Gericke ***@***.***> wrote:
Reworking our 3d code for vsg v1.0.8 I recognized the array limits are
limited to uint32_t. Is there a technical reason for it?
—
Reply to this email directly, view it on GitHub
<#894>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AABAQAIASY56UO74WJJZIVDXTH3CVANCNFSM6AAAAAA3AZTHWQ>
.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
As Tim says the structures that we map data to on the Vulkan size using
uint32_t so the vsg::Data class mirrors this.
THe limits didn't change in v1.0.8, ivsg::Data and subclasses have always
had these limits, the changes were just cosmetic w.r.t type.
|
Beta Was this translation helpful? Give feedback.
-
I see. Our old code worked with bigger arrays too, but it is broken now. For a general solution in our software it seems to be better, to avoid to big arrays. Thanks |
Beta Was this translation helpful? Give feedback.
-
Your changes are ok, I was able to give my solution a much easier structure. Would be great if e.g. the number of vertices in VertexDraw could be set to a greater value than 65535, but if not the world will keep turning. |
Beta Was this translation helpful? Give feedback.
-
You might be getting confused by behavior of a specific loader, but the indices supplied to VertexIndexDraw can be uint32_t. |
Beta Was this translation helpful? Give feedback.
Your changes are ok, I was able to give my solution a much easier structure. Would be great if e.g. the number of vertices in VertexDraw could be set to a greater value than 65535, but if not the world will keep turning.