Я генерирую буфер (доступный как SSBO) в фрагментном шейдере во время вызова отрисовки # 1.Затем я хотел бы использовать этот буфер (доступный как VBO) в качестве входных данных для вызова отрисовки # 2.
Проблема в том, что, используя функцию void glDrawArrays(GLenum mode, GLint first, GLsizei count)
, я должен знать значение count
на процессоре.Но на процессоре я не знаю это значение.Это значение сохраняется только в памяти графического процессора в качестве хранилища атомарного счетчика.
Можно ли сделать вызов отрисовки, используя в качестве аргумента count
значение, хранящееся в памяти графического процессора?
Я знаю, что могу получить значение из графического процессора и затем использовать его в ЦП, но это приведет к замедлению работы программы из-за синхронизации.