多重采样时如何解析 OpenGL 纹理中的深度值?
我正在使用 FBO 将场景渲染为深度纹理 (GL_DEPTH_COMPONENT
)。 当我在应用程序中启用多重采样时,这些样本将解析为单个纹素,但它们是如何组合的? 是存储到纹理的最近样本的深度,还是样本的平均值? 此行为是否依赖于供应商?
I'm using an FBO to render my scene to a depth texture (GL_DEPTH_COMPONENT
). When I enable multisampling in my application, those samples are resolved to a single texel, but how are they combined? Is the depth of the nearest sample stored to the texture, or the average of the samples? Is this behavior vendor-dependent?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
请参阅 multisample 规范文档:
“如果深度测试通过,则所有多样本缓冲区深度样本值
设置为片段最中心样本深度的深度
值,并且所有多重采样缓冲区颜色样本值均设置为
传入片段的颜色值。”
See the multisample specification document:
"If the depth test passes, all multisample buffer depth sample values
are set to the depth of the fragment's centermost sample's depth
value, and all multisample buffer color sample values are set to
the color value of the incoming fragment."