Я пытаюсь реализовать рутинную сборку, используя преобразовать обратную связь. В настоящее время это работает нормально, но проблема очень низкая скорость (медленнее, чем GL_SELECT
).
Как это работает сейчас:
glBindBufferRange()
со смещением (0 в начале).glBufferSubData()
(чтобы быть уверенным, что выбор будет правильным). Основная проблема здесь.Итак, в конце у меня есть массив данных для каждого объекта.
Вопрос в том, как избежать звонка glBufferSubData()
на каждой итерации? Возможные решения (но я не знаю, как их реализовать):
Есть идеи?
Если все, что вы хотите сделать, это очистить область буфера, использование glClearBufferSubData
. Это, как говорится, не понятно, почему вам нужно очистить его, а не просто перезаписать, что там.
К вашему сведению: комплектация лучше всего реализована путем рендеринга сцены, назначения объектов разных «цветов» и считывания интересующего пикселя обратно. Ваш метод всегда будет медленнее.
Других решений пока нет …