openGL ES 2 - Есть ли способ прикрепить трафаретный буфер с другим разрешением, чем целевая текстура? - PullRequest
2 голосов
/ 15 мая 2019

У меня есть входная текстура в определенном разрешении и целевая текстура (прикрепленная как GL_COLOR_ATTACHMENT0), которая имеет большее разрешение. Я использую glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST), чтобы увеличить масштаб ввода и нарисовать что-то на цели.

У меня есть буфер в том же разрешении, что и мой ввод, который я хотел бы использовать как GL_STENCIL_ATTACHMENT. Можно ли его как-то прикрепить, не получая ошибку GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS?

1 Ответ

3 голосов
/ 15 мая 2019

Невозможно прикрепить текстуры с разными размерами к кадровому буферу.

OpenGL-ES 2.0 Spec в разделе 4.4 говорится:

Целевой объект framebuffer называется завершенным [...] framebuffer, если выполняются все следующие условия:

  • Все прикрепленные изображения имеют одинаковую ширину и высоту.

Если это не так, статус кадрового буфера должен возвращаться FRAMEBUFFER_INCOMPLETE_DIMENSIONS.

...