我有(x,y,z)法线作为3个浮点数,我想将它们打包成VBO数组GL_INT_2_10_10_10_REVs,以减少显卡的内存消耗.谁能提供一个如何在C++/C#中做到这一点的例子?
OpenGL文档说你可以这样做 - https://www.opengl.org/wiki/Vertex_Specification_Best_Practices
但是,我找不到任何关于如何将三个浮点数(可以是正数或负数)放入单个压缩4字节结构的示例.
您需要将它们打包在类似于以下内容的位域中:
struct norm{
int a:2;
int Z:10;
int y:10;
int X:10; //order may need to be different
}
Run Code Online (Sandbox Code Playgroud)
确保您放入的字段缩放-512到511
| 归档时间: |
|
| 查看次数: |
803 次 |
| 最近记录: |