[发明专利]用于将经修改的覆盖数据输入像素着色器的系统和方法有效
申请号: | 201310485125.3 | 申请日: | 2013-10-16 |
公开(公告)号: | CN103810728B | 公开(公告)日: | 2017-10-03 |
发明(设计)人: | 尤里·乌拉尔斯基;亨利·帕尔德·莫尔顿 | 申请(专利权)人: | 辉达公司 |
主分类号: | G06T15/40 | 分类号: | G06T15/40;G06T15/50 |
代理公司: | 北京市磐华律师事务所11336 | 代理人: | 谢栒,魏宁 |
地址: | 美国加利*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 修改 覆盖 数据 输入 像素 着色 系统 方法 | ||
技术领域
本发明涉及计算机图形,并且更具体地涉及实施图形渲染。
背景技术
像素着色器通常在图形渲染期间使用。例如,像素着色器可以在渲染过程期间在逐像素的基础上计算效果。在另一个示例中,可以在像素内的多个位置(例如子样本等)处计算覆盖,其中这类位置可以之后被转发到Z/模板(Z/Stencil)测试以确定将写哪些样本。此外,之后可以将覆盖发送到一个或多个像素着色器。然而,当前用于将数据传达到像素着色器的技术一直与各种限制相关联。
例如,当前的像素着色器不直接接收深度/模板测试信息。结果,由像素着色器所实施的某些图形处理任务可能不被优化。因此存在对于解决与现有技术相关联的这些和/或其他问题的需要。
发明内容
提供用于将经修改的覆盖数据输入像素着色器的系统、方法和计算机程序产品。在使用中,深度/模板测试模块处接收覆盖数据,其中所述覆盖数据包括由光栅化模块输出的二维(2D)光栅覆盖数据,所述二维(2D)光栅覆盖数据指示在经多重采样的图案内的哪些子样本由基元所覆盖。由所述深度/模板测试模块修改所述覆盖数据,以生成经修改的覆盖数据,所述经修改的的覆盖数据输入像素着色器。此外,利用经修改的覆盖数据在像素着色器处实施一个或多个动作,其中所述光栅化模块,所述深度/模板测试模块,以及所述像素着色器被包括在由图形处理单元实现的渲染管线中。本发明的系统,包括处理器。该处理器包括光栅化模块,配置为接收基元并且输出覆盖数据,所述覆盖数据包括二维(2D)光栅覆盖数据,所述二维(2D)光栅覆盖数据指示在经多重采样的图案内的哪些子样本由所述基元所覆盖。该处理器还包括深度/模板测试模块,配置为接收所述覆盖数据并生成经修改的覆盖数据。该处理器还包括像素着色器,配置为接收所述经修改的覆盖数据并且利用经修改的覆盖数据实施一个或多个动作。
附图说明
图1示出了根据一个实施例的、用于将经修改的覆盖数据输入像素着色器的方法。
图2示出了根据另一个实施例的示例性渲染管线。
图3示出了在其中可以实现各种先前实施例的各种架构和/或功能性的示例性系统。
具体实施方式
图1示出根据一个实施例的、用于将经修改的覆盖数据输入像素着色器的方法100。如在操作102中所示的,将由深度/模板测试所修改的覆盖数据输入像素着色器。在一个实施例中,可以由深度/模板测试对未经修改的覆盖数据进行修改以创建由深度/模板测试所修改的覆盖数据。在另一个实施例中,未经修改的覆盖数据可以代表光栅覆盖数据。例如,未经修改的覆盖数据可以包括关于在经多重采样的图案内的哪些子样本由所生成的基元所覆盖的指示。在又一个实施例中,未经修改的覆盖数据可以与将被显示的一个或多个像素相关联。
此外,在一个实施例中,未经修改的覆盖数据可以利用覆盖位掩码来代表。例如,位掩码可以指示在经多重采样的图案内的哪些子样本由输入基元所覆盖。例如,由基元所覆盖的样本可以在位掩码中利用1加以注释,而未被基元所覆盖的样本可以在位掩码中利用0加以注释。在另一个实施例中,可以在由深度/模板测试修改覆盖数据之前由光栅化器创建未经修改的覆盖数据。例如,光栅化器可以接收输入几何体并且可以在这类几何体上实施光栅化以创建覆盖数据。在另一个示例中,光栅化器可以包括在光栅化模块内。
进一步地,在一个实施例中,可以将未经修改的覆盖数据从光栅化器输入深度/模板测试(例如z/模板测试等)。例如,光栅化器可以将未经修改的覆盖数据提供到深度/模板测试模块。在另一个实施例中,深度/模板测试可以包括对未经修改的覆盖数据实施的深度测试和模板测试二者。例如,深度/模板测试可以包括可将用于与经光栅化的输入几何体相关联的像素的深度值和深度缓冲区中的深度值作比较的深度测试。在又一个实施例中,深度/模板测试可以包括可将深度缓冲区中的深度值与指定的最小和最大深度值作比较的深度测试。
还进一步地,在另一个示例中,深度/模板测试可以包括可将与经光栅化的输入几何体相关联的参考值与模板缓冲区中的值作比较的模板测试。在另一个实施例中,可以基于深度/模板测试对未经修改的覆盖数据进行修改。例如,未经修改的覆盖数据可以包括覆盖位掩码,并且覆盖位掩码中的一个或多个位可以作为深度/模板测试的结果而被更改。在另一个示例中,深度/模板测试可以通过关闭覆盖位掩码内用于在经多重采样的图案内的、使深度/模板测试失败的子样本的位来修改覆盖位掩码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于辉达公司,未经辉达公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310485125.3/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置