Options:
Mesh with Vert3s
Mesh with Ints?
Mesh will not have triangles, it will only be represented by points (think point cloud).
Is it possible to create a mesh of ints? I was thinking that it would be possible to create meshes of very specific dimensions based on metric scales. For instance int 8 will give me 255 values, I can ignore 5 values for a total of 250. Therefore, I could break a game object into meshes of 4x4x4.
This would give me 50% memory savings, however… the question really is… What is the most efficient way to get data to the GPU? Does it only take Vector3? If it did take Int8/int16, is it more or less efficient? Any performance gurus out there that know the answer to this?
The GPU only takes Vector3s. Moreover, the only way to get a mesh to the GPU is to use the Mesh class provided by Unity; you can’t just make up your own.
The most optimal way at this point is probably through the SetVertexBufferData Unity - Scripting API: Mesh.SetVertexBufferData
2 Likes
So in Theory would
" new VertexAttributeDescriptor(VertexAttribute.Position, VertexAttributeFormat.UInt8, 1), "
Be possible?
Will Unity ever build out options that are more practical for other applications?
Example Meshes with “other” parameters? It is simple math… between the CPU and GPU it would be possible to efficiently do. Maybe release some experimental packages for impractical situations? (situations that are not common, but yet frequent enough to allow advanced adaptations)