opengl-es 2.0 正常对我来说看起来不太正常

问题描述

我正在尝试学习如何在 opengl 2.0 中进行照明。 我有一个位于 (0,0) 上的立方体,而相机位于 (0,20) 上。 在顶点我手动添加了所有必要的信息 当我到达法线时,我只是从相机中分别看着立方体, 建议正面法线为 (0,-1),背面法线为 (0,1)。 另外,右面是 (1,0),左面 - (-1,0),顶部 - (0,1,0),底部 - (0,-1,0);

现在,问题是,如果我切换前后法线,它会起作用。 但我就是不明白……我用于所有其他法线的逻辑相同(按原样工作) 意味着前面应该是 (0,-1).. 但显然我错了.. 我只是不明白..

解决方法

你说:

[...] 一个立方体位于 (0,0) [...] 相机位于 (0,20) [...]

正面的法向量必须从立方体指向相机。从立方体到相机的向量是 (0,20)。因此正面的法向量一定是(0,1)。

一般来说,在OpenGL视图空间坐标系中,Z轴指向视图外。视空间坐标系为Right-handed系,其中X轴指向右侧,Y轴指向上方。 Z 轴指向视图外,因为 Z 轴由 X 轴和 Y 轴的叉积给出。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...