Работа с геометрическими примитивами в среде OpenGL
Автор: katunya_gracheva • Февраль 12, 2019 • Лабораторная работа • 1,092 Слов (5 Страниц) • 372 Просмотры
Министерство образования и науки РФ
Федеральное государственное бюджетное образовательное учреждение
высшего образования
«Тамбовский государственный технический университет»
Кафедра «ИСиЗИ»
Отчет по лабораторной работе № 1
«Работа с геометрическими примитивами в среде OpenGL»
Выполнил: студент группы БСА41
Грачева Е.С.
Проверил: доцент Шахов Н.Г.
Тамбов 2018 г
Цель работы: Изучение команд для рисования графических примитивов OpenGl.
Задание: Построить изображение фигуры, заданной преподавателем.
Выполнение
Программный код:
#include "stdafx.h"
#include "glut.h"
#include "math.h"
void Initialize()
{
//Выбрать фоновый (очищающий) цвет
glClearColor(0.4, 1.0, 1.0, 0.0);
//Установить проекцию
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);
}
void Draw()
{
glClear(GL_COLOR_BUFFER_BIT); //Очищаем буфер цвета
glColor3f(1.0, 0.0, 0.4); //Выбираем розовый цвет
glBegin(GL_POLYGON); //Забор слева
glVertex3f(0.1, 0.0, 0.0);
glVertex3f(0.1, 0.25, 0.0);
glVertex3f(0.15, 0.3, 0.0);
glVertex3f(0.2, 0.25, 0.0);
glVertex3f(0.25, 0.3, 0.0);
glVertex3f(0.3, 0.25, 0.0);
glVertex3f(0.3, 0.0, 0.0);
glEnd();
glColor3f(1.0, 0.0, 0.4); //Выбираем розовый цвет
glBegin(GL_POLYGON); //Забор справа
glVertex3f(0.7, 0.0, 0.0);
glVertex3f(0.7, 0.25, 0.0);
glVertex3f(0.75, 0.3, 0.0);
glVertex3f(0.8, 0.25, 0.0);
glVertex3f(0.85, 0.3, 0.0);
glVertex3f(0.9, 0.25, 0.0);
glVertex3f(0.9, 0.0, 0.0);
glEnd();
glColor3f(0.0, 0.0, 0.0); //Выбираем черный цвет
glBegin(GL_QUADS);
glVertex3f(0.6, 0.0, 0.0); //Труба
glVertex3f(0.6, 0.55, 0.0);
glVertex3f(0.65, 0.55, 0.0);
glVertex3f(0.65, 0.0, 0.0);
glEnd();
glColor3f(1.0, 0.0, 0.0); //Выбираем красный цвет
glBegin(GL_QUADS);
glVertex3f(0.3, 0.0, 0.0); //Дом
glVertex3f(0.3, 0.4, 0.0);
glVertex3f(0.7, 0.4, 0.0);
glVertex3f(0.7, 0.0, 0.0);
glEnd();
glColor3f(0.156, 0.076, 0.005); //Выбираем коричневый цвет
glBegin(GL_TRIANGLES);
glVertex3f(0.3, 0.4, 0.0); //Крыша
glVertex3f(0.5, 0.6, 0.0);
glVertex3f(0.7, 0.4, 0.0);
glEnd();
glColor3f(0.0, 1.0, 1.0); //Выбираем голубой цвет
glBegin(GL_QUADS);
glVertex3f(0.4, 0.2, 0.0); //Окно
glVertex3f(0.4, 0.3, 0.0);
glVertex3f(0.5, 0.3, 0.0);
glVertex3f(0.5, 0.2, 0.0);
glEnd();
glColor3f(0.0, 0.0, 0.0); //Выбираем черный цвет
glBegin(GL_LINE_STRIP);
glVertex3f(0.63, 0.55, 0.0); //Дым
...