На нашем сайте Вы сможете найти готовые курсовые и дипломные работы по программированию
Сейчас работаем

Работа с источниками света и свойствами источников и материалов (OpenGL)

Задание

Включить 3 источника света, задать отражающие свойства поверхностей, положение и цвет источников света. Рекомендуется цвет поверхностей сделать одинаковым, а отражающие свойства – разными. Вывести несколько объемных объектов. Источники света должны иметь различный цвет. Необходимо организовать вращение сцены, управляемое с клавиатуры (сцена с объектами объекты вращается, источники неподвижны)

Функционал программы

  • Вращение сцены стрелками влево-вправо на клавиатуре
  • Включение и выключение источников света на сцене

Содержание отчета к программе

  • Задание    
  • Листинг программы    
  • Выводы

Фрагмент программного кода

// Главная функция программы
int main(int argc, char *argv[]) {
	// Инициализация GLUT
	glutInit(&argc, argv);
	// Задание размеров окна
	glutInitWindowSize(800, 800);
	// Задание режима отображения
	glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
	// Создание окна
	glutCreateWindow("Лабораторная работа №2");

	// Подключение функций-обработчиков:
	// - изменения размера окна
	glutReshapeFunc(resize);
	// - отрисовки кадра
	glutDisplayFunc(display);
	// - нажатия клавиши клавиатуры
	glutKeyboardFunc(press_key);
	// - нажатия спец. клавиши на клавиатуре
	glutSpecialFunc(press_special_key);
	// - простой
	glutIdleFunc(idle);
	// Задание цвета фона
	glClearColor(0.95, 0.95, 0.95, 1);

	// Включение глубины
	glEnable(GL_DEPTH_TEST);
	glDepthFunc(GL_LESS);
	// Включение записи в буфер глубины
	glDepthMask(GL_TRUE);

	// Включение источников освещения
	glEnable(GL_LIGHTING);
	glEnable(GL_LIGHT0);
	glEnable(GL_LIGHT1);
	glEnable(GL_LIGHT2);
	// Приведение нормалей к единичной длине
	glEnable(GL_NORMALIZE);
	
	// Настройка параметров источников освещения
	glLightfv(GL_LIGHT0, GL_AMBIENT, light1_ambient);
	glLightfv(GL_LIGHT0, GL_DIFFUSE, light1_diffuse);
	glLightfv(GL_LIGHT0, GL_SPECULAR, light1_specular);
	glLightfv(GL_LIGHT0, GL_POSITION, light1_position);

	glLightfv(GL_LIGHT1, GL_AMBIENT, light2_ambient);
	glLightfv(GL_LIGHT1, GL_DIFFUSE, light2_diffuse);
	glLightfv(GL_LIGHT1, GL_SPECULAR, light2_specular);
	glLightfv(GL_LIGHT1, GL_POSITION, light2_position);

	glLightfv(GL_LIGHT2, GL_AMBIENT, light3_ambient);
	glLightfv(GL_LIGHT2, GL_DIFFUSE, light3_diffuse);
	glLightfv(GL_LIGHT2, GL_SPECULAR, light3_specular);
	glLightfv(GL_LIGHT2, GL_POSITION, light3_position);
		
	// Основной цикл OpenGL
	glutMainLoop();

	return 0;
}

Скриншот архива с проектом

Пояснения по запуску программы

  • Установить библиотеку FreeGLUT
  • Открыть проект в Visual Studio версии 2017 или выше
  • Запустить проект

Купить 500,00 
Сразу после оплаты Вы сможете скачать работу и мы вышлем дополнительно файл с работой на электронную почту. Исходник программ Вы сможете отредактировать, как Вам нужно.
Комментарии (0)

/ /

Оставить комментарий

Ты не можешь комментировать

Только зарегистрированые пользователи имеют возможность комментировать работы
Купить

500,00 

Покупается впервые!
Сразу после оплаты Вы сможете скачать работу и мы вышлем дополнительно файл с работой на электронную почту. Исходник программ Вы сможете отредактировать, как Вам нужно.

Заказать через

LR2.zip
14199587
Оцени работу

рейтинг

Работа с источниками света и свойствами источников и материалов (OpenGL)
Лабораторная работа по компьютерной графике. Тема "Работа с источниками света и свойствами источников и материалов".
Категория: Образование
Стоимость: 500,00