在下面的OpenGL代码中,会发生什么?OpenGL - glVertex替换绘制点?
glNormal3f(nx1, ny1, nz1)
glVertex3f(x1,y1,z1)
glNormal3f(nx2, ny2, nz2) //different Normal
glVertex3f(x1,y1,z1) //same vector
在口头上:
我有一个点有一个正常的,如果我和其他正常的再次创建点,点改变了他的老法向量,或者忽略了最后一个电话?
这个问题来了,当我试图使用法线以更平滑的方式使用照明渲染球体 。
法线怎么样? imagen两个三角形共享一个共同的一面......如果我重新分配法线到点,三角形的脸部改变它是正常的,当涉及到照明? – 2011-05-04 22:03:05
这取决于你如何定义事物。你的代码看起来像围绕着这些顶点和法线?您可以拥有“每个顶点”法线,这是连接到该顶点的面的法线的归一化平均值,以获得平滑的着色。或者只是表面法线(也许写成每个顶点的单独法线)以具有平坦的阴影三角形。在后一种情况下,您可能会得到您在代码中显示的内容。多次出现多个法线的同一个顶点。 – Bart 2011-05-04 22:06:19
好的。 “每个顶点”法线的含义是什么?如何实现平滑的阴影? – 2011-05-04 22:31:11