[发明专利]一种基于流水线和状态机的三角形快速分块设计方法有效
申请号: | 201310556494.7 | 申请日: | 2013-11-11 |
公开(公告)号: | CN103559679B | 公开(公告)日: | 2019-07-02 |
发明(设计)人: | 孙涛;周莉;王佳 | 申请(专利权)人: | 济南大学 |
主分类号: | G06T1/20 | 分类号: | G06T1/20 |
代理公司: | 济南智圆行方专利代理事务所(普通合伙企业) 37231 | 代理人: | 杜文娟 |
地址: | 250022 山*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开一种基于流水线和状态机的三角形快速分块设计方法,包括以下步骤:(1)从scene buffer中读取裁剪后的三角形数据并编号;(2)将三角形进行视口变换;(3)计算三角形的包围盒、边界函数参数;(4)得到与包围盒相交的tile范围;(5)根据(4)所的范围确定三角形、tile相交类型;(6)将三角形编号及(3)(4)所得相关信息写入中间FIFO;(7)Tile list生成单元读取FIFO中相关数据;(8)根据mask code解析相交类型;(9)根据当前三角形数据进行LET相交测试,若相交则转入(10),否则转入(11);(10)计算当前tile所对应的tile list写地址。 | ||
搜索关键词: | 一种 基于 流水线 状态机 三角形 快速 分块 设计 方法 | ||
【主权项】:
1.一种基于流水线和状态机的三角形快速分块设计方法,其特征在于,包括以下步骤:(1)从场景缓存scene buffer中读取裁剪后的三角形数据并编号;(2)将三角形进行视口变换;(3)计算三角形的包围盒、边界函数参数;(4)计算与包围盒相交的分块tile范围;(5)根据步骤(4)所确定的三角形包围盒与分块tile相交类型,用1位掩码表示,0表示non‑false‑over lap无错误覆盖类型情况,1表示包含false‑over lap表示含有错误覆盖类型;(6)将三角形编号及步骤(3)(4)(5)所得相关信息写入中间先进先出存储单元FIFO;(7)分块列表生成单元Tile list读取中间先进先出存储单元FIFO中相关数据;(8)根据掩码信息解析相交类型,若为1则转入步骤(9),若为0则转入步骤(10);(9)根据当前三角形数据进行LET相交测试,若相交则转入步骤(10),否则转入步骤(11);(10)计算当前tile所对应的tile list写地址,并将当前三角形编号写入;(11)将当前tile坐标增加相应量,并判断与包围盒相交的tile是否都已经处理完,若没有处理完成,转步骤(8),若处理完成,转步骤(7),直到中间先进先出存储单元FIFO为空结束;所述步骤(2)包括以下步骤:(2.1)显示器屏幕的宽和高分别记为scr_w和scr_h,绘制窗口左下角坐标(win_x,win_y),绘制窗口宽和高分别为win_w、win_h,三角形三个顶点坐标v0(x0,y0),v1(x1,y1),v2(x2,y2),视口变换后的顶点坐标记为V0(X0,Y0),V1(X1,Y1),V2(X2,Y2),首先计算win_w/2、win_h/2;(2.2)分别计算x0*win_w/2、x1*win_w/2、x2*win_w/2、y0*win_h/2、y1*win_h/2、y2*win_h/2,得到V0、V1、V2相对于绘制窗口左下角的坐标值;(2.3)将(2.2)得到的坐标值分别与绘制窗口左下角在屏幕坐标系中的坐标值相加,得到三角形三个顶点在屏幕坐标系中的坐标值X0=x0+x0*win_w/2、Y0=y0+y0*win_h/2、X1=x1+x1*win_w/2、Y1=y1+y1*win_h/2、X2=x2+x2*win_w/2、Y2=y2+y2*win_h/2。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于济南大学,未经济南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201310556494.7/,转载请声明来源钻瓜专利网。
- 上一篇:分体式卡瓦
- 下一篇:一种复合式偏心单牙轮钻头