To disable lighting in OpenGL, you can use the glDisable function with the GL_LIGHTING argument. Here's how you can do it:
glDisable(GL_LIGHTING);
This will turn off the lighting in your OpenGL scene. If you want to enable lighting again, you can use glEnable with the same argument:
glEnable(GL_LIGHTING);
Here's a simple example of how you can toggle lighting on and off using a keyboard input (e.g., spacebar):
#include <GL/glut.h>
bool lighting = true;
void display(void) {
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
if (lighting) {
glEnable(GL_LIGHTING);
} else {
glDisable(GL_LIGHTING);
}
// Draw your scene here
glutSwapBuffers();
}
void keyboard(unsigned char key, int x, int y) {
switch (key) {
case ' ':
lighting = !lighting;
break;
}
glutPostRedisplay();
}
int main(int argc, char** argv) {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);
glutInitWindowSize(500, 500);
glutCreateWindow("Toggle Lighting");
glutDisplayFunc(display);
glutKeyboardFunc(keyboard);
glutMainLoop();
return 0;
}
In this example, pressing the spacebar will toggle lighting on and off in the OpenGL scene.
В контексте: Описание примера кода OpenGL, который позволяет включать и выключать освещение в сцене при нажатии на клавишу клавиатуры.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS