在OpenGL中使光源可见

bud*_*ddy 3 opengl lighting

我想在我的OpenGL-Scene中移动我的光源,这是有效的.但实际上我也希望看到你的光源.

我怎样才能做到这一点?

...
glPushMatrix();
GLfloat lightPos[]      = {0, 0, 200, 1};
glLightfv(GL_LIGHT0, GL_POSITION, lightPos);

GLfloat ambientLight[]  = { 0.2,  0.2,   0.2,  1.0};
GLfloat lightColor[]    = { 0.5,  0.5,   0.5, 1.0};

glLightModelfv(GL_LIGHT_MODEL_AMBIENT, ambientLight);

glLightfv(GL_LIGHT0, GL_DIFFUSE, lightColor);          
glLightfv(GL_LIGHT0, GL_SPECULAR, lightColor);           
glutSolidSphere(5,50,50);
glPopMatrix();
...
Run Code Online (Sandbox Code Playgroud)

Jim*_*uck 8

光源本身不是可见物体.如果你想"看到"一盏灯,你必须将一些物体放在光线所在的位置.也许使用球体,精灵,箭头(指向光指向的方向,如果它是定向光)等.

  • 并在渲染时禁用光照.这样它就会在黑暗中发光. (2认同)