用于虚拟环境的间接照亮过程的制作方法

文档序号:6484531阅读:166来源:国知局
用于虚拟环境的间接照亮过程的制作方法
【专利摘要】描述了间接照亮3D虚拟环境中(比如,视频游戏中)的物体的方法、系统、装置和软件。将环境的立方体贴图和地面平面转化为从物体位置描绘视图的360度纬度-经度贴图。使用余弦卷积使所述纬度-经度贴图模糊,并然后为所述物体将所述模糊纬度-经度贴图转换成局部立方体贴图。然后,将所述局部立方体贴图用于确定从所述环境投射在所述物体上的标准和反射间接照亮颜色。
【专利说明】用于虚拟环境的间接照亮过程
[0001]相关申请的交叉引用
[0002]本申请是2011年2月22日提交的美国专利申请号13/032,026的继续申请(代理人案卷号026340-009200US),为了所有目的其内容以全文引用的方式并入本文。
【技术领域】
[0003]总的来说,本发明涉及用于三维(3D)环境的计算机图形处理,包括对3D环境内的物体的照亮和着色。具体而言,提供了适合对逼真视频游戏中的物体上的间接光和阴影进行实时渲染的方法、系统和装置。
【背景技术】
[0004]近几年,视频游戏已变得更具沉浸感。其常常包含三维环境,玩家在三维环境内探索、战斗以及玩。这种3D环境允许玩家朝他或她本人选择的方向看,从三个维度看到并操纵物体。
[0005]3D环境还用于电视、电影以及其它预录制格式中。这种预录制介质可讲故事、图解记录片或教育观众。3D环境的其它用途包括使工件、空间和布局可视化的计算机辅助设计(CAD)和计算机辅助制造(CAM)。总之,3D环境在实时交互和预录制非交互格式中常常是有用的。
[0006]对于最新的视频游戏,消费者常常要求并期望看起来逼真的3D虚拟环境。虚拟环境的逼真和复杂不仅可实现出于销售目的而吸人眼球的绚丽多彩的图像,还增加了游戏性。微妙的视觉线索(比如,与avatar面部的斑驳颜色混合并反射的天空的色调)允许玩家无需研究手册便可判断表情并捕捉情感。这些从自然界得到的线索是直观的。此外,几乎察觉不到间接照亮线索可帮助警告来自背后或头顶的危险。即便是在对其没有任何先前经验的世界中面对危险时,用户可无意识地使用间接照亮调整自己以评定并对情况作出反应。
[0007]尽管近几年在处理能力和3D算法方面已经有很大提高,但是传送看起来逼真的3D图像会是一个很艰难的过程。对于预录制介质,比如电影和电视而言,不需要对3D环境进行实时渲染。可早在将其显示给公众之前的制作时对其进行渲染。然而,对于观众在其内选择想要往哪看以及操纵什么的视频游戏而言,3D环境常常要求实时渲染。有时据称视频游戏与电影相似,但是视频游戏是逐帧实时渲染。
[0008]传送逼真3D的高端方法(比如,射线跟踪)需要强大的处理能力,以至利用如今的消费者技术,无法合理地将该方法用于实时渲染快动作视频游戏。低级渲染方法(其使用近似法和视觉特技)以处理能力换取质量和逼真。然而,即便是低级渲染方法有时也努力以与当代游戏系统相关的帧速率渲染3D环境。例如,在当代视频游戏系统中,每秒六十帧的帧速率(fps)常常是玩游戏顺畅的标准。如果游戏设计者在设计算法时不小心,则被渲染物体可发生弹出或不连续的跳跃。当在复杂的场景中一次渲染许多3D物体时,这可尤为明显。[0009]对立体3D显示的渲染使对帧速率的要求基本加倍。必须对场景进行两次渲染,一次针对右眼,一次针对左眼。一百二十赫兹是3D显示的共用频率,因此可以每秒六十帧的速率渲染每一个眼睛视图。
[0010]本领域存在对用于渲染视频游戏和预录制格式中的3D环境的更好更快的算法的需求。

【发明内容】

[0011]总体而言,提供了以3D虚拟环境中的背景投射的间接光照亮物体的方法、系统和装置。3D环境的‘世界视图’可被格式化为全景360度的图像,比如立方体贴图。对于3D环境中的每一个物体,根据特定物体的视角/位置将世界视图立方体贴图从位置和格式上变换为3D视图的纬度-经度贴图。然后,利用余弦(漫射)卷积使每一个物体的纬度-经度贴图模糊。得出的模糊纬度-经度贴图很好地近似从每个方向照射物体的所有间接光。然后,将得出的模糊纬度-经度贴图再转换并降低采样成与其各个物体相关的‘模糊’立方体贴图。然后,将模糊立方体贴图用于渲染其各个物体上的间接光。间接光可包括菲涅耳、粗糙反射光、正常光和其它间接光。
[0012]分离的地面平面图像(比如描绘整个球场的那些)可立方体贴图一起使用以创建纬度-经度贴图。地面平面图像可用于渲染草、泥土和球场线,而立方体贴图可用于渲染露天看台、记分板和天空。
[0013]虽然本文的许多实例是在运动风格视频游戏的环境下示出球场,但是应理解本文示教的算法、系统和装置适用于其它视频游戏、电影、CAD程序和其它格式。
[0014]为了帮助从立方体贴图至纬度-经度贴图的变换(然后再变换回来),变换向量矩阵被存储颜色图像。例如,在由欧几里德坐标(x、y、z)表示的三维空间中,特定像素的X-向量变换可由红色表示,1-向量可由绿色表示,Z-向量可由蓝色表示。
[0015]一些实施方案指向以间接光照亮虚拟环境中的物体的方法。该方法包括接收虚拟环境的立方体贴图(其从中心位置描绘虚拟环境),接收物体在虚拟环境中的位置(物体位置与中心位置不同),使用至少一个与存储器可操作地耦合的处理器将从中心位置描绘虚拟环境的立方体贴图转化为从物体位置描绘虚拟环境的纬度-经度贴图(其与物体相关)。该方法还包括使用余弦漫射卷积使纬度-经度贴图模糊以创建模糊纬度-经度贴图,将模糊纬度-经度贴图转换成模糊立方体贴图(其与物体相关),并基于模糊立方体贴图渲染对物体的间接照亮。
[0016]一些实施方案指向间接照亮虚拟环境中的物体的方法。该方法包括接收虚拟环境的立方体贴图,接收物体在虚拟环境中的位置,基于立方体贴图和物体位置使用至少一个与存储器可操作地耦合的处理器从物体位置的角度生成纬度-经度贴图,对纬度-经度贴图进行卷积以创建模糊纬度-经度贴图,并基于模糊纬度-经度贴图渲染对物体的间接照売。
[0017]该方法可进一步包括将模糊纬度-经度贴图转换成模糊立方体贴图,其中渲染使用模糊立方体贴图。可选地或除了使用模糊立方体贴图,一些实施方案可使用球谐函数法(SHM)以渲染间接光。
[0018]其它实施方案涉及使用或存储用于以上描述的方法的指令的机器可读有形存储介质和计算机系统。
[0019]通过参考说明书的剩余部分及附图可以进一步理解本文公开并建议的实施方案的本质和优点。
【专利附图】

【附图说明】
[0020]图1图示了间接照亮物体的现有技术方法。
[0021]图2图示了根据实施方案的虚拟环境的世界视图立方体贴图。
[0022]图3图示了根据实施方案的虚拟环境的世界视图地面平面图像。
[0023]图4图示了根据实施方案的玩家在棒球场内的位置。
[0024]图5图示了根据实施方案的从玩家的位置确定仰视图。
[0025]图6图示了根据实施方案的从玩家的设置确定向下视图。
[0026]图7图示了根据实施方案的纬度-经度贴图。
[0027]图8图示了根据实施方案的模糊纬度-经度贴图。
[0028]图9图示了根据实施方案的与玩家相关的立方体贴图。
[0029]图10图示了根据实施方案的从局部立方体贴图查找颜色。
[0030]图11是根据实施方案的使用模型的法向量对连续间接光的3D渲染。
[0031]图12是根据实施方案的利用菲涅尔准则对图11中的模型上的间接光泽能量的3D渲染。
[0032]图13是根据实施方案的对图11中的模型的3D渲染,包括间接光和反射。
[0033]图14是图示根据实施方案的过程的流程图。
[0034]图15是图示根据实施方案的过程的流程图。
[0035]图16图示了适合实现实施方案的计算机系统。
【具体实施方式】
[0036]总体而言,描述了以3D虚拟环境中的背景投射的间接光照亮物体的方法、系统和装置。这可从环境中物体的角度给出实时反射的错觉,而无需从物体的位置对整个环境进行渲染。通过将世界视图立方体贴图转换成纬度-经度贴图的过程(使局部纬度-经度贴图模糊、将模糊纬度-经度贴图变成局部立方体贴图,然后使用局部立方体贴图照亮物体,该过程对于每一个物体来说都是局部性的)实现了对3D环境中的3D物体的间接照亮。
[0037]“立方体贴图”是一种表示位置周围的视图的方式。立方体贴图(有时称为一种光探测器)包括表示位置周围的视图的贴图,如六个面的立方体,虽然少于六个面或一些面空白的立方体贴图也称作立方体贴图。对立方体贴图的操作常常由图形处理单元(GPU)中的基于硬件的快速算法支持,因此很容易且快速地操作。在镜球或角贴图中,使用立方体贴图的立方体映射可比使用球体映射的图像操作更快。有时可以说立方体贴图与镜球或角贴图近似。
[0038]“地面平面图像”(有时称为“自上而下的视图”)包括描绘地面的图像。在某些情况下,立方体贴图表示天空和周围环境,而地面平面表示地面。当一个人大部分时间在地面附近时,地面平面图像很容易获得。
[0039]“纬度-经度贴图”是将水平和垂直尺寸映射到矩形图像上的周围视图格式。纬度-经度贴图的方位(即,经度)范围通常在O至360度、-90至+270度,或-180至+180度之间。其仰角(即,纬度)范围通常在-90至+90度之间。
[0040]术语“局部变化”包括反射(或间接光)基于物体在世界环境中的位置改变的概念。例如,在背景中,当玩家avatar朝记分板跑时,记分板在视图中变大。记分板将其色调投射到玩家面向其的一面上。同时,地面上的草、泥土和划线将其颜色投射在玩家的鞋、裤子等上。
[0041]“间接照亮”物体所包括的可多于直接照亮物体。间接照亮可包括调整已被光源照亮的物体片段的颜色(包括灰度)。颜色调整可模仿从非光源投射的光。
[0042]直接照亮3D物体很平常,而间接照亮3D物体则为相对较先进的技术。许多具有3D环境的视频游戏省略了间接照亮效果,这是因为该效果所要求的处理能力常常超过了现有处理能力。然而,间接光可意味着看起来虚假的世界与看起来逼真的世界之间的差异。人眼可使用这种线索无意识地区分二者。
[0043]许多游戏采用从预计算立方体贴图得出的预计算球谐函数矩阵。球谐函数矩阵包括红色、绿色和蓝色每一种颜色的一个16元素矩阵(S卩,4X4矩阵);因此,包括三个矩阵。预计算立方体贴图,然后根据立方体贴图预计算球谐函数矩阵。用在游戏中的正是球谐函数矩阵。
[0044]图1图示了照亮物体的现有技术方法。在3D环境100中,avatarlOl行走、击球并绕体育馆跑动。当avatar位于体育馆中央时,相比从周围柱子反射的光,来自天空的光占主导。当avatar接近体育馆的一侧时,从最近的柱子反射的光在avatar面向最近的柱子的一面应很明显。同时,在avatar身体的相对面上,来自天空的光应更占主导,这是因为与avatar在体育馆中心时相比,在体育馆相对侧的柱子距离更远了。
[0045]为3D环境中的预定区域预计算了描绘对场景的各种照亮的立方体贴图和球谐函数矩阵。这在游戏发展的过程中会发生,且结果与游戏图形一起被存储。距avatar最近的无论什么立方体贴图位置均是用于间接照亮avatar。在图中,avatarlOl距立方体贴图位置103最近;因此与立方体贴图103相关的球谐函数矩阵用于渲染avatarlOl。很明显,这不会产生对avatar准确逼真的照亮,这是因为avatarlOl与立方体贴图103位于不同的位置。尽管可预计算更多立方体贴图和球谐函数矩阵来提高逼真性,但是在访问存储器时这要花费存储器和处理器的时间。此外,在具有亮线或地面与草的界面明显的场地上,玩家下面的间接光可与实际非常不同。
[0046]预计算的立方体贴图/球谐函数矩阵解决方法对于变化的环境来说可能无法实行。例如,提供随户外比赛进展而变化的气候的视频游戏在开始玩游戏之前可能不能预计算环境中的所有立方体贴图和球谐函数矩阵。如果在玩游戏过程中云移动,则云投射的光可能不在预计算的立方体贴图内。
[0047]图2图示了根据实施方案的虚拟棒球场的立方体贴图。立方体贴图200具有六个正方形210、211、212、213、214、215,其从棒球场的中心描绘了底部、左边、前面、后面、右边、和顶部视图。在一些正方形中,可看到露天看台204从左边至后面至右边环绕。在其它正方形中,可看到记分板和棒球场光结构205。在正方形215中,描绘了头顶正上方开阔的天空206。天空206可具有云、鸟、软式广告飞船和其它背景物体。每当天气变化、云朵飘来,软式飞艇滑过空中,或当人群挥手时,可重新计算立方体贴图。可在每一局或每一场比赛开始时改变立方体贴图。
[0048]大致来看,左边、前面、后面和右边的正方形211、212、213和214的下半部分均为空白的。此外,后面的正方形210也是空白的。在示例性实施方案中,空白区域是那些被地面平面图像覆盖的区域。
[0049]图3图示了根据实施方案的虚拟环境的地面平面图像。地面平面图像300被空白区域317围绕。该区域被立方体贴图覆盖。中心位置316 (其可在或不在棒球场的中心)是方便以全景视图描述周围棒球场的位置。立方体贴图200 (图2)可以说是棒球场从中心位置316的360度全景视图。
[0050]地面平面图像300具有棒球内场318和外场319。除了其它细节,棒球内场包括投手丘320和本垒板321。
[0051]可对世界视图立方体贴图和地面平面图像二者进行对数编码以保持高动态范围。例如,可以以下等式编码颜色:
[0052](等式.1)Colorenc0ded= (1g10(color+0.101)+1)/3.0
[0053]图4图示了根据实施方案的玩家在棒球场内的位置。击球手422站在距中心位置316很远的本垒板321的后面。击球手422的位置由位置向量423 (“位置“)指示。位置向量423指示玩家的量值(即,距离)和方向。
[0054]图5图示了根据实施方案的从玩家的位置确定仰视图。立方体贴图200与球形视图524近似。图中将球形视图524绘制为半球以更好地图示以下向量几何。
[0055]击球手422站在位置423 (相对于中心位置/原点316)。从击球手位置422看到的天空颜色块527与从中心位置316看到的相同天空颜色块527相同。然而,向量方向不同。通过使用向量代数或其它方法,人们便可根据向量525和位置向量423确定向量526的方向。因此,向量525的方向被映射到向量526的方向。换句话说,当一个人从击球手的位置朝向量525的方向看时,就等同于在世界视图立方体贴图的中心位置/原点朝向量526的方向看。与向量525和526对应的方向向量可仅仅是单位向量。
[0056]图6图示了根据实施方案的从玩家的设置确定向下的视图。在该方案中,有两种潜在的颜色可供选择用于映射:一种来自立方体贴图,一种来自地面平面。
[0057]从击球手的位置422看到的露天运动场的颜色块630与从中心位置316看到的相同露天运动场的颜色块630相同;然而,向量方向不同。人们可根据向量628和位置向量423确定向量629的方向。与图5中的实例相似,向量628的方向被映射至向量629的方向。地面平面图像提供不同的颜色。
[0058]从击球手的位置422看到的地面颜色632很容易从地面平面图像300和方向向量631找到。为了确定在示例性实施方案中使用哪种颜色,使用了距玩家最近的点。因此,使用了颜色630而非颜色632。其它实施方案使用平均颜色或其它的颜色混合。
[0059]使用上述方法,可将从击球手的位置看到的360度全景视图映射到玩家位置的局部立方体贴图。的确,可针对反射等这么做。然而,间接光自然模糊,立方体贴图具有可引起模糊算法问题的间断。例如,如果一个人仅仅要逐一使立方体贴图的每一个面模糊,则靠近立方体的第一个面的暗特征将不会有助于立方体的相邻面的模糊。在示例性实施方案中,直接将360度全景视图映射至纬度-经度贴图。
[0060]为了帮助从立方体贴图至纬度-经度贴图的变换,变换向量矩阵被存储为红色-绿色-蓝色(RGB)格式的颜色图像。例如,在由欧几里德坐标(x、y、z)表示的三维空间中,特定像素的X-向量变换可由红色表示,y_向量可由绿色表示,Z-向量可由蓝色表示。由于图形处理器单元很容易操纵并存储图像,因此这是一种存储变换矩阵的方便方式。
[0061]图7图示了根据实施方案的纬度-经度贴图。纬度-经度贴图700是通过使用上述用于在世界内平移位置的技术从世界视图立方体贴图200 (图2)和地面平面图像300(图3)映射向量生成的。纬度-经度贴图示出了击球手位置周围的360度方位视图。应注意,仅零度方位的左边可见露天运动场的本垒板321和光结构205,露天看台204在击球手的后面环绕-180至+180度。
[0062]通过余弦衰减模糊着色器对纬度-经度贴图700进行余弦(漫射)卷积使其模糊。对于模糊算法,将左边缘和右边缘设置为“包裹”,将顶部和底部边缘设置为“镜像”。‘镜像’模式充分近似对顶部或底部上范围之外的位置(在每一个卷积的瞬时毯状区域内)的检查,并利用包裹对偏向左边或右边的位置增加180度的偏移。纬度-经度贴图本身可重写,或可写新的纬度-经度贴图。
[0063]图8图示了根据实施方案的模糊纬度-经度贴图。纬度-经度贴图800是图7中的纬度-经度贴图700的模糊版。除去了特征,其更像处于真实的间接照亮状况。纬度-经度贴图800很好地近似了从每一个方向照射人物的间接照亮。纬度-经度贴图800被采样成降低采样的模糊立方体贴图,其每一个面上仅有8X8个像素。
[0064]图9图示了根据实施方案的与玩家相关的立方体贴图。在击球手位置示出了立方体贴图933 (从纬度-经度贴图800 (图8)形成的降低采样的立方体贴图)。这仅仅是为了说明;在该位置并未有立方体被渲染。击球手的立方体贴图示出了所有来自天空、周围的露天运动场和地面的投到击球手身上的间接颜色。
[0065]为了说明,其它玩家的立方体贴图934在其各自的位置示出。在实施方案中,为场地上的每一个玩家生成了模糊立方体贴图。在某些情况下,可为玩家的各种部位(比如,玩家的脸、衬衫和头盔)生成单独的模糊立方体贴图。根据应用,一些立方体贴图每一个面上的像素可比其它立方体贴图的像素少。例如,击球手的有光泽的塑料护胫可使用每一个面上均具有许多像素的立方体贴图,这是因为其为高度镜反射,而击球手的制服可使用具有相对较少像素的立方体贴图,这是因为其相对较粗糙且非镜面反射(即,漫射)。为了获得看起来逼真的反射,将被着色的片段可对原始的立方体贴图或地面平面进行采样。
[0066]只要玩家在其位置的几英尺范围内,便可使用每一个玩家的局部模糊立方体贴图(其是根据玩家的位置计算的)。如果玩家移动超过几英寸,比如跑动接球,则可为玩家计算新的立方体贴图。在一些实施方案中,为每一帧生成立方体贴图直到玩家返回至休息状态,比如限定为仅在半英尺的半径范围内移动的状态。可保存在某些位置的立方体贴图。例如,可保存在击球手位置的立方体贴图以便每一个接连的击球手均可再次使用。然而,在一些实施方案中,可每隔几帧重新计算与击球手相关的立方体贴图以正确地为其走动渲染间接光。
[0067]图10图示了根据实施方案的从局部立方体贴图查找颜色。给定虚拟照相机1035的视角1035,击球手422面部的片段1039的反射间接光泽能量/颜色是通过确定反射向量1037 (其与照相机-片段向量1036具有方向相反大小相等的角度)而确定的。反射向量1037用于从局部立方体贴图1040查找颜色1038。颜色1038乘以菲涅尔准则给出玩家的适当间接照亮颜色的元素。
[0068]相似地,法向量1042 (其从击球手422面部的片段1041垂直地发出)用于从局部立方体贴图查找另一种颜色。法线和光泽能量颜色的混合以及击球手的皮肤颜色、各种光源等用于渲染击球手的面部。
[0069]图11是根据实施方案的使用模型的法向量对连续间接光的3D渲染。法向量,比如法向量1042 (图10)用于从各个方向查找颜色。该图仅示出与法向量相关的颜色(灰度模式)。
[0070]图12是根据实施方案的利用菲涅尔准则对图11中的模型上的间接光泽能量的3D渲染。反射向量,比如反射向量1037 (图10)用于渲染击球手。该图仅不出与反射向量相关的颜色(灰度模式)。应注意,掠反射更显著的模型边缘周围有更多反射光。
[0071]图13是根据实施方案的对图11中的模型的最终3D渲染,包括间接光和反射。如果仔细看,可看到接近击球手头盔前面的第一垒线的反射。
[0072]图14是图示根据一个实施方案的过程1400的流程图。在操作1401,接收虚拟环境的立方体贴图,该立方体贴图从中心位置描绘虚拟环境。在操作1402,接收物体在虚拟环境中的位置,该物体位置与中心位置不同。在操作1403,使用至少一个与存储器可操作地耦合的处理器将从中心位置描绘虚拟环境的立方体贴图转化为从物体位置描绘虚拟环境的纬度-经度贴图,该纬度-经度贴图与物体相关。在操作1404,使用余弦漫射卷积使纬度-经度贴图模糊以创建模糊纬度-经度贴图。在操作1405,将模糊纬度-经度贴图转换为模糊立方体贴图,该模糊立方体贴图与物体相关。在操作1406,基于模糊立方体贴图渲染对物体的间接照亮。
[0073]图15是图示根据实施方案的过程1500的流程图。在操作1501,接收虚拟环境的立方体贴图。在操作1502,接收物体在虚拟环境中的位置。在操作1503,基于立方体贴图和物体位置使用至少一个与存储器可操作地耦合的处理器从物体位置的角度生成纬度-经度贴图。在操作1504,对纬度-经度贴图进行卷积以创建模糊纬度-经度贴图。在操作1505,将模糊纬度-经度贴图转换为模糊立方体贴图。卷积和/或转换可重写现有的纬度-经度贴图或在其它存储器中创建新的贴图。在操作1506,基于模糊纬度-经度贴图渲染对物体的间接照亮,其中渲染使用模糊立方体贴图。
[0074]可按以上给出的顺序或适用的不同顺序进行操作。可使其在计算机或其它机器内自动运行,或其可被编码在软件、固件中,或被硬编码为机器可读指令并通过可执行该指令的一个或多个处理器运行。
[0075]图16图示了根据各种实施方案的适合执行装置的硬件系统的实例。该框图图示了适合实践本发明的实施方案的计算机系统1600,比如个人计算机、视频游戏控制台和关联的显示器、移动装置、个人数字助理或其它数字装置。计算机系统1600包括用于运行软件应用程序及视需要运行操作系统的中央处理器(CPU) 1605。CPU1605可由一个或多个同质或异质处理内核组成。存储器1610存储供CPU1605使用的应用程序和数据。存储器1615为应用程序和数据提供非易失性存储器和其它计算机可读介质,且可包括固定磁盘驱动器、可移动磁盘驱动器、闪速存储装置和⑶-ROM、DVD-ROM、蓝光、HD-DVD或其它光存储装置,以及信号传输和存储介质。用户输入装置1620将用户输入从一个或多个用户传递至计算机系统1600,用户输入装置的实例可包括键盘、鼠标、操纵杆、触摸板、触摸屏、静态照相机或摄像机,和/或麦克风。网络接口 1625允许计算机系统1600通过电子连通网络与其它计算机系统通信,且可包括通过局域网和广域网,比如因特网的有线或无线通信。音频处理器1630适于根据CPU1605、存储器1610和/或存储器1615提供的指令和/或数据生成模拟或数字音频输出。计算机系统1600的组件,包括CPU1605、存储器1610、数据存储器1615、用户输入装置1620、网络接口 1625和音频处理器1630通过一个或多个数据总线1635连接。
[0076]图形子系统1640还与数据总线1635和计算机系统1600的组件连接。图形子系统1640包括图形处理单元(GPU) 1645和图形存储器1650。图形存储器1650包括用于存储输出图像中每一个像素的象素数据的存储显示存储器(例如,帧缓冲器)。图形存储器1650可与GPU1645集成在同一装置中,可作为单独的装置与GPU1645连接,和/或在存储器1610内执行。象素数据可直接从CPU1605提供至图形存储器1650。可选地,CPU1605为GPU1645提供限定所期望的输出图像的数据和/或指令,GPU1645根据该数据和/或指令生成一个或多个输出图像的象素数据。限定所期望的输出图像的数据和/或指令可储存于存储器1610和/或图形存储器1650中。在实施方案中,GPU1645包括3D渲染能力,其用于根据限定场景的几何形状、照亮、着色、纹理、运动和/或照相机参数的指令和数据生成输出图像的象素数据。GPU1645还可包括一个或多个能够执行着色器程序的可编程执行单元。
[0077]图形子系统1640周期性地从图形存储器1650输出将要在显示装置1655上显示的图像的象素数据。显示装置1655可以是任何能够显示视觉信息以回应来自计算机系统1600的信号的装置,包括CRT、IXD、等离子体和OLED显示器。计算机系统1600可为显示装置1655提供模拟或数字信号。
[0078]根据各种实施方案,CPU1605为具有一个或多个处理内核的通用微处理器。可使用一个或多个具有微处理器体系结构(其特别适合高度平行和计算密集型应用,比如媒体和交互式娱乐应用)的CPU1605实现进一步的实施方案。
[0079]系统组件可通过网络连接,在不同实施方案中其可以是以下的任何组合:因特网、IP网络、内联网、广域网("WAN")、局域网("LAN")、虚拟私人网络("VPN")、公共交换电话网("PSTN"),或任何其它类型的支持本文描述的装置之间的数据通信的网络。网络可包括有线和无线连接,包括光链路。根据本公开,对于本领域中的技术人员而言,许多其它实例是可能的且明显的。在本文的讨论中,可特别指定或不指定网络。
[0080]在前述说明书中,结合本发明的具体实施方案描述了本发明,但是本领域中的技术人员将认识到,本发明并不局限于此。本发明的上述各种特征和方面可单独使用或结合使用。进一步地,在不脱离本说明书更广泛的精神和范围的情况下,本发明能够应用于除本文描述的环境和应用之外的许多环境和应用中。因此,说明书和附图应该理解为说明性而非限制性的。
[0081]应注意,以上讨论的方法、系统和装置仅作为实例。必需强调的是,各种实施方案可酌情省略、替代或增加各种流程或组件。例如,应理解,在可选的实施方案中,可按与所描述的顺序不同的顺序执行该方法,且可增加、省略或组合各种步骤。此外,针对某些实施方案描述的特征可结合在各种其它实施方案中。实施方案的不同方面和元件可以相似的方式组合。此外,应强调,技术会发展,因此很多元件为实例,不应被解释为限制发明的范围。
[0082]在描述中,给出了具体细节以提供对实施方案的全面理解。然而,本领域的一个普通技术人员将理解,可以在没有这些具体细节的情况下实施这些实施方案。例如,为了避免使实施方案模糊不清,示出的公知电路、过程、算法、结构和技术不包括不必要的细节。
[0083]此外,应注意,可将实施方案描述为以流程图或框图表示的过程。尽管每一个可将操作描述为顺序性过程,然而也可平行或同时实施所述操作中的许多操作。此外,可重新排列操作顺序。过程可具有图中并未包括的附加步骤。
[0084]此外,如本文所公开的那样,术语“存储器”或“存储单元”可表示一个或多个用于存储数据的装置,包括只读存储器(ROM)、随机存取存储器(RAM)、磁RAM、磁芯存储器、磁盘存储介质、光存储介质、闪速存储装置,或其它用于存储信息的计算机可读介质。术语“计算机可读介质”包括但不限于便携式或固定存储装置、光存储装置、无线通道、SIM卡、其它智能卡,和各种其它能够存储、包含或携带指令或数据的介质。
[0085]此外,实施方案可通过硬件、软件、固件、中间件、微代码、硬件描述语言或其任意组合来实现。当在软件、固件、中间件或微代码中执行时,执行必要任务的程序代码或代码段可储存于计算机可读介质,比如存储介质中。处理器可执行必要任务。
[0086]已描述了一些实施方案,本领域的那些技术人员将认识到在不脱离本发明的精神的情况下,可使用各种修改、可选构造和等效物。例如,上述元件可仅仅是较大系统的组件,其中其它规则可优先于本发明的应用或修改本发明的应用。此外,许多步骤可在考虑上述元件之前、过程中或之后进行。因此,以上描述不应被认为是限制本发明的范围。
【权利要求】
1.一种以间接光照亮虚拟环境中的物体的方法,所述方法包括: 接收虚拟环境的立方体贴图,所述立方体贴图从中心位置描绘所述虚拟环境; 接收物体在所述虚拟环境中的位置,所述物体位置与所述中心位置不同; 使用至少一个与存储器可操作地耦合的处理器将从中心位置描绘所述虚拟环境的所述立方体贴图转化为从所述物体位置描绘所述虚拟环境的纬度-经度贴图,所述纬度-经度贴图与所述物体相关; 使用余弦漫射卷积使所述纬度-经度贴图模糊以创建模糊纬度-经度贴图; 将所述模糊纬度-经度贴图转换为模糊立方体贴图,所述模糊立方体贴图与所述物体相关;以及 基于所述模糊立方体贴图渲染对所述物体的间接照亮。
2.一种间接照亮虚拟环境中的物体的方法,所述方法包括: 接收虚拟环境的立方体贴图; 接收物体在所述虚拟环境中的位置; 基于所述立方体贴图和所述物体位置使用至少一个与存储器可操作地耦合的处理器从所述物体位置的角度生成纬度-经度贴图; 使所述纬度-经度贴图模糊以创建模糊纬度-经度贴图;以及 基于所述模糊纬度-经度贴图渲染对所述物体的间接照亮。
3.根据权利要求2所述的方法,其还包括: 将所述模糊纬度-经度贴图转换成模糊立方体贴图,其中所述渲染使用所述模糊立方体贴图。
4.根据权利要求3所述的方法,其还包括: 确定所述物体的片段的表面法线方向向量; 使用所述表面法线方向向量从所述模糊立方体贴图查找颜色;以及 基于所述查找的颜色渲染所述物体片段。
5.根据权利要求3所述的方法,其还包括: 确定所述物体的片段的反射方向向量,所述反射向量基于照相机相对于所述片段的位置; 使用所述反射方向向量从所述模糊立方体贴图查找颜色;以及 基于所述查找的颜色渲染所述物体片段。
6.根据权利要求2所述的方法,其还包括: 将变换向量的矩阵编码为图像, 其中生成所述纬度-经度贴图包括使用所述编码的变换向量的图像将所述虚拟环境的所述立方体贴图中的像素变换为所述纬度-经度贴图中的像素。
7.根据权利要求2所述的方法,其还包括: 接收所述虚拟环境的地面平面图像, 其中生成所述纬度-经度贴图是基于所述地面平面图像。
8.根据权利要求7所述的方法,其还包括: 对所述虚拟环境的所述立方体贴图和所述地面平面图像进行对数编码, 从而保留闻动 态范围。
9.根据权利要求2所述的方法,其中所述模糊包括应用余弦漫射卷积。
10.根据权利要求9所述的方法,其中在垂直通道和水平通道中应用所述余弦漫射卷积。
11.根据权利要求2所述的方法,其中所述物体为玩家avatar。
12.根据权利要求2所述的方法,其中所述虚拟环境包括运动游戏场。
13.根据权利要求2所述的方法,其中渲染间接照亮包括渲染正常和反射的菲涅尔准则调整光。
14.根据权利要求2所述的方法,其中所述立方体贴图近似镜球贴图。
15.根据权利要求2所述的方法,其中按所示顺序执行操作。
16.根据权利要求2所述的方法,其中每一个操作由所述至少一个与所述存储器可操作地耦合的处理器执行。
17.一种机器可读有形存储介质,其包含指示用于使一个或多个机器执行权利要求2所述的操作的指令的信息。
18.一种计算机系统,其执行计算机程序中的指令,所述计算机程序指令包括用于执行权利要求2所述的操作的程序代码。
19.一种机器可读有形介质,其包含指示用于使一个或多个机器执行操作的指令的信息,所述操作包括: 接收虚拟环境的立方体贴图; 接收物体在所述虚拟环境中的位置; 基于所述立方体贴图和所述物体位置从所述物体位置的角度生成纬度-经度贴图; 使所述纬度-经度贴图模糊以创建模糊纬度-经度贴图;以及 基于所述模糊纬度-经度贴图渲染对所述物体的间接照亮。
20.根据权利要求19所述的介质,其还包括指令,所述指令用于: 将所述模糊纬度-经度贴图转换成模糊立方体贴图,其中所述渲染使用所述模糊立方体贴图。
【文档编号】G06T15/04GK103635939SQ201180067977
【公开日】2014年3月12日 申请日期:2011年2月28日 优先权日:2011年2月22日
【发明者】P.T.黑格 申请人:索尼电脑娱乐美国公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1