Что из себя представляет создание куба в OpenGL?

Правильно ли я понимаю что куб это 6 - 2d плоскостей которым программист вручную прописывает вращения что тем самым имитирует куб? или это не так?... Смотрел этот туториал и понял что нет какой то определённой функции для работы 3х мерным пространством... а все надо делать вручную или как? https://www.youtube.com/watch?v=vcMox6i8f4Y&t=685s


Ответы (1 шт):

Автор решения: Zhihar

вот вам в помощь, довольно толковый и простой учебник

http://www.firststeps.ru/mfc/opengl/opengl1.html

куб - это 6 граней, каждая из которых состоит из 2 треугольников у каждого треугольника свои координаты

чтобы нарисовать куб вы можете

  1. отрисовать 12 треугольников со своими координатами
  2. отрисовать 1 треугольник, но каждый раз применяя к его 3м вершинам матрицы трансформации, т.е. по сути перемещая треугольник в нужное положение - на выходе всё равно это будет как бы отрисовка 12 треугольников

Смотрел этот туториал и понял что нет какой то определённой функции для работы 3х мерным пространством

ну в общем так и есть :) с оговорками

  1. у вас есть модель объекта из файла (в самом простом случае - набор треугольников (т.е. координат [x, y, z] для 3 точек)) или вы его создадите "вручную" или сгенерируете по какому-то алгоритму

  2. чтобы переместить куда-то в пространстве эту модель, повернуть ее, растянуть и т.д. вы каждую точку треугольников умножите на матрицу преобразования и получите новую точку

вернее так - вы вычислите эту матрицу, а видеокарта уже сделает всю остальную работу

→ Ссылка