Что из себя представляет создание куба в OpenGL?
Правильно ли я понимаю что куб это 6 - 2d плоскостей которым программист вручную прописывает вращения что тем самым имитирует куб? или это не так?... Смотрел этот туториал и понял что нет какой то определённой функции для работы 3х мерным пространством... а все надо делать вручную или как? https://www.youtube.com/watch?v=vcMox6i8f4Y&t=685s
Ответы (1 шт):
вот вам в помощь, довольно толковый и простой учебник
http://www.firststeps.ru/mfc/opengl/opengl1.html
куб - это 6 граней, каждая из которых состоит из 2 треугольников у каждого треугольника свои координаты
чтобы нарисовать куб вы можете
- отрисовать 12 треугольников со своими координатами
- отрисовать 1 треугольник, но каждый раз применяя к его 3м вершинам матрицы трансформации, т.е. по сути перемещая треугольник в нужное положение - на выходе всё равно это будет как бы отрисовка 12 треугольников
Смотрел этот туториал и понял что нет какой то определённой функции для работы 3х мерным пространством
ну в общем так и есть :) с оговорками
у вас есть модель объекта из файла (в самом простом случае - набор треугольников (т.е. координат [x, y, z] для 3 точек)) или вы его создадите "вручную" или сгенерируете по какому-то алгоритму
чтобы переместить куда-то в пространстве эту модель, повернуть ее, растянуть и т.д. вы каждую точку треугольников умножите на матрицу преобразования и получите новую точку
вернее так - вы вычислите эту матрицу, а видеокарта уже сделает всю остальную работу