- 4,045
- 63
- 645
Всем здрасти!
Продолжаю мучить шейдеры и столкнулся с одной странной проблемой: загрузка z-буфера из собственного FBO в FBO майна происходит с задержкой в самом начале игры... Задержка длится от нуля до 2-3, а иногда и 5-10-ти секунд.
Что делаю:
1. Создаю свой фрейм буфер с включенной глубиной:
2. Рисую в него плоскость:
3. Гружу глубину из своего буфера в ванильный:
4. Рисую всё это в ванильный FBO...
Тесты выявили, что если грузить не глубину, а просто картинку из буфера, всё работает мгновенно. Так же, если грузить глубину из ванильного буфера, тоже всё работает хорошо...
Задержка происходит только если грузить в виде картинки глубину из кастомного буфера.
Сталкивался ли кто-нибудь с подобной проблемой? Может быть я что-то забыл включить при создании FBO?
P.S. Сразу же отмечу @Dahaka-у, так как он, скорее всего, должен помочь )))
Извини за пинг, если что )
Продолжаю мучить шейдеры и столкнулся с одной странной проблемой: загрузка z-буфера из собственного FBO в FBO майна происходит с задержкой в самом начале игры... Задержка длится от нуля до 2-3, а иногда и 5-10-ти секунд.
Что делаю:
1. Создаю свой фрейм буфер с включенной глубиной:
Java:
if (near_Buffer == null)
near_Buffer = new Framebuffer(mc.getMainWindow().getFramebufferWidth(), mc.getMainWindow().getFramebufferHeight(), true, Minecraft.IS_RUNNING_ON_MAC);
Java:
near_Buffer.bindFramebuffer(false);
renderPlane();
near_Buffer.unbindFramebuffer();
Java:
mc.getFramebuffer().bindFramebuffer(false);
RenderSystem.activeTexture(GL13.GL_TEXTURE1);
RenderSystem.bindTexture(near_Buffer.getDepthImage());
ShaderProgram.setUniform1i("depth", 1);
Тесты выявили, что если грузить не глубину, а просто картинку из буфера, всё работает мгновенно. Так же, если грузить глубину из ванильного буфера, тоже всё работает хорошо...
Задержка происходит только если грузить в виде картинки глубину из кастомного буфера.
Сталкивался ли кто-нибудь с подобной проблемой? Может быть я что-то забыл включить при создании FBO?
P.S. Сразу же отмечу @Dahaka-у, так как он, скорее всего, должен помочь )))
Извини за пинг, если что )