Я работаю над алгоритмом отображения теней, и я хотел бы отлаживать карту глубины, которую она генерирует на своем первом проходе. Однако текстуры глубины, похоже, не отображаются правильно в окне просмотра. Есть ли простой способ отображения текстуры глубины в виде изображения в оттенках серого, желательно без использования шейдера?Как визуализировать текстуру глубины в OpenGL?
ответ
Глубинные текстуры (2D) могут использоваться так же, как и любая текстура в градациях серого. Единственная проблема может заключаться в том, что значения внутри нее слишком высоки, и вы видите только белую текстуру. Если это так, играйте с плоскостями z-near и -far, которые используются при создании текстуры глубины (или масштабируют значения с помощью шейдера или, возможно, glTexEnv).
Конечно, просто привяжите свою текстуру глубины к вашему любимому текстурному блоку, включите текстурирование и нарисуйте 2D-квадрант! Вы также можете разделить квадрат, чтобы заполнить только часть экрана, чтобы вы могли просматривать теневую карту в реальном времени.
OpenGL также имеет функции, которые могут копировать текстуру в массив для вас. Вы можете сохранить это как изображение и использовать просмотрщик изображений для его просмотра.
Вы, возможно, потребуется изменить параметры глубины текстуры, чтобы отобразить его в виде полутоновых уровней:
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_COMPARE_MODE, GL_NONE)
glTexParameteri(GL_TEXTURE_2D, GL_DEPTH_TEXTURE_MODE, GL_LUMINANCE)
Вы можете обычно использовать текстуру в качестве «нормального» оттенков серого цвета 2d текстуры, либо с помощью фиксированной функции, или Форма шейдера sampler2d.
Ага, я не видел, чтобы исходный вопрос был настолько старым. Так или иначе... – rotoglup
- 1. Как визуализировать текстуру глубины в OpenGL ES на Android
- 2. Opengl GLSL визуализировать текстуру
- 3. Как правильно визуализировать текстуру в OpenGL 3.1
- 4. Как правильно визуализировать текстуру ортогонально в OpenGL?
- 5. Создайте текстуру глубины в OpenGL ES 2.0 или 3.0
- 6. OpenGL- визуализировать текстуру - весь отредактированный сюжет
- 7. OpenGL ES визуализировать текстуру не POT
- 8. OpenGL ES визуализировать текстуру, привязанную к шейдеру
- 9. OpenGL ES 2.0 - визуализировать текстуру все черные
- 10. Как визуализировать данные объема в 3D-текстуру с помощью OpenGL?
- 11. Как правильно визуализировать текстуру в приложении MultiView OpenGL VC++?
- 12. OpenGL - рендеринг в текстуру
- 13. Как вы скажете OpenGL ES 2.0 использовать текстуру в качестве буфера глубины?
- 14. FBOs визуализировать текстуру и glReadPixels
- 15. OpenGL: привязать текстуру глубины FBO к вычислительному шейдеру
- 16. DirectX визуализировать текстуру альфа-смешивания
- 17. WebGL - Как визуализировать большую текстуру?
- 18. sRGB FBO визуализировать текстуру
- 19. OpenGl - Как повторить текстуру?
- 20. Как сделать opengl 3.3 в текстуру SDL2?
- 21. OpenCV: Как визуализировать изображение глубины
- 22. Three.js визуализировать текстуру
- 23. Как перевести текстуру OpenGL на текстуру CUDA?
- 24. Как читать текстуру в opengl
- 25. OpenGL ES 2.0 визуализировать текстуру на ARM MALI gpu
- 26. VTK: визуализировать буфер глубины
- 27. OpenGL ES 2.0 визуализировать текстуру с прозрачным фоном
- 28. Пример буфера глубины в вычисляющем шейдере OpenGL
- 29. Как визуализировать текстуру курсора мыши в C#?
- 30. Испытание глубины в opengl
Можете ли вы показать нам, как вы настраиваете его, чтобы он не работал правильно? Есть несколько способов сделать это, поэтому, если мы сможем исправить вашу проблему, вам будет легче, чем вам придется наложить кучу внешнего кода. –