Значимость glInvalidateFramebuffer с общими вложениями - PullRequest
0 голосов
/ 28 января 2020

У меня есть сценарий, когда я переключаюсь между двумя FBO. Оба FBO имеют одинаковую привязку глубины / трафарета, отличаются только цветовые вложения. Теперь, если я вызову glInvalidateFramebuffer для вложения глубины / трафарета до вызова glBindFramebuffer, будет ли это вообще полезно, поскольку вложение повторно используется между FBO, и gpu должен иметь возможность распознавать это и избегать ненужных операций с памятью?

Спасибо.

1 Ответ

0 голосов
/ 29 января 2020

В принципе да. После того, как вы отметили вложение как «недействительное», его содержимое не определено, пока что-то не записывает в него новые данные.

На практике, я подозреваю, что вы зависите от того, насколько хороши водители в отслеживании состояния через FBO, если вы хотите получить все преимущества.

Я бы порекомендовал выпустить все необходимые разрешения и признается недействительным для каждого FBO отдельно; они не дорогие операции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...