Делаем источник света видимым в OpenGL

Я хочу переместить источник света в мою OpenGL-сцену, которая работает. Но на самом деле я хочу видеть и твой источник света.

Как я могу это сделать?

...
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();
...

person buddy    schedule 02.11.2011    source источник


Ответы (1)


Источник света сам по себе не является видимым объектом. Если вы хотите «увидеть» свет, вы должны поместить какой-либо объект в то место, где находится ваш источник света. Возможно, используйте сферу, спрайт, стрелку (указывающую в направлении, куда указывает свет, если это направленный свет) и т. д.

person Jim Buck    schedule 02.11.2011
comment
И отключите освещение при рендеринге. Так он светится в темноте. - person TheBuzzSaw; 03.11.2011