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
没有评论:
发表评论