平码五不中公式规律
  • / 29
  • 下载费用:30 金币  

3D图形渲染方法和设备.pdf

关 键 ?#21097;?/dt>
图形 渲染 方法 设备
  专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
摘要
申请专利号:

CN201610978296.3

申请日:

2016.11.07

公开号:

CN106683199A

公开日:

2017.05.17

当前法律状态:

实审

?#34892;?#24615;:

审中

法?#19978;?#24773;: 实质审查的生效IPC(主分类):G06T 19/20申请日:20161107|||公开
IPC分类号: G06T19/20(2011.01)I 主分类号: G06T19/20
申请人: 三星电子株式会社
发明人: 河仁友; 安民修; 李炯旭; 孙旼廷
地址: 韩国京畿?#28010;?#21407;市
优?#28909;ǎ?/td> 2015.11.06 KR 10-2015-0156129; 2016.06.02 KR 10-2016-0068960
专利代理机构: 北京铭硕知识产权代理有限公司 11286 代理人: 曾世骁;李云霞
PDF完整版下载: PDF下载
法律状态
申请(专利)号:

CN201610978296.3

授权公告号:

|||

法律状态公告日:

2018.09.25|||2017.05.17

法律状态类型:

实质审查的生效|||公开

摘要

提供了一种3D图形渲染方法和设备。公开了一种三维(3D)渲染方法和设备。所述3D渲染设备可确定3D场景中将被执行着色的所选着色点,对所确定的着色点执行着色,并基于对所确定的着色点执行着色的结果来确定3D场景的着色信息。

权利要求书

1.一种用于渲染三维场景的三维渲染方法,所述方法包括:
确定三维场景中将被执行着色的所选着色点;
对所确定的着色点执行着色;
基于对所确定的着色点执行着色的结果来确定三维场景的着色信息。
2.如权利要求1所述的方法,?#28210;校?#30830;定三维场景中将被执行着色的所选着色点的步骤
是基于针对三维场景的区域的所确定的着色级别,并且与确定三维场景的另一区域的所选
着色点的步骤不同。
3.如权利要求2所述的方法,?#28210;校?#30830;定三维场景中将被执行着色的所选着色点的步骤
导致不同数量的着色点根据以下事项而被确定:代表不同着色复杂度的多个着色级别中的
哪个着色级别根据对三维场景的区域的时间分析和/或空间分析被确定为所述针对三维场
景的区域的所确定的着色级别。
4.如权利要求1所述的方法,?#28210;校?#30830;定三维场景中将被执行着色的所选着色点的步骤
包括:将少于三维场景的区域的全部顶点的顶点确定为被执行着色的着色点。
5.如权利要求4所述的方法,?#28210;校?#23558;少于三维场景的区域的全部顶点的顶点确定为被
执行着色的着色点的步骤还包括:将三维场景的区域中的三维对象上的至少一个非顶点点
确定为也是被执行着色的着色点。
6.如权利要求5所述的方法,?#28210;校?#23558;少于三维场景的区域的全部顶点的顶点确定为被
执行着色的着色点的步骤包括:确定三维场景的区域中没有顶点被选为着色点。
7.如权利要求5所述的方法,?#28210;校?#23558;少于三维场景的区域的全部顶点的顶点确定为被
执行着色的着色点的步骤包括:确定着色点包括三维场景的区域的至少一个顶点。
8.如权利要求7所述的方法,?#28210;校?#30830;定着色点包括三维场景的区域的至少一个顶点的
步骤包括:确定着色点包括三维场景的区域的全部顶点。
9.如权利要求4所述的方法,还包括:
基于对少于三维场景的区域的全部顶点的所述顶点的一个或更多个着色的结果,针对
除少于三维场景的区域的全部顶点的所述顶点之外的三维场景的区域的其余顶点对着色
?#21040;?#34892;插值;
通过从所确定的三维场景的着色信息确定像素颜色值来渲染图像。
10.如权利要求1所述的方法,?#28210;校?#30830;定三维场景中将被执行着色的所选着色点的步
骤包括:
将三维场景中的三维对象的全部顶点和三维对象上额外的点确定为将被执行着色的
所选着色点。
11.如权利要求1所述的方法,?#28210;校?#30830;定三维场景中将被执行着色的所选着色点的步
骤是基于对三维场景的空间特征和时间特征的多个分析中的至少一个分析。
12.如权利要求11所述的方法,?#28210;校?#30830;定三维场景中将被执行着色的所选着色点的步
骤还包括:
基于以下项中的至少一项来确定所选着色点?#27827;?#34394;拟光源关联的信息、与虚拟相机关
联的信息、与三维场景中的三维对象关联的信息以及对先前图像帧执行着色的结果。
13.如权利要求12所述的方法,?#28210;校?#19982;虚拟光源关联的信息包括与虚拟光源的位置、
颜色、亮度、方向、角度和移动速度中的至少一个相关的信息,
与虚拟相机关联的信息包括与虚拟相机的位置、方向、角度和移动速度中的至少一个
相关的信息,
与三维对象关联的信息包括与三维对象的形状、颜色和材料中的至少一个相关的信
息。
14.如权利要求1所述的方法,?#28210;校?#30830;定三维场景中将被执行着色的所选着色点的步
骤包括:
将三维场景中的顶点分组成不同的顶点组;
针对每个顶点组确定至少一个所选着色点。
15.如权利要求14所述的方法,?#28210;校?#23558;三维场景中的顶点分组成不同的顶点组的步骤
包括:
基于以下项中的至少一项将顶点分组成不同的顶点组:顶点各自的位置、顶点各自的
法线、对先前图像帧执行着色的结果以及哪些顶点用于相同的三维对象。
16.如权利要求14所述的方法,?#28210;校?#30830;定三维场景中将被执行着色的所选着色点的步
骤还包括:
基于以下项中的至少一项针对所述不同的顶点组中的每个顶点组确定着色级别:虚拟
光源的移动、虚拟相机的移动、三维对象的移动、邻近顶点之间的亮度差以及顶点组中的顶
点的位置。
17.如权利要求16所述的方法,?#28210;校?#30830;定三维场景中将被执行着色的所选着色点的步
骤还包括:
基于针对每个顶点组分别确定的着色级别,确定每个顶点组的将被执行着色的各个着
色点。
18.如权利要求14所述的方法,?#28210;校?#23558;三维场景中的顶点分组成不同的顶点组的步骤
包括针对每个顶点组确定与顶点关联的各自的层次结构信息,?#28210;校?#27599;个层次结构信息表
示针对每个顶点组的多个不同复杂度级别,
针对每个顶点组确定至少一个所选着色点的步骤包括:基于从所述各自的层次结构信
息分别确定了哪个复杂度级别来对每个顶点组进行着色,针对每个顶点组选择各自不同的
着色点。
19.如权利要求1所述的方法,?#28210;校?#30830;定三维场景的着色信息的步骤包括?#21644;?#36807;对被执
行着色以确定它们各自的着色值的着色点的各自的着色值之中的着色?#21040;?#34892;插值,来确定
与被执行着色以确定它们各自的着色值的着色点邻近顶点的着色值,而无需执行着色。
20.如权利要求19所述的方法,还包括:
通过对所确定的着色点的着色?#21040;?#34892;插值来确定通过渲染三维场景所获得的图像中
的像素的颜色值,作为在确定三维场景的着色信息的步骤中所确定的。
21.如权利要求19所述的方法,?#28210;校?#30830;定三维场景的着色信息的步骤包括:
将被执行着色以确定它们各自的着色值的着色点的各自的着色值以及所述顶点的着
色值存储在纹理缓冲器中。
22.如权利要求21所述的方法,还包括:使用存储在纹理缓冲器中的着色值来执行像素
着色操作,以确定图像中的像素的颜色值从而渲染图像。
23.如权利要求1所述的方法,?#28210;校?#23545;所确定的着色点执行着色的步骤包括:
基于直接光源?#22270;?#25509;光源中的至少一个的照明效果,确定所选着色点的颜色值,
?#28210;校?#29031;明效果包括遮挡的阴影效果。
24.一种存储当被处理器执行时使得处理器执行权利要求1的方法的指令的非暂时性
计算机可读存储介质。
25.一种三维渲染设备,包括:
至少一个处理器,被?#28210;?#20026;:
确定三维场景中将被执行着色的所选着色点;
对所确定的着色点执行着色;
基于对所确定的着色点执行着色的结果来确定三维场景的着色信息。
26.如权利要求25所述的设备,还包括:至少一个存储器,存储用于使所述至少一个处
理器实施以下操作的计算机可读指令:确定三维场景中将被执行着色的所选着色点的操
作、对所确定的着色点执行着色的操作以及基于对所确定的着色点执行着色的结果确定三
维场景的着色信息的操作,?#28210;校?#25152;述至少一个处理器被?#28210;?#20026;执行指令。
27.如权利要求26所述的设备,?#28210;校?#22788;理器被?#28210;?#20026;执行指令,使得处理器还被?#28210;?br />为:
基于当前顶点与屏幕之间的距离以及当前顶点是否位于阴影区域中的至少一项,确定
是否在后续图像帧中更新当前顶点的着色值。
28.如权利要求25所述的设备,?#28210;校?#30830;定三维场景中将被执行着色的所选着色点的操
作包括:
在不对与均被执行着色以确定它们各自的着色值的所确定的着色点和另一非顶点着
色点邻近的至少一个顶点执行着色的情况下,通过对所述各自的着色值中的着色?#21040;?#34892;插
值,确定所述至少一个顶点的着色值。
29.如权利要求25所述的设备,?#28210;校?#30830;定三维场景中将被执行着色的所选着色点的操
作包括:
将三维场景中的顶点分组成顶点组;
基于着色级别,针对每个顶点组确定至少一个着色点。
30.一种三维渲染设备,包括:
图形管线,包括顶点着色器和像素着色器;
着色点着色器,被?#28210;?#20026;:
确定三维场景中将被执行着色的所选着色点;
对所确定的着色点执行着色;
基于对所确定的着色点执行着色的结果来确定三维场景的着色信息。
31.如权利要求30所述的设备,
?#28210;校?#30528;色点着色器将着色信息存储在纹理缓冲器中,
?#28210;校?#20687;素着色器基于存储在纹理缓冲器中的着色信息产生像素颜色信息以渲染图
像。
32.如权利要求30所述的设备,?#28210;校?#30528;色点着色器从三维场景的被顶点着色器针对着
色点着色器所识别的顶点之中确定所选着色点。

说明书

3D图形渲染方法和设备

本申请涉及一种三维(3D)渲染方法、非暂时性计算机可读存储介质以及三维(3D)
渲染设备。

技术领域

以下描述涉及执行三维(3D)渲染的图像处理技术。

背景技术

在三维(3D)计算机图形中,图形管线(graphics pipeline)或渲染管线
(rendering pipeline)表示被?#28210;?#20026;通过分阶段或管线方法将3D图像产生为二维(2D)光
栅图像或光栅化图像信息的一个或更多个处理器。

图形管线包括被?#28210;?#20026;对3D对象的顶点信息执行数学运算以向3D对象提供特殊
效果的顶点着色器以及被?#28210;?#20026;计算每个像素的颜色的像素着色器。顶点着色器可基于顶
点信息执行例如将3D对象改变到特殊位置和改变纹理或颜色的操作。像素着色器可应用例
如从纹理读取颜色、施加光以及对阴影、反射光或透明度进行处理的复杂操作。

发明内容

提供本发明内容以用简化的形式介绍对在下面的具体实施方式中进一步描述的
构思的选择。本发明内容不是旨在确定所要求保护主题的关键特征或必要特征,也不是意
图被用作帮助确定所要求保护主题的?#27573;А?br />

在一个总体的方面,一种用于渲染三维(3D)场景的3D渲染方法,所述方法包括:确
定3D场景中将被执行着色的所选着色点,对所确定的着色点执行着色,并基于对所确定的
着色点执行着色的结果来确定3D场景的着色信息。

确定3D场景中将被执行着色的所选着色点的步骤可以基于针对3D场景的区域的
所确定的着色级别,并且与确定针对3D场景的另一区域的所选着色点的步骤不同。

确定3D场景中将被执行着色的所选着色点的步骤导致不同数量的着色点可根据
以下事项而被确定:代表不同着色复杂度的多个着色级别中的哪个着色级别根据对3D场景
的区域的时间分析和/或空间分析被确定为所述针对3D场景的区域的所确定的着色级别。

确定3D场景中将被执行着色的所选着色点的步骤可包括:将少于3D场景的区域的
全部顶点的顶点确定为被执行着色的着色点。

将少于3D场景的区域的全部顶点的顶点确定为被执行着色的着色点的步骤还可
包括:将3D场景的区域中的3D对象上的至少一个非顶点点确定为也被执行着色的着色点。

将少于3D场景的区域的全部顶点的顶点确定为被执行着色的着色点的步骤可包
括:确定3D场景的区域中没有顶点被选为着色点。

将少于3D场景的区域的全部顶点的顶点确定为被执行着色的着色点的步骤可包
括:确定着色点包括3D场景的区域的至少一个顶点。

确定着色点包括3D场景的区域的至少一个顶点的步骤可包括:确定着色点包括3D
场景的区域的全部顶点。

所述方法还可包括:基于对少于3D场景的区域的全部顶点的所述顶点的一个或更
多个着色的结果,针对除少于3D场景的区域的全部顶点的所述顶点之外的3D场景的区域的
其余顶点对着色?#21040;?#34892;插值,并通过从所确定的3D场景的着色信息确定像素颜色值来渲染
图像。

确定3D场景中将被执行着色的所选着色点的步骤可包括:将3D场景中的3D对象的
全部顶点和3D对象上另外的点确定为将被执行着色的所选着色点。

确定3D场景中将被执行着色的所选着色点的步骤可基于对3D场景的空间特征和
时间特征的多个分析中的至少一个分析。

确定3D场景中将被执行着色的所选着色点的步骤还可包括:基于以下项中的至少
一项来确定所选着色点?#27827;?#34394;拟光源关联的信息、与虚拟相机关联的信息、与3D场景中的3D
对象关联的信息以及对先前图像帧执行着色的结果。

与虚拟光源关联的信息可包括与虚拟光源的位置、颜色、亮度、方向、角度和移动
速度中的至少一个相关的信息,与虚拟相机关联的信息可包括与虚拟相机的位置、方向、角
度和移动速度中的至少一个相关的信息,与3D对象关联的信息可包括与3D对象的形状、颜
色和材料中的至少一个相关的信息。

确定3D场景中将被执行着色的所选着色点的步骤还可包括:将3D场景中的顶点分
组成不同的顶点组,并针对每个顶点组确定至少一个所选着色点。

将3D场景中的顶点分组成不同的顶点组的步骤可包括:基于以下项中的至少一项
将顶点分组成不同的顶点组:顶点各自的位置、顶点各自的法线、对先前图像帧执行着色的
结果以及哪些顶点用于相同的3D对象。

确定3D场景中将被执行着色的所选着色点的步骤还可包括基于以下项中的至少
一项针对所述不同的顶点组中的每个顶点组确定着色级别:虚拟光源的移动、虚拟相机的
移动、3D对象的移动、邻近顶点之间的亮度差以及顶点组中的顶点的位置。

确定3D场景中将被执行着色的所选着色点的步骤还可包括:基于针对每个顶点组
分别确定的着色级别,确定每个顶点组的将被执行着色的各个着色点。

将3D场景中的顶点分组成不同的顶点组的步骤可包括:针对每个顶点组确定与顶
点关联的各自的层次结构信息,?#28210;校?#27599;个层次结构信息表示针对每个顶点组的多个不同
复杂度级别,针对每个顶点组确定至少一个所选着色点的步骤可包括:基于从所述各自的
层次结构信息分别确定了哪个复杂度级别来对每个顶点组进行着色,针对每个顶点组选择
各自不同的着色点。

确定3D场景的着色信息的步骤可包括?#21644;?#36807;对被执行着色以确定它们各自的着色
值的着色点的各自的着色值之中的着色?#21040;?#34892;插值,来确定与被执行着色以确定它们各自
的着色值的着色点邻近的顶点的着色值,而无需执行着色。

所述方法还可包括?#21644;?#36807;对所确定的着色点的着色?#21040;?#34892;插值来确定通过渲染3D
场景所获得的图像中的像素的颜色值,作为在确定三维场景的着色信息的步骤中所确定
的。

确定三维场景的着色信息的步骤可包括:将着色点各自的着色值和顶点的着色值
存储在纹理缓冲器中。

所述方法还可包括:使用存储在纹理缓冲器中的着色值来执行像素着色操作,以
确定图像中的像素的颜色值从而渲染图像。

对确定的着色点执行着色的步骤可包括:基于直接光源?#22270;?#25509;光源中的至少一个
的照明效果,确定所选着色点的颜色值,?#28210;校?#29031;明效果可包括遮挡的阴影效果。

在另一总体的方面,一种非暂时性计算机可读存储介质可存储当被处理器执行时
使得处理器执行这里描述的一个或更多个或全部方法的指令。

在另一总体的方面,一种三维(3D)渲染设备可包括至少一个处理器,所述至少一
个处理器被?#28210;?#20026;:确定3D场景中将被执行着色的所选着色点;对所确定的着色点执行着
色;并基于对所确定的着色点执行着色的结果来确定3D场景的着色信息。

所述设备还可包括:至少一个存储器,存储用于使所述至少一个处理器实施以下
操作的计算机可读指令:确定3D场景中将被执行着色的所选着色点的操作、对所确定的着
色点执行着色的操作以及基于对所确定的着色点执行着色的结果来确定三维场景的着色
信息的操作,?#28210;校?#25152;述至少一个处理器被?#28210;?#20026;执行指令。

处理器可被?#28210;?#20026;执行指令,使得处理器还被?#28210;?#20026;:基于当前顶点与屏幕之间
的距离以及当前顶点是否位于阴影区域内中的至少一项,确定是否在后续图像帧中更新当
前顶点的着色值。

确定3D场景中将被执行着色的所选着色点的操作可包括:在不对与均被执行着色
以确定它们各自的着色值的所确定的着色点和另一非顶点着色点邻近的至少一个顶点执
行着色的情况下,通过对所述各自的着色值中的着色?#21040;?#34892;插值,确定所述至少一个顶点
的着色值。

确定3D场景中将被执行着色的所选着色点的操作可包括;将3D场景中的顶点分组
成顶点组,并基于着色级别,针对每个顶点组确定至少一个着色点。

在另一总体的方面,一种三维(3D)渲染设备可包括:图形管线,包括顶点着色器和
像素着色器;着色点着色器,被?#28210;?#20026;:确定3D场景中将被执行着色的所选着色点,对所确
定的着色点执行着色,并基于对所确定的着色点执行着色的结果来确定3D场景的着色信
息。

着色点着色器可将着色信息存储在纹理缓冲器中,像素着色器可基于存储在纹理
缓冲器中的着色信息产生像素颜色信息以渲染图像。

着色点着色器可从3D场景的由顶点着色器针对着色点着色器所识别的顶点之中
确定所选着色点。

通过下面的具体实施方式、附图和权利要求书,其他特征和方面将是清楚的。

附图说明

图1是示出用于解释一个或更多个实施例的三维(3D)场景和3D场景中的顶点结构
的示例的示图。

图2是示出3D渲染方法的示例的流程图。

图3是示出确定着色点的方法的示例的流程图。

图4是示出确定着色点的示例的示图。

图5是示出基于着色级别来确定着色点的示例的示图。

图6是示出基于对着色点执行着色的结果来确定顶点的着色值的示例的示图。

图7是示出基于着色点的着色值确定渲染后的图像的像素值的示例的示图。

图8A和图8B是示出直接光源与间接光源之间的关系的示例的示图。

图9是示出3D渲染设备的示例的示图。

图10A和图10B是示出3D渲染设备的的示例的示图。

贯穿附图和具体实施方式,相同的附图参考标记表示相同或相似的元件。附图可
不按比例,并且为了清楚、说明和方便,附图中的元件的相对大小、比例和描述可被夸大。

具体实施方式

提供以下具体描述以帮助读者获得对这里描述的方法、设备和/或系统的全面理
解。然而,在理解本申请的公开之后,这里描述的方法、设备和/或系统的各种变形、修改和
等同形式将是显而易见的。例如,这里描述的操作顺序仅仅是示例,并不限于这里阐述的这
些,而是除了必须以特定顺序发生的操作以外,可如在理解本申请的公开之后将显而易见
的那样被改变。此外,为了更加清楚?#22270;?#26126;起见,对本领域已知的功能的描述可被省略。

这里描述的特征可以以不同的形式实现,并?#20063;?#34987;解释为受限于这里所描述的示
例。相反,已经提供了这里描述的示例仅为了示出在理解本申请的公开之后将显而易见的
实施这里描述的方法、设备和/或系统的多种可行方式中的一些方式。

这里使用的术语仅是用于描述特定示例的目的,而不是用于限制本公开。如这里
所使用,除非上下文明确地另有指示,否则单数形式也意图包括复数形式。如这里所使用,
术语“和/或”包括相关列出项中的?#25105;?#19968;项或?#25105;?#20004;项或更多项的?#25105;?#32452;合。如这里所使
用,术语“包括?#34180;ⅰ?#21253;含”和“具有?#21271;?#26126;描述的特征、数?#24103;?#25805;作、元件、组件和/或其组合的存
在,但不排除一个或更多个其他特征、数?#24103;?#25805;作、元件、组件和/或其组合的存在或添加。

此外,诸如第一、第二、A、B、(a)和(b)等的术语可在这里用来描述组件。这些术语
中的每一个术语不用于定义相应组件的本质、顺序或次序,而是仅用于将相应组件与其他
组件区分开。

这里描述的示例的特征可如在理解本申请的公开之后将显而易见的那样以各种
方式进行组合。此外,虽然这里描述的示例具有各种各样的?#28210;茫?#20294;是其他?#28210;?#22914;在理解本
申请的公开之后将显而易见的那样是可能的。

可应用以下将进行描述的示例,以通过使用相应?#28210;?#30340;一个或更多个处理器渲染
(即,渲染处理)三维(3D)场景来从3D信息(诸如虚拟对象或捕获的真实世界的对象)产生、
创建或转换渲染后的图像或渲染后的图像的信息。3D场景的渲染可包括基于从向3D场景提
供照明效果的虚拟光源辐射的光来确定3D对象的颜色的着色(shading)处理。

图1是示出3D场景110和3D场景110的顶点结构140的示例的示图。

在基于顶点的光着色中,仅作为示例,当例如按照顶点级别对3D对象的顶点执行
着色时,可通过在执行着色之后对顶点的着色?#21040;?#34892;插值来随后确定3D对象的像素的颜色
值。仅作为示例,一个或更多个实施例的图形管线可包括顶点着色器(例如,在图形管线中
的可选光栅化器前面),所述顶点着色器被?#28210;?#20026;对或为3D对象的顶点或顶点信息执行数
学运算,并还可例如用于按照顶点级别向最终渲染的3D对象提供特殊效果。3D图形信息可
被顶点着色器获得或被提供给顶点着色器,顶点着色器可被?#28210;?#20026;产生或确定顶点,或者
顶点信息中的一些或全部顶点信息可被顶点着色器获得/被提供给顶点着色器。图形管线
还可包括被?#28210;?#20026;计算每个像素(例如,诸如由这样的光栅化器产生、识别或输出的像素或
从3D对象的顶点信息识别/确定的像素)的颜色的像素着色器。图形管线可以是处理器或硬
件处理元件或者处理器或硬件处理元件的组合。此外,根据实施例,可能存在可同步和/或
异步运行的许多图形管线。图形管线中的一些或全部图形管线还可被并行地?#28210;謾?br />

顶点着色器可被?#28210;?#20026;基于顶点信息执行例如按照顶点级别将3D对象的位置改
变到诸如归一化空间的空?#28210;?#30340;特殊位置中的操作。通常,顶点着色器可被?#28210;?#20026;执行一
个或更多个另外的计算操作(诸如,添加和/或改变3D对象的纹理或颜色,或者针对按照顶
点级别进行光着色的选择性的照明计算)。同样,通常像素着色器可被?#28210;?#20026;基于图形管线
中的先前运算的结果,实现例如按照像素级别从设置或确定的纹理读取颜色的一个或更多
个复杂运算,以最终计算场景、帧、地区、区域、对象或对象部?#31181;?#30340;每个像素的颜色。例如,
典型像素着色器还可被?#28210;?#20026;从定义的光源选择性地施加光,并对阴影、反射光或透明度
进行处理,以最终计算每个像素的颜色。此外,根据实施例,图形管线还可包括光栅化器,或
者相同的操作可通过图形管线的另一着色器阶段或者顶点着色器或像素着色器二者择一
来实?#24103;?#20809;栅化是指计算机或计算技术中的表示图像信息的类型或方式,并可包括产生和/
或输出例如以预设间隔组织或排序的二维布置的像素。作为示例,可对3D图形信息执行光
栅化以产生或输出这样的像素,使得随后能够按照像素级别执行另外的操作,?#28210;校?D图形
信息可能不是像素格式的。在一个或更多个实施例中,图形管线中的光栅化器可对因由例
如至少一个顶点着色器所执行的操作而产生的顶点信息或顶点执行光栅化。仅作为非限制
性的示例,图9示出示例顶点着色器910和像素着色器920。

针对典型顶点着色器,由顶点着色器产生的顶点结构的复杂度可得自于原始或输
入的3D图形信息的每个区域的几何复杂度,所以当通常由顶点着色器执行光着色或按照顶
点级别执行光着色时,所得着色复杂度可因着色的复杂度或因是否施加了特殊效果(例如,
镜面反射和漫反射)而产生。因此,在这样的典型的基于顶点的着色或按照顶点级别执行的
光着色中,图1的3D场景110中的每个区域的几何复杂度可不对应于着色复杂度。例如,当执
行这样的典型的基于顶点的着色时,尽管需要或期望高着色复杂度(诸如基于典型发光效
果的数量或位置),但由于所得顶点的数量因?#22270;?#20309;复杂度而较少,因此图像质量可能在区
域120中发生劣化。这可被称为作为结果的顶点复杂度方面的欠采样。可选择地,在顶点的
数量因高几何复杂度而较大且需要或期望低着色复杂度的区域130中,典型的另外的每个
顶点着色操作可能是不必要的。这可被称为作为结果的顶点复杂度方面的过采样。这还与
当由典型像素着色器执行典型着色操作时的情况类似,?#28210;校?#22312;该情况下,由于可按照像素
级别执行着色,因此可能存在不必要数量的被执行的典型着色操。这里,仅作为示例,不必
要术语可表示被典型执行的下述一些操作或处理量:如果所述一些操作或处理量未被执
行,则整体处理能?#32531;?#36153;更少的时间或更少的处理功?#21097;?#33021;够使用更少的能量消耗而被执
行,或者能够实现整体增加的渲染帧?#30465;?br />

一个或更多个实施例包括3D渲染方法和设备,所述3D渲染方法和设备可基于3D场
景110的空间特征或时间特征适应性地确定将被执行着色的所选着色采样点(也被称为着
色点),并对确定的着色采样点执行着色以在不?#26723;?#28210;染后的图像的质量的情况下促使更
快的着色(诸如,具有使上述过采样和欠采样最小化的自适应能力)。例如,在顶点的数量与
着色复杂度相比较大的区域(例如,区域130)中,3D渲染方法和/或设备的一个或更多个实
施例可?#26723;?#25110;选择?#26723;?#30528;色采样点的密度,以例如与典型地针对每个顶点执行着色相比降
低执行着色的次数,并由此提高渲染处理的速度。此外,在顶点的数量与着色复杂度相比较
低的区域(例如,区域120)中,3D渲染方法和/或设备的一个或更多个实施例可增加或选择
增加着色采样点的密度,以例如与典型地仅针对每个顶点执行着色相比增加执行着色的次
数,并由此提高渲染处理的图像质量。

如上面所提到的,可与图形管线结合(诸如,与?#25105;?#30340;着色器处理器结合)例如作
为单个处理器,或作为分开的自适应着色器处理元件或处理器,来执行自适应着色。在示例
中,诸如图9中所示出的,可通过作为与一个或更多个图形管线并行的另一处理器或处理元
件的一个或更多个着色点着色器来执行自适应着色。在示例中,图9的一个或更多个着色点
着色器930和/或图形管线可被?#28210;?#20026;单个处理器、具有多个核的单个处理器或可被可变地
设计为包括着色点着色器930和图形管线的这样的处理元件的一个或更多个这样的处理
器。关于图9,一个或更多个顶点着色器910和/或一个或更多个像素着色器920可如上所述
被?#28210;?#24182;与着色点着色器930的自适应光着色相协作地分别进行操作。在示例中,一个或更
多个顶点着色器910和/或一个或更多个像素着色器920可被?#28210;?#25110;通过例如固件而被控制
以如这里所描述的与一个或更多个相应着色点着色器930相协作地进行操作。

例如,正如下面将进一步更详细地解释的那样,当着色复杂度使得例如在顶点中
的一个或更多个顶点或全部顶点被用作着色采样点的情况下需要或期望比顶点更多的着
色采样点,或者在顶点中的一个或更多个顶点之间的区域中或顶点中的一个或更多个顶点
附近的区域中期望更多的着色采样点时,例如,所述一个或更多个着色点着色器930可确定
顶点之间或除顶点以外的另外着色采样点,从而单独或者结?#20808;?#37096;或所选顶点着色采样点
使用以执行光着色。这里,这样的示例需要或期望相同、更多还是更少的着色复杂度可基于
3D场景的所确定的空间特征和/或所确定的时间特征,或帧内或帧之间的相应比较,因而场
景、帧、地区、区域、对象或对象部分的渲染可被自适应执行?#28304;?#36827;更?#34892;?#30340;渲染(诸如,与
前述仅典型顶点着色器或仅典型像素着色器着色方法相比,在不?#26723;?#28210;染后的图像的质量
的情况下渲染更快)。

虽然上面已经?#33268;?#20102;特定实施例或示例,但是应充?#31181;?#24352;这样的实施例或示例仅
为了示例目的,并不意图限制本公开,另外和/或可选实施例也是可用的。

图2是示出3D渲染方法的示例的流程图。3D渲染方法可由3D渲染设备(例如,图9中
示出的3D渲染设备900以及图10A和图10B中示出的3D渲染设备1010和3D渲染设备1015)执
行,注意实施例不限于此。因此。下面虽然将通过参照各个3D渲染设备对图2的方法以及图3
至图8B的各个方法进行解释,但是实施例可包括(但不限于)这里描述的3D渲染设备中的任
意设备或?#25105;?#32452;合。

参照图2,在操作210中,3D渲染设备确定3D场景中将被执行着色的着色点(即,上
述着色采样点)。3D渲染设备可将3D场景中的?#25105;?#28857;确定为着色点。例如,3D渲染设备可将
3D场景中的3D对象的顶点所位于的点还有顶点所不位于的点确定为将被执行着色的着色
点。着色点可基于3D场景的空间特征和时间特征中的至少一个来确定。将被执行着色的点
可基于3D场景的空间特征或时间特征而变化。例如,在一些地区或区域中,着色点可被确定
为仅与诸如由顶点着色器在当前帧或先前帧中预定义或确定的相应顶点中的一个或更多
个顶点或者全部顶点对应,着色点可被确定为与另外的非顶点着色点和顶点中的一些或全
部对应,或者着色点可被确定为仅与另外的非顶点着色点对应。

3D渲染设备可基于例如与被?#28210;?#20026;提供照明效果的一个或更多个虚拟光源关联
的信息、与被?#28210;?#20026;确定观看3D对象的各个视点的一个或更多个虚拟相机关联的信息、与
3D场景中的3D对象关联的信息以及先前图像帧的着色信息来确定这样的着色点。例如,与
虚拟光源关联的这样的信息可包括与例如虚拟光源的位置、颜色、方向和移动速度、虚拟光
源与3D场景中的3D对象之间的距离以及在虚拟光源与3D对象之间形成的角度相关的信息。
例如,与虚拟相机关联的这样的信息可包括与例如虚拟相机的位置、方向和移动速度以及
在虚拟相机与3D场景中的3D对象之间形成的角度相关的信息。例如,与3D对象关联的这样
的信息可包括与例如3D对象的形状、颜色和材料相关的信息,并且先前图像帧的这样的着
色信息可包括先前图像帧中使用的顶点的着色值。

在示例中,3D渲染设备可将顶点分组成多个顶点组,并针对将被分别执行着色的
每个顶点组确定一个或更多个着色点。例如,所述方法可包括:基于3D场景的空间特征或时
间特征确定当前场景、帧、地区、区域、对象、对象部?#21482;?#30456;应顶点组的着色复杂度。确定着
色复杂度的步骤可包括:对这样的场景、帧、地区、区域、对象、对象部?#21482;?#30456;应顶点组内和/
或之间的空间特征和/或时间特征进行比较,以确定是期望细着色还是粗着色,或者是期望
较大的着色复杂度还是较小的着色复杂度。例如,当确定期望细着色时,例如,除了包括在
相应顶点组中的顶点之外,3D渲染设备还可通过将3D场景中的另外的着色点另外确定为着
色点来增加将被执行着色的着色点的数量。当确定期望粗着色或较小的着色复杂度时,无
论着色点是否是顶点,3D渲染设备都可将包括在相应顶点组中的顶点之中的仅仅一个或仅
仅一些顶点或者3D场景中的至少一个着色点确定为着色点。当被确定为必要的或所期望的
时,除3D场景中的3D对象的例如相应顶点组的顶点之中的一些顶点之外,3D渲染设备还可
将3D场景中的非顶点点确定为着色点。因此,例如,在无需如通过典型顶点着色器光着色方
法或典型像素着色器光着色方法会分别执行的那样对3D场景中的3D对象的全部顶点或像
素执行着色的情况下,3D渲染设备可通过基于3D场景的空间特征或时间特征确定着色点来
更加?#34892;?#22320;执行着色。将参照图3提供对通过3D渲染设备确定着色点的更加详细的描述。

在操作220中,例如,在已经确定了着色点之后,3D渲染设备对确定的着色点执行
着色。3D渲染设备可通过对着色点执行着色来确定作为着色点的着色值的着色点的颜色
值。例如,着色可基于至少一个虚拟光源的照明效果。照明效果可基于?#26377;?#25311;光源发出的光
的特征(例如,光的颜色和方向)和3D场景中的3D对象的特征(例如,3D对象的颜色和材料),
并可包括遮挡的阴影效果。虚拟光源可包括被?#28210;?#20026;直接向3D对象发出光的直接光源和被
?#28210;?#20026;从自直接光源发出的光被反射、衍射或折射的区域发出光的间接光源。

例如,图8A和图8B是示出直接光源与间接光源之间的关系的示例的示图。直接光
源?#22270;?#25509;光源是向计算机图形中的3D对象提供照明效果的虚拟光源。直接光源是被?#28210;?#20026;
直接向3D对象发出光的虚拟光源,间接光源是被?#28210;?#20026;从自直接光源发出的光被反射、衍
射或折射的区域发出光的虚拟光源。

图8A示出3D模型中的3D对象820和3D对象830以及直接光源810。虽然出于描述的
方便而在图8A中示出单个直接光源,但是多个直接光源可出现在3D模型中。参照图8A,直接
光源810直接向3D对象820发出光。基于直接光源810与3D对象820之间的位置关系,在3D对
象820将被渲染的虚拟空?#28210;?#30830;定亮区域和暗区域。从直接光源810发出的光可被3D对象
820反射、衍射或折射。例如,如图8A中所示,从直接光源810输出的光840可被3D对象820反
射,并再次被作为另一3D对象的3D对象830(例如,包围3D对象820的墙)反射。可按照虚拟相
机815的视点渲染3D对象820和3D对象830,并可将渲染后的图像提供给用户。

除从直接光源810输出的光的直接照明效果之外,3D渲染设备还可施加从间接光
源输出的光的照明效果,并产生精细的渲染后的图像。

在另一实施例中,3D渲染设备可通过在3D空?#28210;?#38500;布置直接光源之外还布置间接
光源来获得更加逼真的照明效果。

例如,图8B示出例如位于从直接光源810输出的光840将被3D对象820反射的区域
的间接光源855以及例如位于光840将被3D对象830反射的区域的间接光源850?#22270;?#25509;光源
860。在渲染3D对象820和3D对象830的操作中,除直接光源810的照明效果之外,间接光源
850、间接光源855?#22270;?#25509;光源860的照明效果可被施加到3D对象820和3D对象830。间接光源
850、间接光源855?#22270;?#25509;光源860可受直接光源810的影响,并还受间接光源850、间接光源
855?#22270;?#25509;光源860所位于的区域的特征的影响。例如,间接光源850、间接光源855?#22270;?#25509;光
源860的照明效果可受间接光源850、间接光源855?#22270;?#25509;光源860中的每一个所位于的3D对
象的表面的颜色或材料影响。

回到图2,在操作230中,3D渲染设备基于操作220中执行的着色的结果确定3D场景
的着色信息。3D渲染设备可使用插值来确定3D场景的整体着色信息。例如,3D渲染设备可通
过对操作220中确定的着色点的着色?#21040;?#34892;插值来确定与着色点邻近的顶点(即,在操作
220?#24418;?#25191;行着色的顶点)的着色值。虽然将顶点与一个或更多个着色点中的每个着色点之
间的距离应用作为权值并执行插值的重心插值(barycentric interpolation)可在这里被
使用,但是插值不限于这样的重心插值,而且各种类型的插值可被使用。

如上所述,3D渲染设备可存储所确定的操作220中被执行着色的着色点的着色值,
并存储通过操作230中的插值确定的顶点的着色值。着色点的着色值和顶点的着色值可被
分别存储在例如一个或更多个实施例的图形处理器(GPU)的纹理缓冲器中,并且存储的着
色值可用于对后续图像帧执行的着色以及用于针对后续管线操作确定像素的颜色值。此
外,着色点和顶点的位置和属性可被存储在纹理缓冲器中。使用存储的着色值,3D渲染设备
可减少用于着色操作的计算量或运算量并减少?#20102;?#30340;发生。在一个或更多个实施例中,作
为非限制性的示例,GPU可由图9的顶点着色器910和/或像素着色器920以及着色点着色器
930中的一个或更多个的组合或图10A或图10B的处理器1020或处理器1020和存储器1030的
组合表示。这里,还注意到,图9的顶点着色器910、像素着色器920和着色点着色器930中的
每一个可分别或共同包括用于存储或缓存操作之间的信息的存储器(即,高速缓冲存储
器),CPU还可包括或访问可存储例如针对不同场景、帧或对象的用于图形处理并由GPU的图
形管线输出的多种3D图形信息的外部存储器。

在示例中,3D渲染设备可自适应地或选择性地更新3D场景的连续图像帧中的顶点
的着色值。因此,图像帧中的相应顶点的着色值可根据不同的时间间隔来更新。着色值的更
新可包括通过执行着色来确定顶点的着色值。例如,3D渲染设备可通过对每个图像帧执行
着色来更新靠近屏幕的顶点(例如,具有表示更加显著或明显的顶点的较小的深度或靠近
的位置)的颜色值,并按照预设数量的图像帧的间隔更新距屏幕远或阴影区域中出现的顶
点(例如,具有表示不太显著或明显的顶点的远处位置或阴影区域位置)的颜色值,而不是
针对每个图像帧更新颜色值。按这种方式,与为了图像质量的目的而?#36824;?#39030;点的显著度或
明显度将同?#22791;?#26032;所有顶点的着色信息的典型顶点级别着色方法相比,通过观察而可能更
加显著或明显的顶点的着色值可比不太显著或明显的顶点的着色值被更频繁地更新。

3D渲染方法还可基于3D场景的着色信息产生渲染后的图像。3D渲染设备可基于着
色点的着色值和通过插值确定的顶点中的?#25105;?#19968;个顶点的着色值来确定包括在渲染后的
图像中的像素的颜色值。例如,3D渲染设备的着色点着色器或像素着色器可通过对一个或
更多个着色点的着色值以及与正被渲染的特定像素邻近的一个或更多个顶点的着色?#21040;?br />行插值来确定当前像素的像素值。可对包括在渲染后的图像中的每个像素重复地执行这样
的插值,并可通过重复执行插值来产生渲染后的图像。在像素着色器为颜色值确定而执行
插值的示例中,由着色点着色器存储到仅作为示例的纹理缓冲器中的着色值可被像素着色
器访问或被提供给像素着色器,或者所述着色值可在没有存储在这样的纹理缓冲器中的情
况下直接由着色点着色器提供。

图3是示出确定着色点的方法的示例的流程图。

参照图3,在操作310中,3D渲染设备可将3D场景中的顶点分组成多个顶点组。3D渲
染设备可基于顶点各自的位置和属性(例如,仅作为示例,基于顶点的法线和颜色,基于对
先前图像帧执行的相应着色的结果或基于顶点是否包括在同一3D对象中)将顶点分组成顶
点组。作为示例,3D渲染设备可将顶点之中被估计为具有相似属性的顶点设置为顶点组。

在示例中,3D渲染设备可将位置彼此邻近并具有相似属性(例如,法线、深度和颜
色)的顶点分组到同一顶点组。3D渲染设备可基于初步的估计或对先前图像帧执行的着色
的结果来确定被估计为具有相似属性的顶点。例如,3D渲染设备可将先前图像帧中具有相
似颜色的顶点分组成当前帧的同一顶点组。

在另一示例中,3D渲染设备可将包括在相同3D对象中的顶点或具有相似形状特征
的顶点分组?#19978;?#21516;的顶点组。在又另一示例中,3D渲染设备可基于顶点的颜色随时间(例
如,在帧之间)的变化将颜色随时间(例如,在帧之间)变为彼此相似的顶点分组?#19978;?#21516;的顶
点组,而?#36824;?#24444;此之间的空间分离。

3D渲染设备可针对每个顶点组确定与一个或更多个着色点关联的层次结构信息。
层次结构信息可基于将在操作320中被确定的着色级别来定义将被执行着色的着色点的层
次结构。例如,层次结构信息可以是将顶点组的顶点组织成一个或更多个不同的级别,其
中,所述一个或更多个不同的级别基于确定的着色级别分别限定哪个顶点或非顶点点被确
定为着色点或者顶点或非顶点点是否被确定为着色点。在实施例中,还可将层次结构信息
视为树结构,例如,在所述树结构中,根据顶点被布置在树结构的哪个级别,可针对顶点和/
或可能的一个或更多个非顶点着色点中的一个或更多个的最终着色确定着色采样。因此,
在下面,当?#33268;?#30528;色级别时,正如?#22270;?#21035;被理解为包括比另一级别更多的着色点的那样,可
理解高级别表?#26223;?#25324;比另一级别更少的着色点的顶点着色点和/或非顶点着色点的着色采
样/集合。例如,当着色级别被调高时,顶点组中将确定的着色点的数量会减少。当着色级别
被调低时,顶点组中将确定的着色点的数量会增加。作为供替代的选择,一些高级别和?#22270;?br />别可表示采样点的整体数量相同,但被确定为着色点的顶点的数量分别更少或更多,或者
采样点的整体数量相同但非顶点着色点的数量分别更少或更多。

在操作320中,3D渲染设备基于与着色点关联的层次结构信息针对每个顶点组确
定着色级别。将被执行着色的顶点组中的至少一个着色点可基于着色级别来确定。这里,包
括在顶点组中的顶点中的一些顶点可被确定为着色点,或者3D场景中不是顶点所位于的点
的另一点可被确定为示例非顶点着色点。

3D渲染设备可基于所分析出的3D场景的时间特征(例如,虚拟光源、虚拟相机和3D
对象基于时间的移动)或所分析出的3D场景的空间特征(例如,顶点的位置和相邻顶点之间
的亮度差)确定着色级别或着色级别的变化。这里,基于3D场景的时间特征和/或空间特征
分析,可针对顶点组确定不同的着色级别,或可针对顶点组确定转换到更高级别或更?#22270;?br />别的期望。

在时域中,当虚拟光源、虚拟相机或3D对象的移动速度大于各自的阈值时,3D渲染
设备可将着色级别调高以例如减少着色点的数量。因此,用于根据典型着色级别执行着色
所将花费的时间量可被减少。当选择、需要或确定期望快速的渲染处理时,3D渲染设备可将
整体着色级别调高。相反地,当虚拟光源、虚拟相机或3D对象的移动速度小于这样的阈值
时,3D渲染设备可为了更精细的表达而将着色级别调低以例如增加着色点的数量。这里,这
样的各自的移动速度阈值可相同或不同,并可随着移动速度不同而线性或非线性地改变。

可基于3D场景的时间特征来自适应地确定着色级别。例如,当虚拟相机或3D对象
的移动速度较高时(例如,诸如在虚拟相机或3D对象被确定为与在先前帧之间相比在最新
帧之间已经移动了更大的量的情况下),着色级别可被调高。相反地,当虚拟相机或3D对象
的移动速度?#31995;?#26102;,着色级别可被调低。

3D渲染设备可使用先前图像帧的颜色信息估计每个区域基于时间的亮度变化,并
将亮度变化大的区域的着色级别调低且将亮度变化小的区域的着色级别调高。为了识别将
着色级别调低或调高的充分度,所确定的亮度变化可与各自的可相同或不同并可随着亮度
级别不同而线性或非线性地改变的?#31995;?较高的亮度变化阈?#21040;?#34892;比较。

当顶点在空间域?#24418;?#20110;屏幕的所确定的中心区域中或所确定的或用户选择的感
兴趣区域(ROI),或者当相邻顶点之间的亮度变化被确定为大时,3D渲染设备可为了更精细
的表达而将着色级别调低。相反,当顶点被确定为位于屏幕的外围,或相邻顶点之间的亮度
变化被确定为小时,3D渲染设备可例如为了减少着色点的数量而将着色级别调高,并提高
渲染处理的速度。这里,例如,在对当前帧中的相邻顶点执行着色之前,3D渲染设备可使用
先前图像帧的着色信息估计当前帧中的相邻顶点之间的亮度差。

3D渲染设备还可针对例如自动地或基于用户交互或选择而被确定或设置为聚焦
的区域以及其余区域设置不同的着色级别,或者针对模糊效果被自动设置或被用户设置为
应用到的区域以及其余区域设置不同的着色级别。例如,在诸如?#21453;?#24335;显示器(HMD)的基于
镜头的装置中,通过用户的眼睛看到的像素的大小和密度可不同。在这样的示例中,3D渲染
设备可在将被自动聚焦的中心区域或检测到目光的区域中将着色点的密度设置得相对较
高,并针对包括中心区域或检测到目光的区域的地区或区域将着色级别调低。在这个示例
中,3D渲染设备可在除中心区域或检测到目光的区域之外的其余区域中将密度设置得相对
低,并针对其余区域将着色级别调高。

在示例中,3D渲染设备可例如从最高着色级别开始确定每个顶点组的最佳着色级
别,并按照降序贯穿着色级别向最低着色级别进行,?#28210;校?#26368;高着色级别是最粗的着色级
别。3D渲染设备可贯穿全部着色级别进行或在到达最低着色级别之前在确定的最佳级别停
止。例如,3D渲染设备可基于与着色点关联的层次结构信息,将基于第一着色级别执行第一
着色的结果与基于第二着色级别执行第二着色的结果进行比较,并可根据比较的结果基于
第一着色与第二着色之间的着色级别的差来计算颜色值的差,?#28210;校?#31532;一着色级别是最高
着色级别,第二着色级别低于第一着色级别。由于根据与着色点关联的层次结构信息,第二
着色级别低于第一着色级别,所以在第二着色级别,着色点的数量可大于在第一着色级别
的着色点的数量。响应于所计算的颜色值的差小于阈值,3D渲染设备可将作为当前着色级
别的第一着色级别确定为当前顶点组的着色级别。相反地,响应于所计算的颜色值的差大
于或等于阈值,3D渲染设备可基于第二着色级别和第三着色级别计算颜色值的差,并可确
定所计算的差是否小于阈值,?#28210;校?#31532;三着色级别是低于第二着色级别的着色级别。响应于
所述差小于阈值,3D渲染设备可将第二着色级别确定为当前顶点组的着色级别。3D渲染设
备可用更低着色级别重复地执行所计算出的颜色值的差的比较处理,直到将颜色值的差变
得小于阈值的着色级别确定为将被应用到当前顶点组的最终着色级别为止,或者直到到达
最低着色级别(在这种情况下,最低着色级别被设置为将被应用到当前顶点组的最终着色
级别)为止。

从最高着色级别开始确定将被应用到顶点组的最佳着色级别的操作可每当图像
帧被渲染时被执行,或可每当相机视点、光源的位置或对象的位置改变时被执行。在另一实
施例中,从最高着色级别开始确定将被应用到顶点组的最佳着色级别的操作可不每当图像
帧被渲染时执行,而可仅在相机视点、光源的位置或对象的位置改变?#34987;?#24403;预定数量的帧
或时?#25105;?#32463;过去时被执行。然而,示例的?#27573;?#19981;限于这里描述的示例。当3D渲染设备确定相
机视点、光源的位置或对象的位置的变化在连续图像帧之间?#36824;?#22823;时,针对当前图像帧确
定着色级别的操作可被省略,并且在先前图像帧中确定的着色级别可被应用在当前帧的着
色中。变化的充?#20013;?#21487;基于变化是否满足变化阈值。

在操作330中,3D渲染设备可基于着色级别针对每个顶点组确定至少一个着色点,
例如,在实施例中,每个着色级别可包括至少一个着色点,一些实施例使每个?#31995;图?#21035;比较
高级别具有更多数量的可确定的着色点。3D渲染设备可基于每个顶点组的层次结构信息确
定根据着色级别将被实际执行着色操作的着色点。

更具体地,针对顶点组的每个着色级别,可根据以下项中的?#25105;?#19968;项确定着色点:
(1)着色点可包括仅包括在当前顶点组中的全部顶点;(2)着色点可包括全部顶点以及一个
或更多个另外的非顶点点;(3)着色点可包括当前顶点组的顶点中的仅一些顶点;(4)着色
点可包括顶点中的仅一些顶点以及一个或更多个另外的非顶点点;(5)着色点可包括一个
或更多个非顶点点而不包括顶点;(6)针对当前顶点组可不设置或确定着色点,所以可能针
对当前顶点组可不执行相应的着色。例如,在整个3D场景中,针对对应于顶点组的区域,包
括在顶点组中的全部顶点可根据选项(1)被确定为着色点。针对对应于另一顶点组的区域,
不是包括在其他顶点组中的顶点的至少一个点可被确定为着色点。此外,如上面此所提到
的,针对不同的顶点组可有所不同的确定着色级别。此外,作为示例,虽然在上面的选项(3)
和选项(4)中,顶点中的仅一些顶点可被确定为着色点,但是针对用于不同顶点组的选项
(3)和选项(4),确定的顶点的数量或相对位置可不同,这正如针对用于不同顶点组的选项
(2)、选项(4)和选项(5)中的?#25105;?#19968;个,选项(2)、选项(4)和选项(5)的非顶点点的数量或相
对位置可不同。

图4是示出确定着色点的示例的示图。在图4的示例中,参考标记410表?#26223;?#25324;多个
顶点(例如,顶点422、顶点424、顶点426、顶点428、顶点430、顶点432和顶点434)的3D对象,
参考标记440表示针对3D对象410确定的多个着色点(例如,着色点422、着色点424、着色点
430、着色点434、着色点450、着色点452、着色点454和着色点456)。

在典型的基于顶点的渲染方法中(例如,在仅在顶点着色器中典型地执行光着色
的情况下),将对3D对象410的顶点422至顶点434中的每个顶点执行着色。然而,在一个或更
多个实施例中,3D渲染设备可基于3D场景的时间特征和/或空间特征自适应地确定将被执
行着色操作的那些点。如在图4中所示,3D渲染设备确定3D对象410的顶点422至顶点434中
的仅一些顶点将是将被执行着色的着色点,例如,将仅对顶点422、顶点424、顶点430和顶点
434执行着色,此外,3D渲染设备还确定也将对另外的非顶点点(例如,点450、点452、点454
和点456)执行着色。相应地,根据所确定的这样的所选顶点和另外的非顶点点的相应着色
级别,3D渲染设备可仅对点422、点424、点430、点434、点450、点452、点454和点456执行着
色。此后,3D渲染设备可使用来自对着色点422、着色点424、着色点430、着色点434、着色点
450、着色点452、着色点454和着色点456执行着色的结果来确定未被执行着色的其余顶点
(例如,顶点426、顶点428和顶点432)的着色值。例如,3D渲染设备可通过对已经确定的着色
点430、着色点452和着色点454的着色?#21040;?#34892;插值来确定顶点432的着色值。插值可基于设
置或预定数量的最近相邻着色点或将被插值的点的设置距离内的那些最近相邻着色点,或
者二者方法的结合。

图5是示出基于着色级别确定着色点的示例的示图。

在图5的示例中,参考标记510表?#26223;?#25324;多个顶点515的3D对象。3D渲染设备可产生
与3D对象510的顶点515关联的层次结构信息(例如,将顶点515区分成代表不同的相应着色
复杂度和增量着色复杂度的两个或更多个层次的着色级别),并基于层次结构信息中所表
示的层次着色级别中被确定的着色级别来确定执行着色的着色点。将被执行着色的着色点
可在3D对象510中基于着色级别来确定。例如,当着色级别被调低时,将被执行着色的着色
点的数量可增加。

参照图5,在第一着色级别520,3D对象510的顶点515中的一些顶点522可被确定为
着色点。在第一着色级别520,仅顶点522将被确定为着色点,而顶点525将不会被确定为着
色点。3D渲染设备可对作为着色点的顶点522执行着色,以确定它们各自的着色值,然后通
过分别使用顶点522的所选着色?#21040;?#34892;插值来确定其余顶点525的着色值/对其余顶点525
的着色?#21040;?#34892;插值。在着色级别520的这个示例中,3D渲染设备可仅对顶点522执行着色操
作,而不是对全部顶点525执行着色操作,这可造成比在全部顶点515被着色处理的情况下
更快地执行渲染。

仅作为插值的示例,3D渲染设备可对确定的着色点执行Delaunay三角化,将区域
分割成具有三角形形状的子区域,并通过使用确定的着色点的着色?#21040;?#34892;插值确定非着色
点顶点的着色值。

在另一示例中,3D渲染设备可基于地图集(atlas)确定顶点点和/或非顶点着色
点,并对确定的顶点着色点和确定的非顶点着色点执行着色,并通过使用确定的顶点着色
点和确定的非顶点着色点的着色?#21040;?#34892;插值来对?#25105;?#30340;其余非着色点顶点的着色?#21040;?#34892;
确定/插值,?#28210;校?#22320;图集可以是相应3D对象的未折叠的网格。

在第二着色级别530,3D对象510的顶点515都不被确定为着色点,而是,非顶点点
535被确定为着色点。3D渲染设备可对被确定为着色点的点535执行着色,并通过对非顶点
点535的着色的结果?#21040;?#34892;插值来确定顶点532的着色值。

在第三着色级别540,与第一着色级别520类似,3D对象510的顶点515之中的顶点
542被确定为着色点,导致顶点545不被确定为着色点。此外,3D对象510的区域中的非顶点
点546可被另外地确定为着色点。

例如,非顶点点546的位置可被确定为与3D对象510中或3D对象510上的位置对应,
或可基于使用3D对象510的区域的亮度值分布的概率值来确定。例如,当3D对象510中或3D
对象510上的点的亮度值增加时,该点被确定为着色点的概率或概率值可增加。仅作为示
例,如果亮度增加而超过阈值,或概率值大于阈值,则该点可被确定为着色点。亮度增加或
概率值可基于例如来自先前帧的信息。3D渲染设备可对顶点542和非顶点点546执行着色,
然后通过对顶点542的着色和非顶点点546的着色的结果?#21040;?#34892;插值来对其余的非着色点
顶点545的着色?#21040;?#34892;确定和插值。

在第四着色级别550,3D对象510的全部顶点515可被确定为着色点,可对顶点515
中的每个顶点执行着色。在这个示例中,可不存在确定的非顶点着色点。

在第五着色级别560中,除3D对象510的顶点515之外,3D对象510的非顶点点565可
被另外地确定为着色点。3D渲染设备可基于3D场景的代表3D对象510的时间特征或空间特
征分别确定非顶点点565。例如,当确定需要更精细的着色效果时(例如,当确定照明效果复
杂时),3D渲染设备可另外地确定3D对象510的区域中/上的将被执行着色的非顶点点565。
在示例中,非顶点点565可在3D对象510的区域中/上被随机确定。3D渲染设备可随后对顶点
515以及非顶点点565执行着色。在这个示例和第四着色级别550的示例中,由于对全部顶点
515执行着色,对其它点的进一步的插值不是必要的。

图6是示出基于对着色点执行着色的结果确定顶点的着色值的示例的示图。

在图6的示例中,假设3D对象610包括多个顶点612至626。在示出的阶段630中,3D
渲染设备将将被执行着色的着色点确定为包括顶点612至顶点622中的一些顶点(例如,顶
点614、顶点616、顶点622和顶点624),并还包括3D对象610中的非顶点点(例如,非顶点点
632、非顶点点634和非顶点点626)。3D渲染设备随后对确定的着色点614、着色点616、着色
点622、着色点624、着色点632、着色点634和着色点636执行着色。3D渲染设备还基于着色值
(例如,在执行着色的操作中确定的着色点614、着色点616、着色点622、着色点624、着色点
632、着色点634和着色点636的颜色值)确定非着色点顶点(例如,顶点612、顶点618、顶点
620和顶点626)的着色值。例如,在示出的阶段640中,3D渲染设备通过对与顶点626邻近的
着色点622、着色点624、着色点634和着色点636的着色?#21040;?#34892;插值来确定顶点626的着色
值。类似地,3D渲染设备使用类似的上述插值处理来确定未被执行着色的其余非着色点顶
点(例如,顶点612、顶点618和顶点620)的着色值。着色点614、着色点616、着色点622、着色
点624、着色点632、着色点634和着色点636的着色值以及通过插值确定的顶点612、顶点
618、顶点620和顶点626的着色值可被存储在诸如存储器或纹理缓冲器中。存储的着色值可
随后用于将对后续图像帧执行的着色。

图7是示出基于着色点的着色值确定渲染后的图像的像素值的示例的示图。

在图7的示例中,假设在示出的阶段710中分别确定3D对象中/上的顶点(例如,顶
点715、顶点720和顶点725)和非顶点点(例如,非顶点点730和非顶点点735)的着色值。在示
出的阶段740中,3D渲染设备通过针对每个像素基于顶点715、顶点720和顶点725以及非顶
点点730和非顶点点735的着色值执行颜色插值来确定像素的着色值。例如,如在图7中所
示,3D渲染设备通过对与像素750邻近的顶点725的着色值以及点730和点735的颜色?#21040;?#34892;
插值来确定像素750的颜色值。3D渲染设备可重复执行上述内容中描述的类似处理,并确定
包括在渲染后的图像中的像素的颜色值。

这里,在实施例中并仅作为示例,诸如基于由图形管线的顶点着色器或图形管线
的可被布置在顶点着色器之后的细分曲面着色器(tessellation shader)确定的顶点,3D
渲染设备的光栅化器可从3D渲染设备的相应图形管线操作的先前阶段的信息结果确定这
样的像素。诸如通过着色点着色器将顶点715、顶点720和顶点725以及非顶点点730和非顶
点点735的着色值结果存储在纹理存储器或其他存储器或缓冲器中,图形管线的像素着色
器可随后被提供或获得顶点715、顶点720和顶点725以及非顶点点730和非顶点点735的着
色值结果,?#28210;校?#25152;述着色点着色器与图形管线分离且与图形管线并行运行并且执行了确
定顶点715、顶点720和顶点725以及非顶点点730和非顶点点735的着色值的操作。所述着色
点着色器可实施确定着色点的步骤。这里,对顶点着色器、细分曲面着色器、光栅化器和/或
像素着色器的这样的引用仅是示例,实施例不限于此。

图9是示出3D渲染设备900的示例的示图。参照图9,3D渲染设备900可包括顶点着
色器910、像素着色器920和着色点着色器930。在一个或更多个实施例中,顶点着色器910和
像素着色器920可以是图形管线的元件。例如,3D渲染设备900可包括多个这样的图形管线,
?#28210;校?#25152;述多个这样的图形管线中的一些或全部图形管线还可被?#28210;?#20026;并行运行。此外,如
上面提到的,这样的图形管线还可在顶点着色器910与像素着色器920之间包括细分曲面阶
段并在这样的细分曲面阶段(或细分曲面阶段不存在时的顶点着色器910)与像素着色器
920之间包括光栅化器。此外,为了说明的目的,简单陈述以下关于顶点着色器910、像素着
色器920和着色点着色器930的?#33268;郟?#27880;意到上述关于图1至图8B的这样的顶点着色器、像素
着色器以及着色点和着色值确定的?#33268;?#36890;过引用而被包含并类似地应用到图9的顶点着色
器910、像素着色器920和着色点着色器930。

因此,顶点着色器910可基于获得的或提供的诸如顶点属性信息的3D图形数据对
3D场景中的顶点执行顶点变换,?#28210;校?#39030;点属性信息可包括针对3D场景和针对3D场景中的
一个或更多个对象的顶点的空间位置、颜色、法向量和纹理。仅作为非限制性的示例,顶点
变换可包括变换顶点的位置、变换顶点的法向量、以?#23433;?#29983;和变换纹理坐标中的至少一个。
在示例中,顶点变换可包括将顶点的位置变换到归一化的坐标空间(诸如与可最终显示渲
染后的图像的屏幕坐标空间对应的归一化坐标空间)。

着色点着色器930执行参照图1至图8B描述的操作中的与着色处理关联的操作。例
如,着色点着色器930可将3D场景中的顶点分组成多个顶点组,并确定每个顶点组各自的着
色级别。着色点着色器930可针对每个顶点组基于确定的着色级别确定将被执行着色的一
个或更多个着色点,并对确定的着色点执行着色。着色点着色器930还可通过经由对被执行
着色的着色点的结果着色值执行插值确定未经着色处理的顶点(即,未被执行着色的顶点)
的着色值来确定3D场景的着色信息。

着色点着色器930执行顶点-单元颜色着色,这样的颜色着色可与顶点着色器910
和像素着色器920各自的渲染处理分开执行。例如,由着色点着色器930执行的着色可作为
与顶点着色器910和像素着色器920的图形管线分开的处理而被执行。因此,顶点和着色点
的着色值可被着色点着色器930存储在诸如3D渲染设备900的纹理缓冲器或其他存储器中
以用于图形管线的随后使用,或者着色点着色器930可在不进行存储的情况下将确定的着
色值发送到图形管线的一个或更多个阶段。诸如当着色点着色器930确定顶点组中的一些
顶点不需要每帧被更新时,存储的着色值还可被用于确定后续图像帧的着色信息,因此,与
针对每帧单独在顶点着色器中对全部顶点典型地执行光着色的典型方法相比,图像帧之间
的相关性可增加,?#20102;?#30340;发生可被?#26723;停?#24182;且计算量可被?#26723;汀?br />

在示例中,例如,着色点着色器930可基于先前帧中的顶点组或另一顶点组的着色
结果确定每个顶点组的着色级别。着色点着色器930还可基于按不同的着色级别提供的所
确定的颜色值的差来确定将被应用到每个顶点组的最佳着色级别。例如,着色点着色器930
可通过对基于当前着色级别执行着色的结果与基于低于当前着色级别的着色级别执行着
色的结果进行比较,来计算基于着色级别差的颜色值的差,并可响应于颜色值的差大于或
等于阈值而调整当前着色级别。着色点着色器930可针对不同的着色级别(例如,随着着色
复杂度增加的着色级别递增)重复地执行这个处理,并可将基于着色级别差的颜色值的差
小于阈值的着色级别最终确定为将被应用到顶点组的最佳着色级别。仅作为示例,最佳着
色级别确定处理可?#20013;?#30452;到颜色的差第一次小于阈值为止,或者最佳级别确定处理可?#20013;?br />至超出颜色的差小于阈值的第一着色至少一个着色级别。

在一个或更多个实施例中,当3D场景的着色信息被确定时,着色点着色器930可将
着色信息传递到像素着色器920,或仅将着色信息存储在可用于像素着色器920的纹理缓冲
器中。像素着色器920可随后基于获得或提供的着色信息对每个像素执行颜色插值。像素着
色器920诸如通过图形管线的光栅化器阶段或像素着色器920的光栅化操作,使用形?#19978;?#32032;
被确定为所属的多边形(例如,三角形)的顶点的颜色值和被执行着色的着色点的颜色值来
执行颜色插值,因此,渲染后的图像中的每个像素的颜色值被确定。此外,像素着色器920可
执?#24418;?#29702;?#25104;?#26469;表现3D对象的纹理,?#28210;校?#22312;纹理?#25104;渲校?#32441;理被施加到虚拟3D对象。

在另一示例中,3D渲染设备900还包括被?#28210;?#20026;对诸如上面关于图8B描述的间接
光源进行采样的间接光源采样器940,?#28210;校?#22312;图8B中,至少反射或折射是用间接光源表示。
着色点着色器930可除使用直接光源的照明信息之外还使用间接光源的照明信息执行上述
着色,因此,间接光源被间接光源采样器940采样。将对间接光源执行的采样可包括在3D空
间布置间接光源。间接光源采样器940通过调节间接光源将被布置的区域或调节将被布置
在3D空?#28210;?#30340;间接光源的数量来控制将被施加到3D对象的间接照明效果。

例如,间接光源采样器940对因光视图渲染(light view rendering)而产生的图
像中的间接光源进行采样,或使用被应用到光的光线追踪方法对间接光源进行采样。例如,
间接光源采样器940可基于因光视图渲染而产生的图像的亮?#30830;?#24067;来产生与亮度成比例的
概率图,并将间接光源布置在基于概率图确定的位置。针对另一示例,间接光源采样器940
可基于光线追踪方法确定光与3D对象碰撞的区域,并将间接光源布置在确定的区域中。

图10A是示出3D渲染设备1010的示例的示图。参照图10A,3D渲染设备1010包括至
少一个处理器1020和至少一个存储器1030。

处理器1020执行参照图1至图9描述的至少一个或更多个操作或全部操作。例如,
处理器1020可包括图9的3D渲染设备900中的一个或更多个,并能够执行另外的操作。例如,
处理器1020确定3D场景中将被执行着色的所选着色点,并对所确定的着色点执行选择性的
着色以及选择性地不对一个或更多个顶点执行着色。确?#26800;?#35828;,未被执行着色的顶点的着
色值可通过基于确定的着色点的着色结果的插值来确定。处理器1020将3D场景中的顶点分
组成顶点组,并可基于由处理器1020针对每个顶点组分别确定的着色级别来确定一个或更
多个着色点。处理器1020基于对着色点执行着色的结果来确定3D场景的着色信息,并基于
着色信息产生渲染后的图像。渲染后的图像可作为像素信息而被存储在存储器中和/或被
输出到与3D渲染设备1010连接的显示器。用户接口还被提供连接到3D渲染设备1010。

处理器1020可被实现为本领域普通技术人员所理解的逻辑门的阵列或另一类型
的硬件。例如,处理器1020可代表被?#28210;?#20026;实施上面描述的操作中的?#25105;?#25805;作或?#25105;?#32452;合
以及固定或移动装置的另外操作的一个或更多个处理器。例如,为了实施上面描述的着色
操作中的?#25105;?#25805;作或?#25105;?#32452;合,处理器1020可包括用于对3D对象执行渲染的至少一个GPU。
与顶点和着色点关联的着色信息可被存储在GPU的纹理缓冲器中,存储的着色信息可用于
对后续图像帧执行着色。

存储器1030存储用于执行参照图1至图9描述的至少一个操作的指令,和/或存储
在3D渲染设备正运行的同?#34987;?#24471;的数据和结果。在一些示例中,存储器1030可包括非暂时
性计算机可读介质(例如,高速随机存取存储器)和/或?#19988;资?#35745;算机可读介质(例如,至少
一个盘存储装置、?#20102;?#23384;储器装置和其他?#19988;资?#24615;固态存储器装置)。

图10B是示出3D渲染设备1015的示例的示图。参照图10B,3D渲染设备1015与图10A
类似地包括至少一个处理器1020和至少一个存储器1030,并还包括至少一个显示器1040和
用户接口1050。例如,处理器1020可代表被?#28210;?#20026;实施上面描述的操作中的?#25105;?#25805;作或任
意组合以及固定或移动装置的另外操作的单个处理器。例如,处理器1020可代表包括图形
处理器(GPU)的两个或更多个处理器以及被?#28210;?#20026;执行固定或移动装置的另外操作的至少
一个其他处理器,?#28210;校?#22270;形处理器(GPU)包括图9的图形管线、着色点着色器?#22270;?#25509;光源采
样器中的一个或更多个。处理器1020可即基于上面的着色操作将确定的像素颜色信息提供
给显示器1040。显示器1040上的渲染后的图像可响应于通过用户接口1050与3D渲染设备
1015进行的交互而被改变或自动改变。

通过被?#28210;?#20026;执行本申请中描述的由硬件组件执行的操作的硬件组件来实现使
用图1至图10B描述的执行本申请中的描述的操作的顶点着色器和顶点着色器910、像素着
色器和像素着色器920、光栅化器、着色点着色器和着色点着色器930、间接光源采样器940、
处理器、核、处理元件和处理器1020、存储器、高速缓冲存储器和存储器1030、显示器1040、
用户接口1050以及3D渲染设备、3D渲染设备1010和3D渲染设备1015。可用于执行本申请中
描述的操作的硬件组件的示例在适当情况下包括控制器、传感器、生成器、驱动器、存储器、
比较器、算术逻辑单元、加法器、减法器、乘法器、除法器、积分器以及被?#28210;?#20026;执行本申请
中描述的操作的?#25105;?#20854;他电子组件。在其他示例中,通过计算硬件(例如,通过一个或更多
个处理器或计算机)来实?#31181;?#34892;本申请中描述的操作的一个或更多个硬件组件。可通过一
个或更多个处理元件(诸如,逻辑门的阵列、控制器和算术逻辑单元、数?#20013;?#21495;处理器、微型
计算机、可编程逻辑控制器、现场可编程门阵列、可编程逻辑阵列、微处理器或被?#28210;?#20026;以
限定的方式响应并执行指令以获得期望结果的?#25105;?#20854;他装置或装置的组合)来实?#25191;?#29702;器
或计算机。在一个示例中,处理器或计算机包括或被连接到存储由处理器或计算机执行的
指令或软件的一个或更多个存储器。通过处理器或计算机实现的硬件组件可执行指令或软
件(诸如,操作系统(OS))和在OS上运行的一个或更多个软件应用,以执行本申请中描述的
操作。硬件组件也可响应于指令或软件的执行而访?#30465;?#25805;控、处理、创建和存储数据。为了简
单,单数术语“处理器?#34987;頡?#35745;算机”可用于本申请中描述的示例的描述,但在其他示例中,多
个处理器或计算机可被使用,或者处理器或计算机可包括多个处理元件或多种类型的处理
元件或二者。例如,可通过单个处理器或者两个或更多个处理器或者处理器和控制器来实
?#20540;?#20010;硬件组件或者两个或更多个硬件组件。可通过一个或更多个处理器或者处理器和控
制器来实现一个或更多个硬件组件,可通过一个或更多个其他处理器或者另一处理器和另
一控制器来实现一个或更多个其他硬件组件。一个或更多个处理器或者处理器和控制器可
实?#20540;?#20010;硬件组件或者两个或更多个硬件组件。硬件组件可具有不同处理?#28210;?#20013;的?#25105;?#19968;
个或多个,其示例包括单个处理器、独立处理器、并行处理器、单指令单数据(SISD)多处理、
单指令多数据(SIMD)多处理、多指令单数据(MISD)多处理和多指令多数据(MIMD)多处理。

通过计算硬件(例如,通过一个或更多个处理器或计算机)来执行图1至图8中示出
的执行本申请中描述的操作的方法,?#28210;校?#35745;算硬件被实现为如上面描述的执行指令或软
件以执行本申请中描述的由方法执行的操作。例如,可通过单个处理器或者两个或更多个
处理器或者处理器和控制器来执行单个操作或者两个或更多个操作。可通过一个或更多个
处理器或者处理器和控制器来执行一个或更多个操作,可通过一个或更多个其他处理器或
者另一处理器和另一控制器来执行一个或更多个其他操作。一个或更多个处理器或者处理
器和控制器可执行单个操作或者两个或更多个操作。

用于控制计算硬件(例如,一个或更多个处理器或计算机)实现硬件组件并且执行
如上面描述的方法的指令或软件可被写为计算机程序、代码段、指令或其?#25105;?#32452;合,以单独
地或共同地指示或?#28210;?#25152;述一个或更多个处理器或计算机如机器或专用计算机那样操作,
以执行由硬件组件执行的操作和如上面描述的方法。在一个示例中,所述指令或软件包括
直接由所述一个或更多个处理器或计算机执行的机器代码(诸如,由编译器产生的机器代
码)。在另一示例中,所述指令或软件包括由一个或更多个处理器或计算机使用解释器执行
的更高级代码。可基于附图中示出的框图和流程图以及说明书中的相应描述使用?#25105;?#30340;编
程语言来编写指令或软件,?#28210;校?#35828;明书中的相应描述公开了用于执行由硬件组件执行的
操作和如上所述的方法的算法。

用于控制计算硬件(例如,一个或更多个处理器或计算机)实现硬件组件并且执行
如上所述的方法的指令或软件以及任何相关联的数据、数据文件以及数据结构可被记录、
存储或固定在一个或更多个非暂时性计算机可读存储介质中,或被记录、存储或固定在一
个或更多个非暂时性计算机可读存储介质上。非暂时性计算机可读存储介质的示例包括:
只读存储器(ROM)、随机存取存储器(RAM)、闪存、CD-ROM、CD-R、CD+R、CD-RW、CD+RW、DVD-
ROM、DVD-R、DVD+R、DVD-RW、DVD+RW、DVD-RAM、BD-ROM、BD-R、BD-R LTH、BD-RE、磁带、软盘、磁
光数据存储装置、光学数据存储装置、硬盘、固态盘和被?#28210;?#20026;进行以下操作的?#25105;?#20854;它装
置:以非暂时性的方式存储指令或软件以及任何相关联的数据、数据文件以及数据结构,并
将指令或软件以及任何相关联的数据、数据文件以及数据结构提供给一个或更多个处理器
或计算机,以便所述一个或更多个处理器或计算机能执行指令。在一个示例中,所述指令或
软件以及任何相关联的数据、数据文件以及数据结构被分布在联网的计算机系统上,使得
所述指令和软件以及任何相关联的数据、数据文件以及数据结构通过一个或更多个处理器
或计算机以分布式的方式被存储、访问和执行。

仅作为非穷举的示例,如这里所述以及如在图9和图10A至图10B中所示的3D渲染
设备可代表移动装置(诸如,蜂窝电话、智能电话、可穿戴智能装置(诸如,?#28210;浮?#25163;表、一副
眼镜、手镯、脚镯、腰带、项链等)、便携式个人计算机(PC)(诸如,膝上?#22270;?#31639;机、笔记?#38236;?br />脑、小型笔记?#38236;?#33041;、上网本或超移动PC(UMPC)、平板PC(平板电脑)、平板?#21482;?#20010;人数?#31181;?br />理(PDA)、数码相机、便携式游戏机、MP3播放器、便携式/个人多媒体播放器(PMP)、手持电子
书、全球定位系统(GPS)导?#38454;?#32622;)或传感器或固定装置(诸如,台式PC、高清电视(HDTV)、
DVD播放器、蓝光播放器、机顶?#23567;?#25110;?#19994;?、或被?#28210;?#20026;执?#24418;?#32447;通信或网络通信的?#25105;?#20854;
他移动或固定装置。在一个示例中,可穿戴装置是被设计为可直接安装在用户的身体上的
装置(诸如,一副眼镜或手镯)。在另一示例中,可穿戴装置是使用附接装置安装在用户的身
体上的?#25105;?#35013;置(诸如,使用臂带附着到用户的胳膊或使用系索环挂在用户的脖子的智能
电话或平板电脑)。

虽然本公开包括特定示例,但是在理解本申请的公开之后将清楚的是:在不脱离
权利要求和它们的等同物的?#27573;?#30340;情况下,可对这些示例进行形式和?#38468;?#19978;的各种改变。
在此描述的示例应仅在描述意义上考虑,而非为了限制的目的。在每个示例中的特征或方
面的描述将被视为可被应用于其它示例中的相似特征或方面。如果以不同的顺序执行描述
的技术,和/或如果描述的系?#22330;?#26550;构、装置或电路中的组件以不同方式被组合和/或被其它
组件或其等同物替代或补充,则可实现合适的结果。因此,本公开的?#27573;?#24182;非由具体实施方
式限定,而是由权利要求和它们的等同物所限定,并且在权利要求和它们的等同物的?#27573;?br />内的所有变化将被解释为被包括在本公开中。

关于本文
本文标题:3D图形渲染方法和设备.pdf
链接地址:http://www.pqiex.tw/p-6079635.html
关于我们 - 网站声明 - 网?#38236;?#22270; - 资源地图 - 友情链接 - 网站客服 - 联系我们

[email protected] 2017-2018 zhuanlichaxun.net网?#26223;?#26435;所有
经营许可证编号:粤ICP备17046363号-1 
 


收起
展开
平码五不中公式规律 玩二八杠的技巧口诀 老版7070彩票官网 街机金蟾捕鱼无限注册 pk10定位预测软件 齐天大圣智能机器人 青海快3今日开奖结果查询 怎样找下期跨度 欢乐捕鱼人老版本 娱乐送彩金38元 北京pk10赛车直播网址