当前位置: 首页 > 专利查询>英特尔公司专利>正文

图形处理中的多边形的加速单平面剪切制造技术

技术编号:15199589 阅读:103 留言:0更新日期:2017-04-21 23:18
方法和硬件可以通过使用专门用于单平面剪切的流水线来处理单平面剪切操作。第二流水线可以被提供来处置多剪切平面情况中的剪切。通过围绕单平面剪切来优化硬件和方法,可以增强多边形吞吐量。

Accelerated single plane shearing of polygons in graphics processing

Methods and hardware can be used to handle a single plane shear operation using a pipeline specifically designed for single plane shear. The second pipeline can be provided to handle shear in the case of multiple shear planes. By optimizing the hardware and methods around a single plane shear, the throughput of the polygon can be enhanced.

【技术实现步骤摘要】
【国外来华专利技术】对相关申请的交叉引用本申请对2014年6月27日提交的申请号为14/316,895的美国非临时专利申请要求优先权的权益。
技术介绍
图形处理和更具体地三维(3D)渲染通常依据多边形、诸如三角形(其有时被称为基元(primitive)来实现。随着在诸如与游戏相关联的那些之类的各种设备中针对图形性能的需求增加,可以用来处理这样的基元的速度可能是各种情境中的限制因素,诸如在图形处理单元(GPU)中的集成和手持式图形核中。用于加速对诸如三角形之类的基元的处理的一种技术是仅仅在它们需要被处理的时候处理它们。如果三角形完全位于针对给定情境的视场(通常通过六边“视见平截头体(viewingfrustum)”来限定)之外,那么它可以被省去,而没有任何进一步的处理。但是如果三角形与感兴趣的边界重叠,则它可以按形成视见平截头体的一个或多个平面来被切割,其中位于视见平截头体之外的三角形的部分从已知为“剪切”的途径中的进一步处理中被排除。附图说明通过阅读随后的说明书和所附权利要求,并且通过参考随后的附图,实施例的各种优点对于本领域技术人员而言将变得显而易见,在所述附图中:图1是视见平截头体的示例,包括三角形的示例;图2是具有重心坐标的三角形的示例;图3是已经按多个剪切平面而切割的三角形的示例;图4是已经按单剪切平面而切割的图3的三角形的示例;图5图示了根据实施例的与经剪切的三角形的边相关联的某些变量的示例;图6A是已经按单剪切平面而切割的三角形的示例,其中三角形的顶点位于外侧并且底边位于内侧;图6B是已经按单剪切平面而切割的三角形的示例,其中三角形的顶点位于内侧、底边位于外侧;图7是根据实施例的处置剪切操作的方法的示例的流程图;图8是根据实施例的处理剪切操作的硬件的示例;以及图9是根据实施例的系统的示例的框图。具体实施方式图1图示了从顶端12的视角所考虑的视见平截头体10。视见平截头体10具有近表面13、远表面14、顶表面15、底表面16、右表面17和左表面18。结合视见平截头体10还示出的是示例性的三角形19、20和21。3D图形流水线中的剪切可以被执行以丢弃位于视见平截头体外侧的场景部分。由于在完全位于视见平截头体外侧的三角形上执行图形操作可能是浪费的,因此这样的对象(例如三角形19)被称为是“被平凡地拒绝(triviallyrejected)”,即被拒绝有进一步的处理。在另一方面,完全被包含在视见体积内的对象、诸如三角形20被处理,并且这些可以沿着流水线往下发送以用于进一步的处理,或换言之,被平凡地接受(TA)。此处关注的是诸如三角形21之类的对象,其具有在视见平截头体内的顶点、被视见平截头体的表面贯穿,以使得对象的部分位于视见平截头体内并且其它部分位于视见平截头体外。在图1中的三角形21的情况中,平截头体10的右表面17充当剪切平面,将三角形21划分成内部多边形部分22-23-24-25(其本身可以被进一步划分成三角形22-23-24和24-25-22)以及外部或外侧部分24-25-26。这样的三角形可以被剪切,生成具有在剪切平面处的新顶点的新三角形。如在此处所呈现的按照右表面17的剪切的图示是为了图示的清楚的目的。任何的其它表面13、14、15、16和18,要么单独地要么与彼此组合地(包括右表面17)可以充当给定三角形上的剪切平面。剪切操作在循环时间和计算机使用的其它基准(诸如等待时间、吞吐量和功率使用)方面可能是成本高的,并且可能相当大地使图形子系统的性能降级。虽然如六个那么多的视见平截头体剪切平面可以截断(intercept)一般的多边形,但是已经确定的是真实世界应用中的剪切平面的分布可能是非常不均匀的,并且事实上严重偏斜向单剪切平面的情况。在其中发生剪切的绝大多数情况中,仅仅涉及单剪切平面。尽管其它种类的多边形能够在图形中使用,但是这些可能一般被缩减至三角形基元形式,并且因而随后的示例按照三角形来被呈现。然而,实施例能够供其它多边形、诸如矩形、五边形、六边形等等使用。图2示出了具有顶点A、B和C的示例性三角形30,其可以具有各种属性,诸如颜色值(例如红色、绿色和蓝色强度)、透明度、纹理和位置。在此处所述的实施例中,这些值可以以重心坐标形式来表述。在三角形30的情况中,每个顶点具有属性b0、b1和b2,其如上所指出的,可以指示颜色值、纹理、强度或任何其它感兴趣的属性。可以存在更少或更多的这样的属性,但是在随后的示例中,三个属性(b0、b1和b2)被描绘用于说明性目的。图3示出了在已经按三个剪切平面36、37和38而切割从而产生了外部部分39和内部部分41之后的三角形30。注意到,利用任何数目的平面来剪切三角形将导致凸多边形,此处为B-G-H-I-J-C,其形成在被排除的外部部分39和内部部分41之间的边界。如以上所指出的,外侧或外部区域在以下意义上被排除:它位于视见平截头体外侧并且因而不需要被进一步处理(即,它被“剪切”),而所包括的内部部分41可能一般需要进一步的图形处理。多边形B-G-H-I-J-C可以被分解成三角形B-G-H、B-H-I、B-I-J和B-J-C,或四个三角形以用于过程开始所用的那个。还注意到,在其中初始存在具有重心坐标的仅三个顶点并且这些已知的情况下,现在存在六个,其中的四个必须被计算(点B和C的重心坐标未改变)。这可能是计算上耗时的任务。图4示出了更简单的情况,其中三角形30已经被单剪切平面43截断。在该情况下,区域45被排除,并且区域47被包括。在区域之间的边界是剪切平面43的线,其限定所包括的内部多边形B-D-E-C。该多边形可以被分解成两个三角形:B-D-E和B-E-C(或B-D-C和D-E-C)。在该单剪切平面情况中,系统可以为在该处单剪切平面43截断三角形的点找到重心坐标的值,所述点在图中是点D和E。然而,许多剪切平面,对于在该处剪切平面截断三角形的三角形的每个边,存在交点,并且可以计算针对该点的重心值。这可以通过使用边的两个顶点的剪切距离来完成,因为距剪切平面的距离沿着边以线性方式改变。这样的途径在图5方面被图示,图5示出了已经被剪切平面50截断的示例性的边A-B。在所图示的示例中,顶点A是位于视见平截头体外侧的外部点,并且顶点B是位于视见平截头体内侧的内部点。随后的分析是一般性的,因为它可以适用于单剪切平面以及通过依次取每一个而适用于任意许多剪切平面。首先,定义了多个变量:Dout:从顶点A到剪切平面50的距离。Din:从顶点B到剪切平面50的距离。D:沿着A-B、在该处它被剪切平面50截断的点。(阿尔法):此外,在该示例中,沿着A-B的距离被归一化成1,以用于计算便利。在图5中,Dist被示出为从沿着A-B定位的任意点E到剪切平面50的距离。设置Dist=0(其在图形上对应于将点E移动到点D)并且针对alpha求解导致剪切平面处的alpha的值。或(注意到,Din和Dout可以是有符号的量值与其相关联的距离。因而,如果Din为正,则Dout可以是负的,并且Din将不等于Dout,使得防止除以零)。让beta(贝塔)被定义为等于1-alpha,将等式约简成形式:一旦已经根据经剪切的边而计算了alpha和beta,就为出现在剪切平面和边的交点处的新顶点而内插其余本文档来自技高网...
图形处理中的多边形的加速单平面剪切

【技术保护点】
一种处理至少一个图形多边形的系统,包括:图形处理单元;确定将对照着来剪切多边形的剪切平面的数目的模块;专用于单平面剪切的第一流水线;以及专用于多平面剪切的第二流水线。

【技术特征摘要】
【国外来华专利技术】2014.06.27 US 14/3168951.一种处理至少一个图形多边形的系统,包括:图形处理单元;确定将对照着来剪切多边形的剪切平面的数目的模块;专用于单平面剪切的第一流水线;以及专用于多平面剪切的第二流水线。2.根据权利要求1所述的系统,还包括与第一流水线相关联的用以进行以下各项的模块:加载多边形的顶点的坐标;以及将重心值指派给所述顶点的坐标。3.根据权利要求2所述的系统,还包括与第一流水线相关联的、用以计算单剪切平面到所述顶点中每一个的距离的模块。4.根据权利要求3所述的系统,还包括与第一流水线相关联的、用以计算距离比alpha和beta的模块,其中;其中Dout是从一个顶点到剪切平面的距离并且Din是从相邻顶点到剪切平面的距离;并且其中beta=1-alpha。5.根据权利要求1-4所述的系统,还包括与第一流水线相关联的、用以向位于所确定的剪切平面和多边形的相交处的点指派新的重心值的模块。6.根据权利要求5所述的系统,还包括与第一流水线相关联的、用以向位于所确定的剪切平面和多边形的相交处的点指派新的值的模块。7.一种处理至少一个图形多边形的方法,包括:确定将对照着来剪切多边形的剪切平面的数目;以及如果仅仅存在单剪切平面则将所述多边形提交给专用于单平面剪切的流水线。8.根据权利要求7所述的方法,还包括:加载多边形的顶点的坐标;以及将重心值指派给所述顶点的坐标。9.根据权利要求8所述的方法,还包括计算单剪切平面到所述顶点中每一个的距离。10.根据权利要求9所述的方法,还包括计算距离比alpha和beta,其中;其中Dout是从一个顶点到剪切平面的距离并且Din是从相邻顶点到剪切平面的距离;并且其中beta=1-...

【专利技术属性】
技术研发人员:K·K·比拉瓦巴拉P·L·多伊尔S·梅于兰
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1