简体   繁体   English

通过WEBGL_depth_texture渲染缓冲区对象和深度纹理之间有什么区别?

[英]What is the differences between render buffer object and depth texture via WEBGL_depth_texture?

In the environment I can use the extension WEBGL_depth_texture, I guess there is no use of render buffer object(RBO). 在环境中,我可以使用扩展名WEBGL_depth_texture,我猜没有使用渲染缓冲区对象(RBO)。 The depth texture is more convenient rather than using RBO since I can use it as shader resource. 深度纹理比使用RBO更方便,因为我可以将其用作着色器资源。

But I also think there might have some of different implementation,historical reasons or performance problem. 但我也认为可能会有一些不同的实现,历史原因或性能问题。

You just named the difference. 您只是命名差异。 A Depth Texture and be read as a texture. 深度纹理,作为纹理读取。 A renderbuffer can not. renderbuffer不能。

One thing a renderbuffer can do that a texture can not is be a multi-sampled anti-aliased buffer. 渲染缓冲区可以做的纹理不能做的一件事是多重采样抗锯齿缓冲区。 Note that WebGL 1.0 does not provide support for multi-sampled renderbuffers directly. 请注意,WebGL 1.0不直接支持多采样渲染缓冲区。 WebGL 2.0 does so there's still arguably room for both renderbuffers and textures. WebGL 2.0确实做到了,因此渲染缓冲区和纹理仍然有空间。 Depth renderbuffers are not multi-sampled IIRC. 深度渲染缓冲区不是多采样IIRC。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM