我已经在谷歌搜索了很多小时,没有很好的解释,我与照明workign一个答案,我需要顶点法线,让我们假设我们有这个顶点缓冲(这是一个立方体):计算顶点法线
static const GLfloat g_vertex_buffer_data[] = {
-1.0f,-1.0f,-1.0f,
-1.0f,-1.0f, 1.0f,
-1.0f, 1.0f, 1.0f,
1.0f, 1.0f,-1.0f,
-1.0f,-1.0f,-1.0f,
-1.0f, 1.0f,-1.0f,
1.0f,-1.0f, 1.0f,
-1.0f,-1.0f,-1.0f,
1.0f,-1.0f,-1.0f,
1.0f, 1.0f,-1.0f,
1.0f,-1.0f,-1.0f,
-1.0f,-1.0f,-1.0f,
-1.0f,-1.0f,-1.0f,
-1.0f, 1.0f, 1.0f,
-1.0f, 1.0f,-1.0f,
1.0f,-1.0f, 1.0f,
-1.0f,-1.0f, 1.0f,
-1.0f,-1.0f,-1.0f,
-1.0f, 1.0f, 1.0f,
-1.0f,-1.0f, 1.0f,
1.0f,-1.0f, 1.0f,
1.0f, 1.0f, 1.0f,
1.0f,-1.0f,-1.0f,
1.0f, 1.0f,-1.0f,
1.0f,-1.0f,-1.0f,
1.0f, 1.0f, 1.0f,
1.0f,-1.0f, 1.0f,
1.0f, 1.0f, 1.0f,
1.0f, 1.0f,-1.0f,
-1.0f, 1.0f,-1.0f,
1.0f, 1.0f, 1.0f,
-1.0f, 1.0f,-1.0f,
-1.0f, 1.0f, 1.0f,
1.0f, 1.0f, 1.0f,
-1.0f, 1.0f, 1.0f,
1.0f,-1.0f, 1.0f
};
所以,我怎么能计算顶点法线? 就是这样。由于
谢谢!所以,如果我有一个扁平物体,我不需要规范化或使用光照内的顶点法线? 任何使用该顶点平滑的例子? – Spamdark 2013-03-01 01:49:58
@Spamdark:您仍然需要*在你的照明代码中规范化*(确保矢量的长度是* 1 *),以便计算出数学。你仍然需要一些顶点正常。试试这个网址:http://www.lighthouse3d.com/opengl/terrain/index.php3?normals – 2013-03-01 01:52:56
最后一个问题。 '平均所述triangles' 的侧面的横产物的值是获得三角形的边的3个向量(V1,V2,V3),那么'(cross1 + cross2 + cross3)/ 3的横' – Spamdark 2013-03-01 02:21:06