CN102034221B - 图形芯片设计中图形像素生成算法的硬件实现 - Google Patents
图形芯片设计中图形像素生成算法的硬件实现 Download PDFInfo
- Publication number
- CN102034221B CN102034221B CN201010555850XA CN201010555850A CN102034221B CN 102034221 B CN102034221 B CN 102034221B CN 201010555850X A CN201010555850X A CN 201010555850XA CN 201010555850 A CN201010555850 A CN 201010555850A CN 102034221 B CN102034221 B CN 102034221B
- Authority
- CN
- China
- Prior art keywords
- pixel
- texture
- depth
- current
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Image Generation (AREA)
Abstract
本发明公开了一种结构简单明快、能够快速流水完成3D绘图中所要求的像素绘制的各个功能操作的系统实现方案。它能连续的串行流水接收上级模块输入的像素横纵、深度坐标、纹理坐标以及各颜色值,连续的完成以下操作:像素的透明度(Alpha)测试:根据像素的透明度完成像素筛选;像素剪取测试:根据像素的横纵坐标筛选设定矩形框以外的像素点;像素深度测试根据像素距离屏幕的远近对像素完成筛选;像素纹理映射:根据像素的纹理坐标和设定的纹理图片完成纹理加载;以及像素帧存融合:将当前像素的颜色值与帧存中同一位置像素点颜色值的混合。
Description
技术领域
本发明主要涉及到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)符合如下比较算法:
xA < x < xB 并且 yA < y < yB,即上式比较值正确,则认为当前像素属于剪取矩形框中。如果新的有效像素符合剪取框和Alpha值限定的要求,新像素将被写入FIFO,此处的FIFO的深度可根据上层3D图元生成模块像素生成速度与下一级模块深度比较模块Cache命中率的评估适当的选择,以缓冲图元生成模块与像素生成模块的平均速率。如图2 所示,C、D、E及F四个点将被忽略, H点将会被写入FIFO。
接着的像素深度测试:首先在外存空间开辟一深度缓存空间,将帧存中已有像素点的深度值(即帧存已有像素点到显示视角的距离远近值)存储于这一深度缓存中。本部分模块会自动的从上一级FIFO中读取有效像素的信息,依次进行:深度缓存地址计算、从深度缓存中读取当前坐标点对应的像素深度数据读取,将当前输入的像素深度值和深度缓存中读取出的深度值(帧存已有像素的深度值)进行比较。如果深度测试成功(即新输入的像素距离当前显示视角的距离比帧存中已有像素点更近),本设计单元需要将新的像素信息写入下一级FIFO,同时将深度缓存中存储的深度值替换为新像素的深度值。如图3所示,新的像素点A1将会替换原有帧存中相同横纵坐标(x,y)的A2点。
后续的像素纹理填充:此处纹理填充流水的从上一级FIFO中读取有效像素,主要执行的是:纹理目标值的计算,在这里我们采用简化的二维插值运算,纹理目标值与当前像素颜色值的融合,最后完成向下一级FIFO写入(权利4和5)。
最后的帧存融合与回写:此处帧存融合与回写流水的从上一级FIFO中读取有效像素根据像素坐标(x,y)计算像素在帧存中的实际地址,读取帧存中像素的颜色值,完成当前输入像素与帧存像素的融合之后,将融合的像素颜色值回写到帧存。
与现有技术相比,本发明的优点就在于:1、逻辑简单明了,本发明提出的像素生成的实现结构并未采用很复杂的算法,都是比较利于硬件实现的算法,带来的好处就是逻辑简单。2、性能优良,在像素生成过程中,主要的三个功能模块:深度测试、纹理加载以及像素帧存融合与回写都需要读取外部存储器,特在主要三个模块之间增加了FIFO作为缓冲,在各模块内部实现分段的流水的情况下,充分保证各模块存储访问单元响应速率的平衡。3、使用方便:本发明提出的像素生成实现方式可重用性即移植性比较好,可以在嵌入式图形芯片设计中很方便的移植及重用。
Claims (1)
1.一种能够流水完成3D绘图中所要求的像素绘制的各个功能操作的系统实现方法,其包括以下三个方面的内容:
a、像素可见性测试处理,其特征过程为:根据输入像素的横纵坐标(x,y)及透明度Alpha分量将超出绘图区或透明度不符合要求的像素过滤去除,即剪取和透明度可见性检测,将满足绘图要求的像素写入FIFO;从上级FIFO中读出像素,根据输入像素横纵坐标(x,y)以及深度缓存的起始地址和行宽,读取当前深度缓存中保存的显存中已有像素点的深度值(z);将读取的深度值与当前输入像素的深度值比较,以判定当前像素是否覆盖当前帧存中已有的像素点,即深度测试,如果当前像素通过测试,则将该像素的深度值(z)回写到深度缓存,并将测试通过的像素点传送至下一级FIFO;
b、像素纹理填充处理,其特征过程为:从上级FIFO中读出像素,根据输入像素的纹理横纵坐标(s,t)以及纹理缓存的起始地址和行宽,计算出该像素纹理颜色的物理地址,读取出相邻的以纹理坐标周边的四个纹理像素,将四个纹理像素值进行二维插值计算得到当前像素的实际纹理值,完成纹理与像素当前输入像素色度信息(A,R,G,B)的融合,将完成纹理填充处理的像素写入下一级FIFO;
c、像素透明度融合处理,其特征过程为:从上级FIFO中读出像素,根据输入像素的横纵坐标(x,y)以及显示缓存的起始地址和行宽,读取当前像素显存对应坐标的已有像素信息,完成透明度Alpha融合,并回写更新显存中对应位置的像素信息(A,R,G,B)值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010555850XA CN102034221B (zh) | 2010-11-22 | 2010-11-22 | 图形芯片设计中图形像素生成算法的硬件实现 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010555850XA CN102034221B (zh) | 2010-11-22 | 2010-11-22 | 图形芯片设计中图形像素生成算法的硬件实现 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102034221A CN102034221A (zh) | 2011-04-27 |
CN102034221B true CN102034221B (zh) | 2012-05-23 |
Family
ID=43887075
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010555850XA Active CN102034221B (zh) | 2010-11-22 | 2010-11-22 | 图形芯片设计中图形像素生成算法的硬件实现 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102034221B (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4182575B2 (ja) * | 1998-11-09 | 2008-11-19 | ソニー株式会社 | 記憶装置および画像データ処理装置 |
JP3761085B2 (ja) * | 2001-11-27 | 2006-03-29 | 株式会社ソニー・コンピュータエンタテインメント | 画像処理装置及びその構成部品、レンダリング処理方法 |
CN1501326A (zh) * | 2002-11-15 | 2004-06-02 | 矽统科技股份有限公司 | 三维空间数字图像处理器与应用其上的能见度处理方法 |
CN101354793B (zh) * | 2008-09-10 | 2010-09-22 | 汕头市超声仪器研究所有限公司 | 基于图形处理器的实时三维图像平滑处理方法 |
-
2010
- 2010-11-22 CN CN201010555850XA patent/CN102034221B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN102034221A (zh) | 2011-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10438396B2 (en) | Method for efficient construction of high resolution display buffers | |
US10885607B2 (en) | Storage for foveated rendering | |
KR102275712B1 (ko) | 렌더링 방법, 렌더링 장치 및 전자 장치 | |
US9569862B2 (en) | Bandwidth reduction using texture lookup by adaptive shading | |
US11127110B2 (en) | Data processing systems | |
US8395619B1 (en) | System and method for transferring pre-computed Z-values between GPUs | |
US10074159B2 (en) | System and methodologies for super sampling to enhance anti-aliasing in high resolution meshes | |
WO2016135498A1 (en) | Graphics processing systems | |
CN109978750B (zh) | 执行基于采样的渲染的图形处理器和操作其的方法 | |
US10692420B2 (en) | Data processing systems | |
KR102674511B1 (ko) | 그래픽 처리 시스템 | |
CN112740278A (zh) | 混合邻近分格 | |
WO2022058012A1 (en) | Rendering and post-processing filtering in a single pass | |
EP1026636B1 (en) | Image processing | |
US7907147B2 (en) | Texture filtering apparatus, texture mapping apparatus, and method and program therefor | |
JPH03138783A (ja) | 陰面消去回路 | |
CN103024318A (zh) | 电视图形加速处理方法及装置 | |
CN102034221B (zh) | 图形芯片设计中图形像素生成算法的硬件实现 | |
US20050017982A1 (en) | Dynamic imposter generation with MIP map anti-aliasing | |
US20210350606A9 (en) | Method for efficient construction of high resolution display buffers | |
GB2535792A (en) | Graphic processing systems | |
KR101663023B1 (ko) | 그래픽 처리 장치 및 방법 | |
US10157492B1 (en) | System and method for transferring pre-computed Z-values between GPUS | |
WO2010041215A1 (en) | Geometry primitive shading graphics system | |
JPH02166573A (ja) | 隠れ面処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C56 | Change in the name or address of the patentee | ||
CP01 | Change in the name or title of a patent holder |
Address after: 410205 Hunan province Changsha Hexi Lugu high tech Zone base Lu Jing Road No. 2 Changsha Productivity Promotion Center Patentee after: Changsha Jingjia Microelectronic Co., Ltd. Address before: 410205 Hunan province Changsha Hexi Lugu high tech Zone base Lu Jing Road No. 2 Changsha Productivity Promotion Center Patentee before: Changsha Jingjia Microelectronics Co., Ltd. |