Компьютеры-и-электроника

Как сделать куб в OpenGL

  • Первоначальная установка
  • Функция display()
  • Интерактивность программы
  • Источники

OpenGL — это инструмент 3D-программирования, позволяющий создавать сложные трехмерные изображения из простых форм. Из этой статьи вы узнаете, как нарисовать с его поможью простой куб, который можно вращать в в трех измерениях!

Первоначальная установка

Установите OpenGL.

Начните с руководства по установке OpenGL на ваш компьютер. Если OpenGL и компилятор С у вас уже есть, можете пропустить этот шаг и перейти к следующему.

Создайте документ.

Создайте новый файл в своем любимом редакторе кода и сохраните его как mycube.c

Добавьте #includes.

Вот основные директивы #include, которые вам понадобятся. Важно помнить, что директивы для разных операционных систем — разные, а потому выбрать нужно все, чтобы программа была универсальной и ее можно было запустить в любой системе.
    // Includes #include <stdio.h> #include <stdarg.h> #include <math.h> #define GL_GLEXT_PROTOTYPES #ifdef __APPLE__ #include <GLUT/glut.h> #else #include <GL/glut.h> #endif

Добавьте функциональные прототипы и глобальные переменные.

Следующим шагом будет объявить функциональные прототипы.
    // Функциональные прототипы void display(); void specialKeys(); // Глобальные переменные double rotate_y=0; double rotate_x=0;

Задайте функцию main().

    int main(int argc, char* argv[]){ // Инициализируем GLUT и обрабатываем пользовательские параметры glutInit(&argc,argv); // Запрашиваем окно с поддержкой двойной буферизации, z-буферизации и цветовой схемы True Color glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);
  • Это настройка нашей среды разработки. Важно помнить, что, работая над созданием программ OpenGL, вы должны запрашивать каждый параметр. Поэтому вам нужно хорошо понимать, как будет работать ваша программа и что нужно включить в необходимый вам функционал. В этой строке вы настроили отображение с двойной буферизацией, поддержкой цветов по RGB и z-буферизацией.
  • Двойная буферизация — это прием, позволяющий графическим программам избежать потенциальной проблемы с отображением изображений. Эта проблема может возникнуть в связи с тем, что при каждой перерисовке сцены необходимо сперва очистить дисплей, и только потом можно выводить новую информацию. Без двойной буферизации вы будете наблюдать мигающий эффект по мере того, как экран будет очищаться и зарисовываться снова и снова.
  • Эта проблема имеет простое решение: добавляется второй буфер для отрисовки. Изображение отрисовывается в первом буфере, который и выводится на экран. Следующий кадр будет отрисован уже во втором буфере, после чего кадры поменяются местами. Мы сразу же увидим содержимое второго буфера, а первый буфер, скрытый от нас вторым, будет в это самое время очищен и заполнен третьим кадром. И так далее...
  • Кроме того, вам понадобится поддержка цветов по схеме RGB.
  • Z-буферизация — это, собственно, то, что и создает эффект трехмерности. OpenGL использует трехмерную пространственную систему координат с осями x, y и z. Приближение объекта к зрителю и удаление его от зрителя — это изменение дистанции по оси z.
.......

Полный текст новости доступен на источнике

Продолжить читать на источнике ➔

Популярные статьи в разделе: Компьютеры-и-электроника

Иконка предмета
Компьютеры-и-электроника, 15.11.2019 14:24
Как установить Mesa (OpenGL) в Linux Mint
Иконка предмета
Хобби-и-рукоделие, 15.11.2019 14:26
Как сделать 3D куб
Иконка предмета
Хобби-и-рукоделие, 15.11.2019 14:23
Как сложить куб из бумаги
Иконка предмета
Образование-и-коммуникации, 15.11.2019 14:33
Как нарисовать невероятный куб
Иконка предмета
Компьютеры-и-электроника, 17.11.2019 16:05
Как создать куб в программе Adobe Illustrator
Иконка предмета
Стиль-и-уход-за-собой, 15.11.2019 14:19
Как сделать так, чтобы родители позволили вам сделать татуировку
Иконка предмета
Дом-и-сад, 15.11.2019 14:18
Как Как Сделать Витраж
Иконка предмета
Хобби-и-рукоделие, 15.11.2019 14:20
Как сделать шарф как у Гарри Поттера
Иконка предмета
Стиль-и-уход-за-собой, 15.11.2019 14:22
Как сделать губы гладкими, как шелк
Иконка предмета
Искусство-и-развлечения, 15.11.2019 14:23
Как сделать бас из топора как у Марселин из ''Времени приключений''
Иконка предмета
Стиль-и-уход-за-собой, 15.11.2019 14:23
Как сделать макияж, как у Арианы Гранде
Иконка предмета
Стиль-и-уход-за-собой, 15.11.2019 14:24
Как сделать прическу как у Сейлор Мун
У тебя есть свой ответ?
Как сделать куб в OpenGL...
Отправлено

Популярные статьи сегодня

Категория
Искусство-и-развлечения, 15.11.2019 14:26
Категория
Образование-и-коммуникации, 15.11.2019 14:26
Категория
Кулинария-и-гостеприимство, 15.11.2019 14:26
Категория
Взаимоотношения, 15.11.2019 14:26
У тебя есть свой ответ?
Как сделать куб в OpenGL...
Отправлено