Генерация Mipmap на GPU вручную [OpenGL 2.x]

Я хочу использовать специальный настраиваемый алгоритм для создания мипмапов для некоторых визуализируемых текстур (R16F & RGBA16F).

Мип-карты всех необходимых текстур предварительно включены с помощью glGenerateMipmapEXT().

Самая большая проблема на данный момент - рендеринг на уровне 1+ mipmap.Точнее, это работает как шарм:

...
glDrawBuffer(GL_COLOR_ATTACHMENT0_EXT);
glFramebufferTexture2DEXT( GL_FRAMEBUFFER_EXT, target, texType, texId, 0 );
checkFBOStatus();
...
render();

Но это дает мне GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT при проверке статуса fbo

...
glDrawBuffer(GL_COLOR_ATTACHMENT0_EXT);
glFramebufferTexture2DEXT( GL_FRAMEBUFFER_EXT, target, texType, texId, 1 );
checkFBOStatus();
...
render();

Вся разница в коде заключается в параметре lod level для прикрепления текстуры к FBO.

после многих лихорадочных царапин на голове, я все еще не могу заставить его работать. Таким образом, любой ответ с благодарностью.

[ПРИМЕЧАНИЕ: целевой платформой является OpenGL 2.x с расширением FBO]

2 ответа

Решение

Задача решена


Причиной неполного FBO является консистенция текстуры. При использовании glGenerateMipmapEXT/glGenerateMipmap вы должны убедиться, что базовый уровень вашей текстуры содержит VALID DATA; в противном случае этот вызов завершится без уведомления об ошибке.

Есть два возможных решения для вашей ссылки:

  1. Используйте TexImage или TexSubImage, чтобы заполнить вашу визуализируемую текстуру перед glGenerateMipmap

  2. Прикрепите визуализируемую текстуру к фиктивному FBO перед тем, как glGenerateMipmap

В любом случае работает (проверено на GF8,GF9) Не проверено на картах ATI.

Было бы здорово, если бы кто-нибудь смог проверить это на графических процессорах ATI.

PS. Пожалуйста, дайте мне знать, если у вас есть проблемы с использованием этих решений.

Ух, у меня такая же проблема на ATI Radeon 9800. Но я позвонил с gltexImage2D.

Рендеринг на первый уровень возможен, но не на другие. Может быть, я должен попробовать фиктивный метод FBO.

Другие вопросы по тегам