发明名称 基于FPGA的任意三角形填充画面组件生成方法
摘要 本发明公开了基于FPGA的任意三角形填充画面组件生成方法,它包括1、获得三角形的3个顶点的坐标和颜色值;2、在图像信号发生器内部生成第一块RAM和第二块RAM,3、对上述2块RAM进行初始化,4、生成三角形填充画面3条边中各个像素点的水平坐标和垂直坐标,5、得到三角形填充画面的有效像素点中,每个垂直坐标对应的最小水平坐标,6、得到三角形填充画面的有效像素点中,每个垂直坐标对应的最大水平坐标,7、在三角形外接矩形范围对每个坐标点进行扫描,判断每个像素点是否位于三角形内,对位于三角形内的像素点赋予颜色值。本发明能利用FPGA生成任意三角形填充画面组件这样复杂的逻辑画面。
申请公布号 CN104143304B 申请公布日期 2016.08.17
申请号 CN201410340528.3 申请日期 2014.07.17
申请人 武汉精测电子技术股份有限公司 发明人 彭骞;余胜辉;欧昌东;邓标华;陈凯;沈亚非
分类号 G09G3/00(2006.01)I 主分类号 G09G3/00(2006.01)I
代理机构 武汉开元知识产权代理有限公司 42104 代理人 黄行军;李满
主权项 一种基于FPGA的任意三角形填充画面组件生成方法,其特征在于,它包括如下步骤:步骤1:根据需要构建的三角形填充画面的位置信息,控制数据解析模块向图像信号发生器发送三角形填充画面的3个顶点的水平坐标和垂直坐标;同时,根据需要构建的三角形填充画面的颜色信息控制数据解析模块向图像信号发生器发送三角形填充画面的颜色值;步骤2:在图像信号发生器内部生成第一块RAM和第二块RAM,其中第一块RAM和第二块RAM的数据位宽和深度均相同,其中,第一块RAM和第二块RAM的数据位宽均为液晶模组最大水平分辨率位宽,第一块RAM和第二块RAM的深度均为液晶模组最大垂直分辨率;步骤3:对上述2块RAM进行初始化,其中,在第一块RAM中的每个存储单元内均写入1,在第二块RAM中的每个存储单元内均写入0;步骤4:根据上述三角形填充画面的3个顶点的水平坐标和垂直坐标生成三角形填充画面3条边中各个像素点的水平坐标和垂直坐标,上述三角形填充画面3条边分别为三角形填充画面第一边、三角形填充画面第二边和三角形填充画面第三边;步骤5:将三角形填充画面三条边上每个像素点的垂直坐标作为读地址,读取第一块RAM内与上述各个读地址对应的读数据,将三角形填充画面三条边上每个像素点的水平坐标与对应的第一块RAM的读数据比较,如果该像素点的水平坐标小于对应的第一块RAM的读数据,则以该像素点的水平坐标为写数据,以当前读地址为写地址写入第一块RAM;步骤6:将三角形填充画面三条边上每个像素点的垂直坐标作为读地址,读取第二块RAM内与上述各个读地址对应的读数据,将三角形填充画面三条边上每个像素点的水平坐标与对应的第二块RAM的读数据比较,如果该像素点的水平坐标大于对应的第二块RAM的读数据,则以该像素点的水平坐标为写数据,以当前读地址为写地址写入第二块RAM;步骤7:图像信号发生器在三角形填充画面外接矩形范围对每个像素点进行扫描,将扫描到的像素点的垂直坐标值作为RAM读地址,得到该RAM读地址下所对应的第一块RAM读数据和第二块RAM读数据,其中,第一块RAM读数据为该像素点的垂直坐标下三角形填充画面边框中最小的水平坐标值,第二块RAM读数据为该像素点的垂直坐标下三角形填充画面边框中最大的水平坐标值,如果像素点的水平坐标大于或等于第一块RAM的读数据,且小于或等于第二块RAM的读数据则表示该像素点位于三角形填充画面内部,为三角形填充画面的有效点,将该扫描到的像素点赋予步骤1中的三角形填充画面的颜色值,否则为无效点,不对该扫描到的像素点赋予步骤1中的三角形填充画面的颜色值;步骤8:采用步骤7的方法判断三角形填充画面外接矩形范围内的每个像素点是否位于三角形填充画面内部,对所有位于三角形填充画面内部的像素点均赋予步骤1中的三角形填充画面的颜色值即形成了所需的三角形填充画面。
地址 430070 湖北省武汉市洪山区南湖大道53号武商量贩农科城店4楼