【发布时间】:2012-11-24 06:21:00
【问题描述】:
在阅读简单 VBO 程序的示例时,我注意到正常数据与顶点数据之间似乎存在关联。但是从法线的定义来看,我会认为法线数据应该与人脸数据相关联。
从下面的代码段中,我可以注意到每个 MyVertex 的法线数据是相同的,因此“三角形面”的法线是有意义的。但我不确定如何存储较大对象的正常数据,其中几个面可能共享存储在 GL_ELEMENT_ARRAY_BUFFER 中的相同顶点。
问题: OpenGL 在概念上如何处理普通数据?还是我对法线在某处的工作方式做出了错误的假设?
(以下代码来自http://www.opengl.org/wiki/VBO_-_just_examples)
struct MyVertex
{
float x, y, z; //Vertex
float nx, ny, nz; //Normal
float s0, t0; //Texcoord0
};
MyVertex pvertex[3];
//VERTEX 0
pvertex[0].x = 0.0;
pvertex[0].y = 0.0;
pvertex[0].z = 0.0;
pvertex[0].nx = 0.0;
pvertex[0].ny = 0.0;
pvertex[0].nz = 1.0;
pvertex[0].s0 = 0.0;
pvertex[0].t0 = 0.0;
//VERTEX 1
提前致谢
【问题讨论】:
-
代码部分的其余部分在哪里?
-
它在链接中,我不确定是否应该在他的问题本身中发布一大块代码