1

这就是我声明我的光值及其位置的方式

这是正确的还是有另一种更正式的方式?

// Lighting values
GLfloat  greenLight[] = { 0.0f, 0.6f, 0.0f, 1.0f };
GLfloat  redLight[] = { 0.6f, 0.0f, 0.0f, 1.0f };
GLfloat  blueLight[] = { 0.0f, 0.6f, 0.0f, 1.0f };
GLfloat  whiteLight[] = { 0.2f, 0.2f, 0.2f, 1.0f };
GLfloat  sourceLight[] = { 0.9f, 0.9f, 0.9f, 1.0f };


GLfloat  lightPos[] = { 0.0f, 0.0f, 0.0f, 1.0f };
GLfloat  lightPos1[] = { 5.0f, -5.0f, 0.0f, 0.0f };
GLfloat  lightPos2[] = { -5.0f, 5.0f, 0.0f, 0.0f };
GLfloat  lightPos3[] = { 5.0f, 5.0f, 0.0f, 0.0f };
4

1 回答 1

0

确实没有其他方法可以使用固定功能的 OpenGL 来做到这一点。设置参数是照明成本的一小部分。如果你想要更高效的东西,我建议你学习非弃用的 OpenGL 并在着色器中实现光照,这可能会比固定功能光照更快。

于 2012-01-08T09:28:37.170 回答