用于压缩顶点着色器输出参数的方案制造技术

技术编号:12775039 阅读:61 留言:0更新日期:2016-01-27 18:35
一种图形处理,其可包括利用GPU实现顶点着色器和像素着色器。可以利用所述顶点着色器来压缩顶点参数值并且可以将压缩的顶点参数值写入到高速缓存。所述像素着色器可访问写入到所述高速缓存的所述压缩的顶点参数值,并且对所述压缩的顶点参数值进行解压缩。需要强调的是,本摘要是遵照要求将会允许检索人或其他读者快速确定本技术公开的主题的摘要的规则而提供的。应理解摘要的提交不是用来解释或限制权利要求书的范围或含义。

【技术实现步骤摘要】
【国外来华专利技术】
本公开的各个方面涉及计算机图形学。具体地,本公开涉及顶点着色器和像素着色器在图形处理单元中的使用。
技术介绍
图形处理通常涉及两个处理器、即中央处理单元(CPU)和图形处理单元(GPU)的协调。GPU是被设计来加速在帧缓冲区中创建旨在用于输出至显示器的图像的专用电子电路。GPU被用于嵌入式系统、移动电话、个人计算机、平板计算机、便携式游戏装置、工作站以及游戏控制台。GPU通常被设计来有效地操纵计算机图形学。GPU常常具有高度并行处理架构,这使得GPU对于以并行方式完成大型数据块处理的算法比通用CPU更有效。CPU可向GPU发送实现特定图形处理任务的命令,例如渲染相对于图像中的前一帧已改变的特定纹理。CPU可利用图形应用程序接口(API)来协调这些绘制命令,以便发出对应于特定应用程序的虚拟环境的状态的图形渲染命令。为了渲染特定程序的纹理,GPU可执行“图形流水线”中的一系列处理任务,以便将虚拟环境中的可视元素转化成可呈现到显示器上的图像。典型的图形流水线可包括:对虚拟空间中的虚拟对象执行某些渲染或着色操作,对所述场景中的虚拟对象执行转化和光栅化以产生呈适于输出到显示器的形式的像素数据,以及在将渲染过的图像输出在显示器上之前对像素(或片段)执行另外的渲染任务。在虚拟空间中常常根据已知为原型的形状来描述图像的虚拟对象,所述形状和原型一起构成虚拟场景中的对象的形状。例如,可将三维虚拟世界中待渲染的对象减小到具有根据它们在三维空间中的坐标定义的顶点的一系列不同三角形原型,由此这些多边形构成对象的表面。每个多边形可具有相关联的索引,所述索引可由图形处理系统用来将给定的多边形与其他多边形区分开。同样,每个顶点可具有相关联的索引,所述索引可用来将给定的顶点与其他顶点区分开。图形流水线可对这些原型执行某些运算,以便产生虚拟场景的可视元素并且将这种数据转化成适于由显示器的像素再现的二维格式。如本文所用,术语图形原型信息(或简单地“原型信息”)用于指代表示图形原型的数据。这种数据包括但不限于顶点信息(例如,代表顶点位置或顶点标记的数据)和多边形信息,例如,将特定顶点与特定多边形相关联的多边形标记和信息。GPU可通过实现通常被称为着色器的程序来执行图形流水线的渲染任务。典型的图形流水线可包括:顶点着色器,所述顶点着色器可以每个顶点为基础操纵原型的某些特性;以及像素着色器(也被称为“片段着色器”),所述像素着色器在图形流水线中的顶点着色器的下游进行操作并且可在将像素数据传输到显示器之间以每个像素为基础操纵某些值。流水线还可包括在流水线中各个阶段处的其他着色器,如使用顶点着色器的输出来产生一组新的原型(或对应的原型信息)的几何着色器、以及可由GPU实现来执行某些其他通用计算任务的计算着色器(CS)。在流水线中与处理图形相关的一个难题是,在数据被输入或输出至流水线中的各个着色器时可能出现某些瓶颈并且降低性能。此外,希望向运行可视元素的特定应用程序的开发人员提供对着色器如何利用各种视觉参数和底层数据的大量的控制,以便允许他们优化渲染过程。本专利技术的各个方面正是在此背景下产生。
技术实现思路
根据本公开的各个方面,一种计算机图形处理方法可包括:利用顶点着色器压缩顶点参数值;将压缩的顶点参数值写入到高速缓存;利用像素着色器访问写入到高速缓存的压缩的顶点参数值;并且利用像素着色器对压缩的顶点参数值进行解压缩。在一些实现方式中,所述方法可包括利用像素着色器内插解压缩的顶点参数值。在一些实现方式中,访问压缩的顶点参数值包括:将压缩的顶点参数值从高速缓存复制到GPU的本地存储器单元;以及利用像素着色器从本地存储器单元访问压缩的顶点参数值。在一些实现方式中,顶点参数值包括三角形原型的所有三个顶点的参数值。在一些实现方式中,压缩顶点参数值包括将两个浮点数存储在一起作为具有所述两个浮点数中的每一个的两倍的位数的一个值。在一些实现方式中,压缩顶点参数值包括将两个16位浮点数存储在一起作为一个32位值。在一些实现方式中,所述方法还包括对内插的参数值执行像素着色器计算。在一些实现方式中,所述方法可包括在压缩之前利用顶点着色器修改参数值。根据本公开的各个方面,一种图形处理系统可包括:图形处理单元(GPU);以及高速缓存;其中所述系统被配置来实现一种图形处理方法,所述方法包括:利用GPU实现顶点着色器和像素着色器;利用顶点着色器压缩顶点参数值;将压缩的顶点参数值写入到高速缓存;利用像素着色器访问写入到高速缓存的压缩的顶点参数值;以及利用像素着色器对压缩的顶点参数值进行解压缩。在一些实现方式中,GPU包括多个计算单元和多个本地存储器单元,其中所述本地存储器单元中的每一个与所述计算单元中的相应一个相关联。在一些实现方式中,高速缓存与GPU集成在一起。根据本公开的各个方面,一种非暂时性计算机可读介质可具有包含在其中的计算机可读指令,所述计算机可读指令被配置来在执行时实现一种图形处理方法,所述图形处理方法包括:利用顶点着色器压缩顶点参数值;将压缩的顶点参数值写入到高速缓存;利用像素着色器访问被写入到高速缓存的压缩的顶点参数值;以及利用像素着色器对顶点参数值进行解压缩。附图说明通过结合附图考虑以下详细描述,可容易地理解本公开的教示,在附图中:图1A-1C是示出各种图形处理技术的三角形原型的示意图。图1D-1E是传统图形处理技术的流程图。图2A是与图1E的实现方式具有相似性的传统图形处理技术的示意图。图2B是根据本公开的各个方面的图形处理技术的示意图。图3是根据本公开的各个方面的图形处理技术的流程图。图4是用于实现根据本公开的各个方面的图形处理技术的系统的示意图。具体实施方式虽然出于说明目的,以下详细描述包含许多具体细节,但是本领域的普通技术人员将会了解,以下细节的许多变化和更改在本专利技术的范围内。因此,以下描述的本专利技术的各个示例性实施方案是在不损害本专利技术的一般性也不对本专利技术施加任何限制的情况下陈述的。引言根据本公开的各个方面,可以允许在图形流水线的后期阶段恢复参数的底层绝对值的方式对顶点参数值进行压缩。压缩这些参数值可减少参数高速缓存中的瓶颈并且通过提供加速的对象渲染而改善性能。此外,允许对参数值进行解压缩以恢复原始顶点参数值允许像素着色器直接访问它们,从而向开发者提供对着色器本文档来自技高网
...

【技术保护点】
一种计算机图形处理方法,其包括:利用顶点着色器压缩顶点参数值;将所述压缩的顶点参数值写入到高速缓存;利用像素着色器访问写入到所述高速缓存的所述压缩的顶点参数值;以及利用所述像素着色器对所述压缩的顶点参数值进行解压缩。

【技术特征摘要】
【国外来华专利技术】2013.06.10 US 61/833,212;2014.06.05 US 14/297,2011.一种计算机图形处理方法,其包括:
利用顶点着色器压缩顶点参数值;
将所述压缩的顶点参数值写入到高速缓存;
利用像素着色器访问写入到所述高速缓存的所述压缩的顶点参数值;以

利用所述像素着色器对所述压缩的顶点参数值进行解压缩。
2.如权利要求1所述的方法,其还包括利用所述像素着色器内插所述解
压缩的顶点参数值。
3.如权利要求1所述的方法,其中所述访问所述压缩的顶点参数值包括:
将所述压缩的顶点参数值从所述高速缓存复制到GPU的本地存储器单元;以
及利用所述像素着色器从所述本地存储器单元访问所述压缩的顶点参数值。
4.如权利要求1所述的方法,其中所述顶点参数值包括三角形原型的所
有三个顶点的参数值。
5.如权利要求1所述的方法,其中所述压缩所述顶点参数值包括将两个
浮点数存储在一起作为具有所述两个浮点数中的每一个的两倍的位数的一个
值。
6.如权利要求5所述的方法,其中所述压缩所述顶点参数值包括将两个
16位浮点数存储在一起作为一个32位值。
7.如权利要求2所述的方法,其还包括对所述内插的参数值执行像素着
色器计算。
8.如权利要求1所述的方法,其还包括在所述压缩之前利用所述顶点着
色器来修改所述参数值。
9.一种图形处理系统,其包括:
图形处理单元(GPU);以及
高速缓存;
其中所述系统被配置来实现一种图形处理方法,所述方法包括:
利用所述GPU实现顶点着色器和像素着色器;
利用所述顶点着色器压缩顶点参数值;
将所述压缩的顶点参数值写入到所述高速缓存;
利用像素着色器访问写入到所述高速缓存的所述压缩的顶点参数值;以

利用所述像素着色器对所述压缩的...

【专利技术属性】
技术研发人员:ME塞尔尼D辛普森J斯坎林
申请(专利权)人:索尼电脑娱乐公司
类型:发明
国别省市:日本;JP

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

1