Пакет — это просто «партия» (= группа) примитивов, т. е. точек, линий или треугольников, нарисованных с помощью одного вызова glDraw…
. За этим нет никакой более глубокой магии.
Значит ли это для каждого объекта сцены?
Нет. OpenGL не знает, что такое «модель». Эта концепция полностью выходит за рамки того, что делает OpenGL. OpenGL просто рисует на экране точки, линии или треугольники, и все.
Так что предлагает создать VAO для каждого объекта сцены или нескольких объектов?
Нет, это предполагает, что вы создаете VAO и VBO таким образом, чтобы вы могли объединить максимальное количество примитивов (= треугольник | линия | точка), которые можно нарисовать с минимальным количеством glDraw…
вызовов в один VAO/VBO.
Например, предположим, что вы визуализируете склад, полный картонных коробок, где каждая коробка имеет (немного) различную форму (подумайте об отделе самообслуживания в магазине ИКЕА; я почти уверен, что они выглядят примерно одинаково в каждом магазине поблизости). мир): Несмотря на разную форму, у коробок есть много общего: их цвет, текстура и т. д. Итак, что вы должны сделать, так это поместить все эти коробки в один VAO/VBO и нарисовать их все вместе, используя одну и ту же текстуру. и шейдер с помощью одного или нескольких glDraw…
вызовов.
person
datenwolf
schedule
23.05.2014