IT-словарь › Программирование › Косвенная отрисовка (indirect draw)

Косвенная отрисовка (indirect draw)

Программирование Svenska → Обновлено: 2026-10-25

Вызов отрисовки, у которого число вершин, число экземпляров и смещения берутся из буфера на GPU, а не передаются процессором, — так видеокарта сама решает, что рисовать.

Обычный вызов отрисовки получает параметры — сколько вершин, сколько экземпляров, где они лежат в буфере — прямо от CPU. Косвенный вызов вместо этого указывает на небольшой буфер в памяти GPU, в котором лежат эти числа. В OpenGL glDrawArraysIndirect появился в версии 4.0 (2010), а вариант с множеством вызовов glMultiDrawIndirect — в 4.3; в Vulkan есть vkCmdDrawIndirect, в Direct3D — ExecuteIndirect.

Выигрыш в том, что CPU больше не обязан знать, сколько объектов оказалось видимыми. Предшествующий проход на GPU может отсечь закрытую геометрию, уплотнить список и записать количество — без обращения к процессору. Мульти-вариант идёт дальше: один буфер описывает тысячи разных отрисовок в одном вызове. Это краеугольный камень рендеринга, управляемого GPU.

← Назад к словарю