我正在使用 Vec4Array
每个顶点的颜色将大型彩色点云加载到 OpenSceneGraph 中。这是内存效率非常低的,每个顶点需要 16 字节的颜色信息,而我想存储 4 或更少。我正在处理的数据集很大,所以这是一个严重的问题。
有什么方法可以让 OpenSceneGraph 使用较低分辨率的着色(例如 24 位颜色就足够了)?
最佳答案
您可以使用顶点属性和着色器将 XYZ 和颜色编码为所需的位数,然后在着色器中将它们解码回来。但除此之外,OpenGL(和 OSG)并没有真正为您提供很大的灵活性。
许多游戏架构(游戏机和移动设备使用 16 位 5-6-5 RGB 位编码方案。
关于c++ - OpenSceneGraph 可以使用更少的字节来表示 RGB 颜色吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14521851/