[发明专利]图形芯片设计中图形像素生成算法的硬件实现有效
申请号: | 201010555850.X | 申请日: | 2010-11-22 |
公开(公告)号: | CN102034221A | 公开(公告)日: | 2011-04-27 |
发明(设计)人: | 龙斌;陈宝民;焦永;陈宝民;陈怒兴;焦永;赵威特;龚晓;石大勇 | 申请(专利权)人: | 长沙景嘉微电子有限公司 |
主分类号: | G06T1/20 | 分类号: | G06T1/20;G06T1/60 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 410205 湖南省长沙市河西*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 图形 芯片 设计 像素 生成 算法 硬件 实现 | ||
技术领域
本发明主要涉及到3D图形芯片设计中的像素生成和着色领域,特指基于像素测试,像素纹理,像素融合的3D绘图的实现。
背景技术
在屏幕上绘制几何体、文本及图像时,(图形处理芯片)GPU要完成一些计算,以便实现旋转、平移、缩放、确定光照、将物体投影到透视图中、判断窗口中哪些像素会受影响以及确定这些像素应该以何种颜色绘制。
在OpenGL确定了应该生成的像素及绘制颜色后,仍需要几个处理过程来控制如何将该像素绘制到帧缓存中,以及确定是否需要这样做。如果该像素超出了窗口或比帧缓存中的像素距视点的距离更远,则该像素就不必画出。
一旦输入的像素通过了所有测试,就可以计算该像素的正确颜色,并将它与颜色缓存中的当前内容按某种方式合并起来。
首先,如果该像素在三角形中并且给像素指定了纹理,则应当先从纹理图片中获得纹理颜色,并将该纹理颜色RGBA值指定给该像素;如果像素在反走样线段中,则还需要根据线段在该像素上的占用比计算alpha值,将前景色与纹理颜色进行融合。
然后进入融合操作,混合将输入像素的R、G、B、A值与存储在当前位置的像素的对应值结合起来。可以使用不同的混合操作。混合操作是否发生取决于输入alpha值与存储在像素中的alpha值。最后将处理完成后的像素点依次写入帧存,即完成了三维制图中的像素着色,后续的图象显示,即是从不断修改和替换的帧存中读取数据。
发明内容
本发明要解决的问题就在于:针对现有技术存在的技术难点,本发明提供了一种结构简单明快、能够快速流水完成3D绘图中像素生成的各个功能操作的实现方式。
本发明采用的技术方案是,3D图形芯片中应用时,当3D图元生成模块生成一个新的像素时,这一像素将包含很多信息分别为:三维水平垂直和深度坐标(x,y,z)、纹理坐标(s,t)、红绿蓝颜色分量(R,G,B)以及透明度分量(Alpha)。3D图形芯片中的像素生成模块即需根据以上的四组属性值,生成将要显示的真实像素点阵,并写入图形显示缓存中:
1)根据输入像素的横纵坐标(x,y)与外部接口设定的剪取矩形框的对角线的左上和右下两个坐标点的横纵坐标(x,y),进行比较。如果此时输入像素的横纵坐标(x,y)值均在剪取矩形框的两个设定的坐标点之间,则可视为剪取测试成功;否则失败。如果该像素满足测试的要求,即并将该输入像素写入FIFO,否则该像素将会被删除;
2)从上级FIFO中读出像素,根据输入像素横纵坐标(x,y)以及外部接口设定的深度缓存的起始地址和行宽度,读取当前深度缓存中保存的显存中已有像素点距离屏蔽的远近即当前显示像素点的深度值(z)。将读取的深度值按照当前外部接口设定的测试方案与当前输入像素的深度值比较,以判定当前输入像素是否需要覆盖当前帧存中已有的像素点(深度测试);
3)如果当前像素通过测试,将深度测试通过的像素点写入下一级FIFO;并将该像素的深度值(z)回写到深度缓存;
4)从上级FIFO中读出像素,根据输入像素的纹理横纵坐标(s,t)以及外部接口设定的纹理缓存的起始地址和行宽度,读取并计算当前像素的纹理值,完成纹理与像素当前色度信息(A,R,G,B)的融合;
5)将完成纹理计算与融合的像素写入下一级FIFO;
6)从上级FIFO中读出像素,根据输入像素的横纵坐标(x,y)以及显示缓存的起始地址和行宽,读取当前像素显存对应坐标的已有像素信息,完成透明度(Alpha)融合,并回写更新显存中对应位置的像素信息(A,R,G,B)值。
附图说明
图1是本发明所述像素生成单元的实现框图;图2是本发明所述像素剪取测试的原理图;图3是本发明所述像素深度测试的原理图。
具体实施方式
以下将结合附图和具体实施例对本发明做进一步详细说明。
如图1所示,本发明设计为3D图形处理芯片中的着色(Render)模块,一共分为像素测试、像素纹理,像素融合并帧缓存回写三个部分。
首先当单元接收到一个新的有效像素时,本设计会将像素的横纵坐标,与设定的矩形框的对角线坐标A、B两点坐标(分别为xA,yA和xB,yB)进行比对,当输入像素的横纵坐标值(xy)符合如下比较算法:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于长沙景嘉微电子有限公司,未经长沙景嘉微电子有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010555850.X/2.html,转载请声明来源钻瓜专利网。