[发明专利]利用分层加速结构的图形渲染无效
申请号: | 200980163256.1 | 申请日: | 2009-10-30 |
公开(公告)号: | CN102696055A | 公开(公告)日: | 2012-09-26 |
发明(设计)人: | A·M·索皮科夫;M·Y·谢伏特索夫;A·V·瑞斯特夫 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06T5/00 | 分类号: | G06T5/00;G06F12/02 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 张东梅 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 利用 分层 加速 结构 图形 渲染 | ||
背景技术
本发明一般地涉及图形处理期间的渲染图元。
可按照诸如三角形或多边形之类的图元来分析要处理的图像,这些图元共同地表示整体图形图像。在很多情况下,在光栅化期间分析三角形或多边形。
通常搜索图形图元。图形处理中的一个常见任务是确定哪些多边形或三角形位于给定的块或片中。这可能涉及在适当图元中进行几何近似搜索。需要搜索图元的另一个示例是光线跟踪。其中通过搜索算法,识别与光线或一组光线相交的最接近的多边形。
渲染算法使用加速结构来降低解决搜索问题的复杂性。这些加速结构也可被称为空间或几何索引。通常,它们涉及在端节点处存储图元的分层树状数据结构。这种分层加速结构的示例包括k维树即k-d树、包围体层次(BVH)、包围间隔层次(BIH)或二元空间分割(BSP)。
附图简述
图1是对根据一个实施例的内部节点的数据结构的描绘;
图2是对用于根据本发明的一个实施例的叶节点或64位扩展的数据结构的描绘;
图3是对根据一个实施例的父节点及其子的数据结构的描绘;
图4示出根据一个实施例的存储器区域和节点表之间的关系;
图5是对根据一个实施例的所分配的存储器区域之间的关系的描绘;
图6是本发明的一个实施例的流程图;
图7是本发明的另一个实施例的流程图;以及
图8是一个实施例的示意性描绘。
具体实施方式
根据一个实施例,可使用k维树加速结构,即k-d树。然而,也可使用任何其它分层加速结构。
在k-d树中,根据价值函数(cost function)将3D空间分成两个非重叠的区域。在第一次分裂之后,每个所得区域在第二次分裂中被分成两个区域,形成k-d树的两个内部节点,然后所得的四个区域中的每一个在第三次分裂中被分成两个区域,形成k-d树的更多节点。该过程递归地继续,直到满足专用终止标准。未再分裂的节点称为叶节点。叶节点存储与其区域相交的图元。在一些实施例中,叶存储对图元的参考而非图元本身。叶节点中的图元参考以图元索引阵列的形式存储。
基于树的数据结构具有大量的内部节点和对其它节点的参考。结果,其存储占用量可能很大且不可预测。构造这种基于树的数据结构的计算成本高。为了实现交互式图形应用所需的性能,需要使用高速并行计算来创建基于树的结构。在一些实施例中,可实现紧凑的存储布局,这减少所消耗的存储量。紧凑表示的优点是不会减慢各遍历步骤,在所述遍历步骤中,各个图元在搜索操作中被遍历。此外,可将加速结构存储在盘上并加载到不同的地址空间。可将加速结构传送到具有不同地址空间的另一个计算设备。加速结构及其数据格式的这种表示有利地支持了由多个并行线程进行的结构创建,因此允许使用高速并行计算。
在一些实施例中,用于包含大量图元的模型的加速结构扩展到图形处理架构的64位地址空间。一般地,64位地址空间需要64位大小的参考,但一些实施例可用偏移代替指针来参考子节点。在这种情况下,即使在扩展到64位地址空间的较大加速结构中,大多数偏移仍可以通过32位来编码,而仅有少部分偏移可能需要全64位编码。加速结构可编码需要64位偏移的特殊类型的节点,这种特殊类型的节点被进一步称为64位扩展。由于默认使用32位偏移并且将64位偏移编码为特殊扩展,因此用于适合32位地址空间的小模型的加速结构可有利地在64位计算机架构上具有相同的二进制表示,从而使32位结构能够在64位计算机上不变地使用。
参考图1和2,在一个实施例中,每个k-d树节点可存储在两个字中,每个字为四字节。也可使用其它字长度。在图1中示出的内部节点的第一字由位组28和30构成。图1中示出的位组28存储了从字28和30到子节点的第一字节的偏移34,或者在节点是叶的情况下,存储了从字28和30到图元索引阵列39的第一字节的偏移34,如图2所示。通过存储偏移而不是指针,数据结构可不依赖其所处的基址。结果,在一些实施例中,向另一个计算设备存储和加载或传送该结构将不需要预处理。
参考图3,父节点40的两个子节点42和44可存储在一起。在一些实施例中,这可允许在父节点中仅存储单个偏移,而不是两个偏移。
在一个实施例中,每个节点和叶索引阵列可至少通过四字节边界对齐。结果,任意两节点之间的偏移可具有至少两个等于零的最低有效位。这两个位(图1中的位组30)可用于存储附加信息。如针对内部节点所指示的(图1),位组30中的值1、2和3对与x、y或z轴对应的分裂面位置进行编码。图2中示出的叶节点中的位30的值可为零,使得位组30用作叶节点指示符。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200980163256.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:生产具有光聚合物壁的燃料电池流场的方法
- 下一篇:新的人轮状病毒株和疫苗