是否可以在不声明表面法线的情况下使用OpenGL照明?

iga*_*l k 0 opengl glut opengl-es-lighting

是否可以在不声明曲面法线的情况下声明对象上的光照?

我愿意做的步骤是:

1. enable lighting
2. define surface material 
3. define lighting position
4. define lighting parms : ambient....
Run Code Online (Sandbox Code Playgroud)

这还不够,还是我必须放在哪里呢?

Nic*_*las 5

如果不知道表面朝向哪个方向,就无法计算光照.那个方向称为表面法线.所以你要么必须提供一个,要么你必须在着色器中计算一个.在一般情况下,后者有点不太可能.

所以,是的,您需要提供顶点法线来进行照明.