System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种三角形光栅化的验证方法技术_技高网

一种三角形光栅化的验证方法技术

技术编号:40754098 阅读:6 留言:0更新日期:2024-03-25 20:08
本申请涉及图形的光栅化技术领域,特别是涉及一种三角形光栅化的验证方法。该方法包括:获取待测器件dut,dut用于根据第一三角形光栅化算法实现三角形光栅化功能,获取第一软件参考模型rm<subgt;1</subgt;,rm<subgt;1</subgt;用于根据第一算法实现三角形光栅化功能;获取第二软件参考模型rm<subgt;2</subgt;,rm<subgt;2</subgt;用于根据第二三角形光栅化算法实现三角形光栅化功能;如果result<subgt;0</subgt;=result<subgt;1</subgt;,则将第一值赋予label<subgt;1</subgt;;如果每一result<subgt;0,i</subgt;均存在于result<subgt;2</subgt;中且q=n,则将第一值赋予label<subgt;2</subgt;;如果label<subgt;1</subgt;和label<subgt;2</subgt;的值均为第一值,则判定dut通过验证;否则,判定dut不通过验证。本发明专利技术提高了对dut验证的准确性。

【技术实现步骤摘要】

本专利技术涉及图形的光栅化,特别是涉及一种三角形光栅化的验证方法


技术介绍

1、光栅化指的是将几何数据经过一系列的变换后最终转换为像素点,从而呈现在屏幕上的过程,相应的,三角形光栅化指的是将三角形转换为像素点呈现在屏幕上的过程。现有技术中实现三角形光栅化的算法有很多,其中,最简单且准确性最高的三角形光栅化的算法是遍历屏幕上的所有像素点,逐一判断屏幕上的每一像素点是否在三角形内;该方法虽然简单且准确性高,但是该方法将屏幕上的每一像素点均进行判断,由于屏幕上像素点数量较大,导致该方法的计算量开销也较大。

2、现有技术中也存在一些改进的方法,这些方法改进的思想多为减少判断像素点的数量,即只将屏幕中的部分像素点进行判断,例如,先获取三角形的最小外接矩形包围盒,然后仅判断该包围盒中像素点是否在三角形内,而不再判断包围盒外部像素点是否在三角形内,由此,该方法减少了需要判断的像素点的数量,具有减少计算开销的优点;但是,该方法包括获取三角形的最小包围框的步骤,如果获取三角形的最小包围框出现偏差,将导致本应进行判断的一些像素点没有进行判断,会影响三角形光栅化结果的准确性。

3、现有技术中,往往基于上述改进方法构建对应的待测器件(dut)和软件参考模型(reference model),并根据dut和reference model的输出结果是否一致来判断dut是否通过验证。但是,reference model基于的改进算法与dut基于的改进算法相同,如果改进算法本身存在错误,或者reference model和dut在构建过程中出现错误的位置一样,那么即使dut通过验证,也不能说明dut能够实现三角形光栅化功能,存在对三角形光栅化dut验证不准确的问题。


技术实现思路

1、本专利技术目的在于,提供一种三角形光栅化的验证方法,以提高对三角形光栅化dut验证的准确性。

2、根据本专利技术,提供了一种三角形光栅化的验证方法,所述验证方法包括以下步骤:

3、s100,获取待测器件dut,dut用于根据第一三角形光栅化算法实现三角形光栅化功能;所述第一三角形光栅化算法中仅判断屏幕中部分像素点是否在屏幕中的目标三角形内。

4、s200,获取第一软件参考模型rm1,rm1用于根据第一三角形光栅化算法实现三角形光栅化功能。

5、s300,获取第二软件参考模型rm2,rm2用于根据第二三角形光栅化算法实现三角形光栅化功能;所述第二三角形光栅化算法包括:判断屏幕上每一像素点是否在屏幕中的目标三角形内。

6、s400,比较dut的输出结果result0和rm1的输出结果result1,如果result0=result1,则将第一值赋予第一比较结果标签label1;result0=(result0,1,result0,2,…,result0,i,…,result0,n),result0,i为按照输出先后顺序获取的dut输出的第i个像素点的坐标,i的取值范围为1到n,n为dut输出的像素点的数量;result1=(result1,1,result1,2,…,result1,j,…,result1,m),result1,j为按照输出先后顺序获取的rm1输出的第j个像素点的坐标,j的取值范围为1到m,m为rm1输出的像素点的数量。

7、s500,比较result0和rm2的输出结果result2,result2=(result2,1,result2,2,…,result2,k,…,result2,q),如果每一result0,i均存在于result2中且q=n,则将第一值赋予第二比较结果标签label2;result2,k为按照输出先后顺序获取的rm2输出的第k个像素点的坐标,k的取值范围为1到q,q为rm2输出的像素点的数量。

8、s600,如果label1和label2的值均为第一值,则判定dut通过验证;否则,判定dut不通过验证。

9、本专利技术与现有技术相比至少具有以下有益效果:

10、本专利技术在对待测器件dut进行验证时,不但使用了具有与dut的三角形光栅化算法相同的算法的第一软件参考模型,还使用了具有不同于dut的三角形光栅化算法的算法的第二软件参考模型;其中,第一软件参考模型的作用是将其输出与dut的输出进行严格比对,不仅包括比对两者的输出是否具有相同的像素点,还包括对比两者输出相同像素点的顺序是否一致,只有当都满足时才将第一比较结果标签赋予第一值,以指示dut通过了基于第一软件参考模型的验证;第二软件参考模型的作用是将其输出与dut的输出进行乱序比对,只比对两者的输出是否具有相同的像素点,不再对比两者输出相同像素点的顺序是否一致,只要两者的输出具体相同的像素点,则将第一比较结果标签赋予第二值,以指示dut通过了基于第二软件参考模型的验证。本专利技术dut的三角形光栅化算法中只判断屏幕上的部分像素点是否在目标三角形内,第一软件参考模型对应的三角形光栅化算法与dut的三角形光栅化算法相同,第二软件参考模型的三角形光栅化算法是判断屏幕上的全部像素点是否在目标三角形内,第二软件参考模型的三角形光栅化算法不会存在算法本身错误的问题,且算法本身比较简单准确,本专利技术将第二软件参考模型的输出作为判断dut输出的像素点是否完整的评判标准,将第一软件参考模型的输出作为判断dut输出的像素点是否按照dut的三角形光栅化算法进行输出的评判标准,由此,本专利技术实现了对dut的输出是否正确以及与dut的三角形光栅化算法是否一致的验证,提高了对dut验证的准确性。

本文档来自技高网...

【技术保护点】

1.一种三角形光栅化的验证方法,其特征在于,所述验证方法包括以下步骤:

2.根据权利要求1所述的三角形光栅化的验证方法,其特征在于,所述第一三角形光栅化算法包括以下步骤:

3.根据权利要求2所述的三角形光栅化的验证方法,其特征在于,判断每一块是否与所述目标三角形存在重叠包括以下步骤:

4.根据权利要求2所述的三角形光栅化的验证方法,其特征在于,根据tsize2与tsize0的大小关系判断是否对与目标三角形存在重叠的子块进行划分包括以下步骤:

5.根据权利要求1所述的三角形光栅化的验证方法,其特征在于,所述第二三角形光栅化算法包括以下步骤:

6.根据权利要求1所述的三角形光栅化的验证方法,其特征在于,所述第一三角形光栅化算法包括以下步骤:

7.根据权利要求1所述的三角形光栅化的验证方法,其特征在于,所述第一三角形光栅化算法包括以下步骤:

【技术特征摘要】

1.一种三角形光栅化的验证方法,其特征在于,所述验证方法包括以下步骤:

2.根据权利要求1所述的三角形光栅化的验证方法,其特征在于,所述第一三角形光栅化算法包括以下步骤:

3.根据权利要求2所述的三角形光栅化的验证方法,其特征在于,判断每一块是否与所述目标三角形存在重叠包括以下步骤:

4.根据权利要求2所述的三角形光栅化的验证方法,其特征在于,根据tsize2与tsiz...

【专利技术属性】
技术研发人员:张昀请求不公布姓名王定
申请(专利权)人:沐曦科技北京有限公司
类型:发明
国别省市:

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

1