[发明专利]GPU纹理小块的细节控制有效
申请号: | 201110246458.1 | 申请日: | 2011-08-15 |
公开(公告)号: | CN102314666A | 公开(公告)日: | 2012-01-11 |
发明(设计)人: | M·S·格罗斯曼;C·N·博伊德;A·W·克莱因;C·佩珀 | 申请(专利权)人: | 微软公司 |
主分类号: | G06T1/00 | 分类号: | G06T1/00 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 蔡悦 |
地址: | 美国华*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | gpu 纹理 小块 细节 控制 | ||
技术领域
本发明涉及图像处理技术,尤其涉及图像处理技术中的纹理处理。
背景技术
可将来自(真实或虚构的)三维(3D)世界的对象呈现在二维(2D)显示屏上的3D计算机图形系统当前被用于各种各样的应用。例如,3D计算机图形可用于实时交互式应用,诸如视频游戏、虚拟现实、科学研究等,以及离线应用,诸如高分辨率电影、图形艺术的创建等。通常,图形系统包括图形处理单元(GPU)。GPU可被实现为计算机的中央处理单元(CPU)的协处理器组件,并可以按插入卡(例如视频卡)、协处理器的形式来提供,或作为直接集成到计算机或诸如游戏设备等其他设备的主板的功能来提供。
通常,GPU具有“图形流水线”,该“图形流水线”可接受输入3D场景的某一表示作为输入并输出2D图像以供显示。应用程序编程接口(API)和应用程序编程接口是具有图形流水线模型的两个示例API。图形流水线通常包括多个阶段,其中一个阶段是纹理映射。纹理映射允许将细节、表面纹理或颜色添加到被呈现的片段。在这一过程中,纹理映射被应用于形状的表面。在某些系统中,纹理像素(纹理的元素或纹理的像素)是纹理空间的基本单元。当纹理化3D表面时,纹理映射过程将纹理像素映射到输出2D图形中的适当像素。
处理纹理映射来产生输出2D图像消耗有价值的GPU时间。因此,已经开发了诸如mip映射(mipmapping)等技术。mip映射涉及存储纹理映射以及该纹理映射的若干降低的细节水平(LOD)版本。例如,具有1/4原始细节、1/16细节等的映射可被存储在纹理存储器中。mip映射通过减小图形流水线阶段的工作负载来增加呈现的效率。例如,如果呈现场景仅需要具有较少细节的纹理映射的版本,则可从纹理存储器中访问较不详细的映射中的一个,而不是花时间过滤详细的版本。
通常,有限的存储器量被用于存储纹理映射。因此,在某些情况下,所需的纹理的LOD在纹理存储器中可能不可用。例如,应用(例如视频游戏)可能试图用比纹理存储器中可用的更详细的映射来呈现。在这一情况下,一个选项是用比所需的更少的细节来呈现场景。另选地,可消耗额外的时间来将纹理的所需LOD加载到纹理存储器中。在某些情况下,可能没有所需纹理的任何映射被存储在纹理存储器中。因此,仅有的可行选项可以是花时间来将纹理加载到纹理存储器中。此外,由于纹理存储器的大小有限,用非常大的纹理映射来工作可能是困难的。
发明内容
公开了用于在图形处理单元(GPU)中处理纹理的系统和相关联的方法。纹理可在每一区域(例如小块)的基础上来管理,这允许对纹理存储器的高效使用。此外,可使用非常大的纹理。提供用于纹理流传输以及稀疏纹理两者的技术。GPU纹理单元可被用于基于着色器指定的值来智能地钳夹(clamp)LOD。纹理单元可向着色器提供反馈以允许着色器基于是否已使用钳夹等来有条件地作出反应。可采用每一区域(例如,每一小块)的独立mip映射栈以允许非常大的纹理。
一个实施例包括一种机器实现的方法,该方法包括以下步骤。接收对纹理的纹理像素的请求。该请求包括纹理的一个或多个部分的细节水平(LOD)阈值。存储不同LOD的纹理的小块的纹理存储器被访问。纹理像素基于纹理存储器中的小块LOD可用性以及纹理的一个或多个部分的LOD阈值来供应。供应纹理像素包括如果第一小块的所请求的LOD在纹理存储器中不可用,则将小块的第一个的LOD钳夹到与对应于该第一小块的纹理的部分的所请求的LOD阈值相比粗略不超过一个级别的LOD。
一个实施例包括具有图形处理单元(GPU)的系统,该GPU具有被配置成接收对表示纹理的小块的纹理像素的请求的电路。该请求包括每一小块细节水平(LOD)阈值,该每一小块的细节水平(LOD)阈值指定小块中每一个的所请求的LOD。该电路还被配置成访问存储于不同细节水平(LOD)的多个小块,并且基于纹理存储器中小块LOD的可用性以及各小块中每一个的每一小块细节水平(LOD)阈值来供应多个小块的纹理像素。
一个实施例包括机器实现的方法,该方法包括访问小块阵列中表示纹理的多个小块的钳夹细节水平(LOD),其中该多个小块表示少于整个纹理;在纹理存储器中存储该多个小块中每一个的mip映射栈,其中该多个小块中每一个的mip映射栈由该小块的钳夹LOD来管控,并且其中少于整个纹理是主动地存储在该纹理存储器中的;以及在该纹理存储器中存储与该多个小块的mip映射栈所覆盖的相比带有更少细节的任何LOD的整个纹理的mip映射栈。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软公司,未经微软公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110246458.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:半液流锂硫电池
- 下一篇:一种基于身份证控制模块的手持设备