Spa*_*ark 4 c++ opengl normals vertex
我在谷歌搜索了很多小时没有得到很好的解释,我正在使用光照,我需要顶点法线,让我们假设我们有这个顶点缓冲区(它是一个立方体):
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
};
Run Code Online (Sandbox Code Playgroud)
那么,我该如何计算顶点法线?就这样.谢谢
这不是计算它们本身的问题,法线是对象的艺术品的一部分.如果你使每个角落的正常点从立方体"向外",那么它将具有一种浮肿的圆形外观,而如果你让它们指向正方形(垂直于立方体那一侧的平面)你会有一个尖锐的定义立方体.
如果你有一个更复杂(光滑)的表面有许多三角形,你可以通过平均三角形边的叉积的值来计算法线.这样可以提供最流畅的外观.在这种情况下,你仍在做出艺术判断.每个对象都没有一个答案.
归档时间: |
|
查看次数: |
7561 次 |
最近记录: |