【发布时间】:2021-09-10 06:21:05
【问题描述】:
说,我们有一个带有单个三角形(三个顶点)的网格。给一个正对三角形的光源。
空间中的这个单个三角形面(只有一个)在概念上具有两个面,具体取决于相机位置。让我们将面对光线的脸称为正面,而将另一张脸称为背面。我们还将法线向量传递给 OpenGL,其方向是从正面到光源。
我的问题是:对三角形应用照明后,三角形的正面和背面看起来是否相同?或者它们看起来不同,背面更暗,正面更亮?为什么?我对现代的 openGL 和旧的修复功能 opengl 都很好奇。
另外,这与面部剔除有什么关系,我们在哪里处理 CCW 三角形正面?我相信不会。而面部剔除的“前”概念是不同的。它告诉三角形(作为一个整体)是正面还是背面,而不是它的两侧。如果我错了,请指出我。
【问题讨论】:
-
光线取决于法线向量。如果法向量反转,光线就会不同。 (取决于着色器)
-
鉴于您使用shader 标记了它,这完全取决于您的着色器代码。您的意思是问有关较旧的固定功能照明系统吗?
-
@Rabbid76 我想澄清我的问题。我只有一个三角形面(不是两个)。在你说的法向量反转的情况下,刻面的两边看起来一样吗?
-
@JieChen 不,他们没有,因为当你看背面时,法向量指向相反的方向(这可以在着色器中进行补偿)
-
他们可以。如果这是基于着色器的 OpenGL,那么你正在编写着色器,所以你是编写光照效果的人,所以你告诉我们!