是否可以在不使用GL_OES_depth_texture的情况下对OpenGL ES深度缓冲区进行下采样?

就像你知道的

我正在为移动平台开发游戏,我想将效果渲染到比屏幕更低的分辨率渲染目标。问题是,我需要从全屏开始使用深度缓冲区。

如果硬件支持GL_OES_depth_texture,我想它会相对简单一些,但是不幸的是我没有,所以我想知道是否还有其他方法可以从全屏渲染中获取深度信息并将其用于我的较低分辨率渲染。

如果我实际上不能对渲染缓冲区进行下采样,是否可以将分辨率较高的深度缓冲区绑定到分辨率较低的颜色缓冲区的渲染目标?我找不到任何文档说明帧缓冲区对象的所有不同附件的分辨率都必须与分辨率匹配,但是我强烈怀疑这是必需的。

谢谢你的帮助!

克莱蒙哥马利

我认为您应该渲染附着在FBO上的纹理。纹理可以具有您想要的任何较低分辨率。在大多数平台上,纹理实际上是在OpenGL ES 1.1和2.0中真正有用的唯一FBO附件。

谢谢安东。

Andon的建议是,您可以使用OpenGL ES 2.0可以理解的普通GL_RGBA格式将其渲染为纹理,但是可以以更有效的方式打包/编码颜色。如果仅使用该纹理通过自定义片段着色器进行渲染,该片段着色器将解压缩/解码放入的自定义格式,则可以执行此操作。例如,从纹理采样器读取的值实际上可以是所需的任何格式。

float fR = texture2D(gsuTexture0, gsvTexCoord0).r;
float fG = texture2D(gsuTexture0, gsvTexCoord0).g;
float fB = texture2D(gsuTexture0, gsvTexCoord0).b;
float fA = texture2D(gsuTexture0, gsvTexCoord0).a;

float fDepth = fR;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

默认帧缓冲区的采样深度?(GL ES 3)

来自分类Dev

在javascript中对PCM音频缓冲区进行下采样

来自分类Dev

OpenGL ES 2.0是否可以同时绘制深度和“颜色”缓冲区(不使用MRT)?

来自分类Dev

OpenGL ES上深度缓冲区的精度

来自分类Dev

在OpenGL ES中使用深度和模具渲染缓冲区附件作为帧缓冲区

来自分类Dev

OpenGL:glLoadMatrix和深度缓冲区

来自分类Dev

在OpenGL中查看深度缓冲区

来自分类Dev

在OpenGL ES 2.0中,将FBO与纹理深度缓冲区一起使用时,深度纹理缓冲区不起作用

来自分类Dev

是否可以在不使用rhc的情况下使用OpenShift?

来自分类Dev

是否可以在不使用MFC的情况下使用CListCtrl

来自分类Dev

使用深度缓冲区进行光线拾取:非常不准确?

来自分类Dev

使用深度缓冲区对2D精灵进行分层

来自分类Dev

使用深度缓冲区对2D精灵进行分层

来自分类Dev

在更新命令缓冲区的情况下,vulkan命令缓冲区同步

来自分类Dev

是否可以在不使用循环的情况下找到控件?

来自分类Dev

是否可以在不使用 UIBezierPath 的情况下绘制虚线

来自分类Dev

OPENGL ES 2.0。安卓。深度缓冲区的奇怪行为

来自分类Dev

如何在不禁用深度测试的情况下读取延迟渲染的光照过程中的深度缓冲区?

来自分类Dev

C:什么是缓冲区下溢?

来自分类Dev

C:什么是缓冲区下溢?

来自分类Dev

缓冲区下溢异常Java

来自分类Dev

OpenGL FBO不增加深度缓冲区

来自分类Dev

OpenGL帧缓冲区深度不起作用

来自分类Dev

深度缓冲区似乎不起作用-OpenGL Shader

来自分类Dev

在 openGL 上将深度缓冲区显示为图像

来自分类Dev

在不使用附加缓冲区的情况下从Python中删除字符串中的重复项

来自分类Dev

在不与OpenCL同步的情况下写入全局缓冲区是否可行?

来自分类Dev

在Emacs 24.3下使用缓冲区名称中的空格创建新缓冲区

来自分类Dev

在emacs中,如何在不单独打开每个缓冲区的情况下杀死多个缓冲区

Related 相关文章

  1. 1

    默认帧缓冲区的采样深度?(GL ES 3)

  2. 2

    在javascript中对PCM音频缓冲区进行下采样

  3. 3

    OpenGL ES 2.0是否可以同时绘制深度和“颜色”缓冲区(不使用MRT)?

  4. 4

    OpenGL ES上深度缓冲区的精度

  5. 5

    在OpenGL ES中使用深度和模具渲染缓冲区附件作为帧缓冲区

  6. 6

    OpenGL:glLoadMatrix和深度缓冲区

  7. 7

    在OpenGL中查看深度缓冲区

  8. 8

    在OpenGL ES 2.0中,将FBO与纹理深度缓冲区一起使用时,深度纹理缓冲区不起作用

  9. 9

    是否可以在不使用rhc的情况下使用OpenShift?

  10. 10

    是否可以在不使用MFC的情况下使用CListCtrl

  11. 11

    使用深度缓冲区进行光线拾取:非常不准确?

  12. 12

    使用深度缓冲区对2D精灵进行分层

  13. 13

    使用深度缓冲区对2D精灵进行分层

  14. 14

    在更新命令缓冲区的情况下,vulkan命令缓冲区同步

  15. 15

    是否可以在不使用循环的情况下找到控件?

  16. 16

    是否可以在不使用 UIBezierPath 的情况下绘制虚线

  17. 17

    OPENGL ES 2.0。安卓。深度缓冲区的奇怪行为

  18. 18

    如何在不禁用深度测试的情况下读取延迟渲染的光照过程中的深度缓冲区?

  19. 19

    C:什么是缓冲区下溢?

  20. 20

    C:什么是缓冲区下溢?

  21. 21

    缓冲区下溢异常Java

  22. 22

    OpenGL FBO不增加深度缓冲区

  23. 23

    OpenGL帧缓冲区深度不起作用

  24. 24

    深度缓冲区似乎不起作用-OpenGL Shader

  25. 25

    在 openGL 上将深度缓冲区显示为图像

  26. 26

    在不使用附加缓冲区的情况下从Python中删除字符串中的重复项

  27. 27

    在不与OpenCL同步的情况下写入全局缓冲区是否可行?

  28. 28

    在Emacs 24.3下使用缓冲区名称中的空格创建新缓冲区

  29. 29

    在emacs中,如何在不单独打开每个缓冲区的情况下杀死多个缓冲区

热门标签

归档