2021年1月14日星期四

How to make OpenGl Light Directional?

I wrote this code to make a red light in the y-direction. I want it to look like a spotlight. It is red but it lights everywhere, not just the y-direction. Any idea what to change to make it look like a spotlight?

glEnable(GL_LIGHT1);  GLfloat ambient1[] = { 0.7f, 0.0f, 0.0f, 1.0f };  glLightfv(GL_LIGHT1, GL_AMBIENT, ambient1);    GLfloat diffuse1[] = { 1.0, 0.0, 0.0, 1.0 };  glLightfv(GL_LIGHT1, GL_DIFFUSE, diffuse1);    GLfloat specular1[] = { 1.0f, 1.0f, 1.0f, 1.0f };  glLightfv(GL_LIGHT1, GL_SPECULAR, specular1);    GLfloat light_position1[] = { 0.0f, 0.0f, 0.2f, 0.0f };  glLightfv(GL_LIGHT1, GL_POSITION, light_position1);    GLfloat spotCUtOff[] = { 10.0f };  glLightfv(GL_LIGHT1, GL_SPOT_CUTOFF, spotCUtOff);    GLfloat SPOTDIRECTION[] = { 0.0f, 2.0f, 0.0f };  glLightfv(GL_LIGHT1, GL_SPOT_DIRECTION, SPOTDIRECTION);    GLfloat SPOTEXPONENT[] = { 2.0f };  glLightfv(GL_LIGHT1, GL_SPOT_EXPONENT, SPOTEXPONENT);  
https://stackoverflow.com/questions/65712570/how-to-make-opengl-light-directional January 14, 2021 at 10:29AM

没有评论:

发表评论