Opengl: Чтение Mip-Карты Текстуры Уровня 0 И Рендеринг В Ту Же Mip-Карту Текстуры Уровня 1.

  • Автор темы Msnsergey
  • Обновлено
  • 21, Oct 2024
  • #1

Я пытаюсь создать MIP-карты, основанные на значениях буфера глубины. Чтобы создать следующий уровень MIP-карты, я пытаюсь прочитать по 4 пикселя верхнего уровня MIP-карты на пиксель. В отличие от обычной генерации MIP-карт. Я проверяю значения глубины и усредняю ​​только те из 4 пикселей, которые находятся в диапазоне глубины. https://stackoverflow.com/questions/44349792/is-it-possible-to-render-to-textures-mipmap-level-1-while-sampling-from-level-0 Для этого мне нужно прочитать MIP-карту следующего большего размера, чем текущий, на котором я предполагаю рендерить.

   glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, textureID, mipmaplevelToRenderTo);
 

Я знаю, что чтение той же текстуры, что и рендеринг, не допускается. но я нашел этот пост в stackoverflow:

Здесь, в комментариях, один человек говорит о «спецификаторах диапазона MIP-карт текстур». Означает ли это, что мне не нужно использовать два кадровых буфера (один для чтения, другой для записи и для каждого уровня MIP-карты, переключающегося между этими обоими кадровыми буферами?) с двумя текстурами, чтобы сделать то, что я пытаюсь? Если так. Как указать, какое MIP-карту следует читать из шейдера?

Msnsergey


Рег
16 Aug, 2006

Тем
60

Постов
180

Баллов
490
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно