У меня есть это изображение
Есть ли способ добиться более яркого вида света, не редактируя зеркальную материальную часть кода? Это мой текущий код:
void drawTeapot() {
GLfloat mat_diffuse[] = {0.2, 1.0, 0.8, 1.0};
GLfloat mat_specular[] = {1.0, 1.0, 1.0, 1.0};
GLfloat mat_shininess[] = {128.0};
GLfloat lmodel_ambient[] = {0.1, 0.1, 0.1, 1.0};
GLfloat light_position[] = {1.1, 1.1, 1.0, 1.0};
GLfloat light_specular[] = {1.0, 1.0, 1.0, 1.0};
glLightfv(GL_LIGHT1, GL_POSITION, light_position);
glLightfv(GL_LIGHT1, GL_SPECULAR, mat_specular);
glLightfv(GL_LIGHT1, GL_SHININESS, mat_shininess);
glLightModelfv(GL_LIGHT_MODEL_AMBIENT, lmodel_ambient);
glMaterialfv(GL_FRONT, GL_DIFFUSE, mat_diffuse);
glMaterialfv(GL_FRONT, GL_SPECULAR, mat_specular);
glMaterialfv(GL_FRONT, GL_SHININESS, mat_shininess);
glutSolidTeapot(0.5);
}
Я должен использовать GL_LIGHT1
, потому что есть еще одна функция, которая реагирует на щелчки мыши и включает и выключает этот свет. Следовательно, я не могу получить зеркальное отражение на объекте до включения света. Он должен оставаться вроде как матовым. Как видите, блеск на максимуме, зеркальность тоже, но я не собираюсь этого делать. Я в основном хочу, чтобы он был чуть больше, чем сейчас, более рассредоточенным.