通过 WEBGL_depth_texture 渲染缓冲区对象和深度纹理之间有什么区别?
What is the differences between render buffer object and depth texture via WEBGL_depth_texture?
在环境中我可以使用扩展WEBGL_depth_texture,我猜没有使用渲染缓冲区对象(RBO)。
深度纹理比使用 RBO 更方便,因为我可以将它用作着色器资源。
但我也认为可能存在一些不同的实现、历史原因或性能问题。
您刚刚命名了差异。深度纹理并被读取为纹理。渲染缓冲区不能。
渲染缓冲区可以做纹理不能做的一件事是多采样抗锯齿缓冲区。请注意,WebGL 1.0 不直接提供对多采样渲染缓冲区的支持。 WebGL 2.0 这样做了,可以说渲染缓冲区和纹理仍有空间。深度渲染缓冲区不是多重采样 IIRC。
在环境中我可以使用扩展WEBGL_depth_texture,我猜没有使用渲染缓冲区对象(RBO)。 深度纹理比使用 RBO 更方便,因为我可以将它用作着色器资源。
但我也认为可能存在一些不同的实现、历史原因或性能问题。
您刚刚命名了差异。深度纹理并被读取为纹理。渲染缓冲区不能。
渲染缓冲区可以做纹理不能做的一件事是多采样抗锯齿缓冲区。请注意,WebGL 1.0 不直接提供对多采样渲染缓冲区的支持。 WebGL 2.0 这样做了,可以说渲染缓冲区和纹理仍有空间。深度渲染缓冲区不是多重采样 IIRC。