OpenGL - 灯光值和位置

时间:2012-01-08 09:17:31

标签: c++ opengl 3d glut lighting

这是我宣布我的光值及其位置的方式

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

// 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 };

1 个答案:

答案 0 :(得分:0)

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