Речь идет о ARB_draw_indirect .Эта функциональность, ядро 4.0, позволяет реализации GL считывать параметры чертежа непосредственно из объекта буфера.Таким образом, параметры, которые вы передаете glDrawArrays
или glDrawElements
, поступают из буфера, а не из вашего вызова Draw.
Таким образом, OpenCL или другой код GPGPU могут просто записать эту структуру в буфер.И, следовательно, они могут определить, сколько вершин нужно нарисовать.
AMD имеет довольно изящную вариацию этого, которая учитывает функциональность мульти-рисования .