首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >3D编程Frustum剔除

3D编程Frustum剔除
EN

Stack Overflow用户
提问于 2012-06-21 00:11:04
回答 2查看 428关注 0票数 2

请在3D图形编程中很好地解释Frustum扑杀。我需要学习3D (到目前为止还没有做过严肃的图形编程),而且我有点难理解手册中使用的一些术语,以及我正在使用的书籍。

我目前正在尝试阅读Java 3D API规范,因为书看起来就像这本书一样。

EN

回答 2

Stack Overflow用户

发布于 2012-06-21 00:17:05

如果你的相机是朝一个方向看的,我们称之为forwards.

  • There是不在相机前面的对象不需要太远的对象不会太近rendering.

  • Objects visible.

  • Objects
  • 会表现不佳(填满整个屏幕等)。

解决方案:删除所有不在视野内、太近或太远的对象。包含区域的形状是一个'frustrum',你可以'culling‘所有不在里面的东西。

票数 3
EN

Stack Overflow用户

发布于 2012-06-21 02:29:56

“锥体”是3D场景的一个区域,在该区域之外将不会绘制任何内容。它是一个截断的金字塔,由4个边的屏幕的可见度限制和“近”和“远”可见度限制(通常垂直于观察方向)界定,这也由相机矩阵定义。

用3DAPI绘制的图形基元被裁剪到视图截体上:只会显示基元中位于截体内部的那部分。完全在锥体之外的基元将根本不会出现。

然而,即使你的图元没有出现在屏幕上,尝试绘制它也不是免费的:每个提交给硬件的图元都需要时间。而且,由于完全在锥体之外的基元根本不会出现,这是浪费时间。

因此,锥体剔除是一种初步的排序,可以是基元的排序,也可以是整个对象的排序(更具成本效益),以确定它们是否完全位于视图锥体之外。当确定某个对象或基本体位于锥体之外时,截体剔除完全不会尝试绘制它,从而节省时间。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11123677

复制
相关文章

相似问题

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