首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >分层Z-缓冲用于遮挡剔除

分层Z-缓冲用于遮挡剔除
EN

Stack Overflow用户
提问于 2015-11-29 15:53:45
回答 1查看 3.3K关注 0票数 6

我正在阅读实时渲染第三版中的遮挡剔除部分,我无法理解它是如何工作的。一些问题:

  1. 有“Z金字塔”有什么贡献?为什么我们需要Z-缓冲器的多种分辨率?在这本书中,它显示如下(左边):

  1. 八叉树结构是否与一般果肉剔除和渲染所用的八叉树相同?还是专门为遮挡剔除技术而制作的八叉树?
  2. 一个更普遍的问题:在前面的部分(以及这里)中,总结查询术语被描述为“呈现一个简化的对象边界卷,并将其深度结果与Z-缓冲区进行比较,返回可见的像素数量”。OpenGL中的哪些功能与这个闭包查询概念相关联?
  3. 这个技术是开放世界游戏的标准吗?
EN

回答 1

Stack Overflow用户

发布于 2019-05-02 00:40:46

  1. 当附近的大型对象可能会阻塞更多的小对象时,分层Z-缓冲区非常有用。一个例子就是将建筑物或山地景观的内部呈现出来。 当呈现附近的对象时,它会将Z缓冲金字塔分辨率较低的某个像素设置为接近深度的值。当呈现一个更小的对象时,首先可以根据该像素检查其边界框并将其全部剔除。
  2. 是。是同样的八棵树。但不必是八叉树。任何层次的空间索引数据结构都适用于分层Z-缓冲区或结果筛选。 为了从分层Z缓冲区中获益,我们需要从最近的对象开始呈现场景。可以使用像octree或BSP这样的技术。 此外,手边有一棵八叉树可以让我们根据到bbox的距离来选择整个树枝,而不是分离对象或三角形。
  3. OpenGL中负责遮挡查询的部分是:glBeginQueryglEndQueryglGetQueryObject。详情请参见查询对象
  4. 分层Z缓冲器在一些早期Radeon的硬件中实现。然而,我没有听说它现在正在使用。 另一方面,遮挡查询通常被使用。从本质上讲,它们提供了类似的好处。
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33984713

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档