gpt4 book ai didi

c++ - 计算顶点法线

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:14:58 25 4
gpt4 key购买 nike

我在谷歌上搜索了很多小时都没有得到很好解释的答案,我正在处理光照,我需要顶点法线,假设我们有这个顶点缓冲区(它是一个立方体):

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
};

那么,我该如何计算顶点法线呢?就这样。谢谢

最佳答案

这不是计算它们本身的问题,法线是对象艺术作​​品的一部分。如果你让每个角的法线点从立方体“向外”,它就会有一种蓬松的圆形外观,而如果你让它们垂直指向外面(垂直于立方体那一侧的平面),你就会有一个尖锐的定义立方体。

如果您有一个包含许多三角形的更复杂(光滑)的表面,您可以通过对三角形各边的叉积取平均值来计算法线。这将给出最平滑的外观。在那种情况下,您仍然在进行艺术判断。每个对象都没有唯一的答案。

关于c++ - 计算顶点法线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15149045/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com