Не могу понять концепцию объединения слиянием
Я читал слайды из презентации, в которой говорилось о "слиянии". (презентация от Эмиля Перссона, ссылка: http://www.humus.name/Articles/Persson_GraphicsGemsForGames.pptx, со слайда 19)
Я не могу понять, что происходит, я знаю инстансинг только из openGL, и я думал, что он может рисовать только одну и ту же сетку несколько раз. Может кто-нибудь объяснить? Работает ли по-другому с DirectX?
1 ответ
Экземпляр: вы загружаете сетку в графический процессор и активируете ее буферы всякий раз, когда хотите визуализировать ее. Данные не дублируются.
Слияние: Вы хотите создать сетку из нескольких меньших сеток (как комплекс построения в примере), поэтому вы либо:
- Нарисуйте каждый комплекс, используя экземпляр, что означает, несколько вызовов рисования для каждого комплекса
- Вы объединяете экземпляры в один меш, который будет реплицировать вершины и другие данные для каждого комплекса, но вы сможете визуализировать весь комплекс одним вызовом отрисовки.
Объединение экземпляров. Вы создаете комплекс, ссылаясь на вершины экземпляров, которые участвуют в нем. Затем вы используете вершины, чтобы узнать, где получить данные для каждого экземпляра: таким образом, вы получаете преимущество создания экземпляров (каждая сетка загружается один раз в графический процессор) и преимущества объединения (вы рисуете весь комплекс одним вызовом отрисовки)