渲染设备、其渲染方法、程序和记录介质的制作方法_3

文档序号:9794106阅读:来源:国知局
05。一般说来,每位参与者(或等同而言,每台客户端装置)可有一个视讯数据串流。当执行渲染处理时,可将对于在三维空间(即如实体对象)或二维空间(即如文字)中所表现之一或更多对象的数据载入至一特定GPU 240R、250R、240H、250H的快取存储器(未图示)内。此数据可由该GPU 240R、250R、240H、250H转换成表示二维影像的数据,并可将其存储在适当的VRAM246R、256R、246H、256H里。从而,该VRAM 246R、256R、246H、256H可供暂时地存储对于一游戏画面的图片构素(像素)数值。
[0062]该视讯编码器285可将该视讯数据串流205每一个之内的视讯数据压缩并予编码成为一相对应的经压缩/经编码视讯数据串流。所获得的经压缩/经编码视讯数据串流称为图形输出串流,并可为依照逐台客户端装置的方式所产生。在本范例具体实施例中,该视讯编码器285可对于该客户端装置120产生一图形输出串流206,并且对于该客户端装置120A产生一图形输出串流206A。亦可提供额外的功能模块以将该视讯数据格式化成为封包,故而能够透过因特网130加以传送。该视讯数据串流205内的视讯数据以及一给定图形输出串流内的经压缩/经编码视讯数据可被分割成多个讯框。
[0063]V.产生渲染命令
[0064]现将参照于图2C、3A和3B以进一步详细说明由该视讯游戏功能模块270所进行的渲染命令产生作业。详细而言,该视讯游戏功能模块270的执行作业可牵涉到多项程序,包含主游戏程序300A及图形控制程序300B,后文中将对此等详加说明。
[0065]主游戏程序
[0066]现将参照图3A以说明该主游戏程序300A。该主游戏程序300A可依连续回圈的方式重复地执行。该主游戏程序300A的一部份中可提供一动作310A,而可在此过程中接收客户端装置输入。若该视讯游戏为单一玩家视讯游戏而绝无旁观者,则会收到来自单一客户端装置(即如客户端装置120)的客户端装置输入(即如客户端装置输入140)以作为该动作310A的一部份。然若该视讯游戏为多玩家视讯游戏或者为单一玩家视讯游戏但有可能进行旁观,则可能会收到来自一或更多客户端装置(即如客户端装置120和120A)的客户端装置输入(即如客户端装置输入140和140A)以作为该动作310A的一部份。
[0067]藉由非限制性范例,来自一给定客户端装置的输入可传达该给定客户端装置的用户欲令一人物在其控制下以移动、跳跃、踢踹、回转、拉入、抓取等等。或另者,或此外,来自该给定客户端装置的输入可传达由该给定客户端装置之用户所做出的选单选择,藉以改变一或更多音讯、视讯或游戏设定俾载入/存储一游戏,或者是创设或加入一网絡会期。或另者,或此外,来自该给定客户端装置的输入可传达该给定客户端装置的用户想要选择一特定相机视野(即如第一人称或第三人称)或是重新定位其在该虚拟世界里的观点。
[0068]在动作320A处,可至少部份地依据在动作310A处所收到的客户端装置输入与其他参数以更新游戏状态。游戏状态的更新可能牵涉到下列动作:
[0069]首先,游戏状态的更新可能会涉及到对与自其收到客户端装置输入的客户端装置相关联之参与者(玩家或旁观者)的一些性质进行更新。这些性质可存储在该参与者数据库10内。能够在该参与者数据库10中加以维护并且在动作320A处予以更新之参与者性质的范例可包含相机视野选择(即如第一人称或第三人称)、游玩模式、所选音讯或视讯设定、技能水准、顾客等级(即如访客、贵客等等)。
[0070]其次,游戏状态的更新可牵涉到依据该客户端装置输入的解译结果来更新该虚拟世界中之一些对象的属性。在一些情况下,其属性可予更新的对象可由二或三维模型所表示,并且可包含参玩人物、非参玩人物以及其他对象。在参玩人物的情况下,可予更新的属性可包含对象的位置、强度、武器/冑甲、剩余寿命、特长、能力、速度/方向(速率)、动画、视觉效果、能量、弹药火力等等。而在非参玩人物(像是背景、植披、建物、车辆、记分板等等)的情况下,可予更新的属性可包含该对象的位置、速度、动画、损伤/健康度、视觉效果、文字内容等等。
[0071]然应了解除客户端装置输入外的参数亦可对前述(参与者的)性质与(虚拟世界对象的)属性产生影响。例如,各种计时器(像是行经时间、自一特定事件后的时间、虚拟当日时间)、玩家总数、参与者的地理位置等等皆可对游戏状态的各种态样造成影响。
[0072]一旦已更新游戏状态以进一步执行动作320A,该主游戏程序300A即可返回至动作310A,在此会对自从前次通过该主游戏程序之后所收到的新客户端装置输入加以收集并处理。
[0073]图形控制程序
[0074]现将参照图3B以说明一第二程序,其可称为图形控制程序。该图形控制程序300B虽经显示为分离于该主游戏程序300A,然此程序确可按如该主游戏程序300A之延伸的方式执行。该图形控制程序300B可为连续地执行以产生渲染命令集合204。在单一玩家视讯游戏而确无旁观者的情况下,可只有单一玩家,并因而仅获产生单一个渲染命令集合204。在多玩家视讯游戏的情况下,需针对多位玩家产生多个不同的渲染命令集合,且因此可按并行方式执行多个子程序,每一个是针对于各一玩家。而在单一玩家游戏然有可能有进行旁观的情况下,再度地可有单一个渲染命令集合204,但可由该渲染功能模块280针对旁观者复制所获得的视讯数据串流。当然,这些仅为实作范例且不应视为具有限制性质。
[0075]现考量该图形控制程序300B对于一要求该视讯数据串流205其一者之给定参与者的操作。在动作310B处,该视讯游戏功能模块270可决定对于该给定参与者而应予渲染的对象。此动作可包含识别下列的对象类型:
[0076]首先,此动作可包含识别出在该虚拟世界里位于针对该给定参与者之「游戏萤幕渲染范围」(又称为「场景」)内的这些对象。该游戏萤幕渲染范围可为在该虚拟世界中自该给定参与者相机之观点为「可见」的一部分。这可依照在该虚拟世界中该相机相对于这些对象的位置与指向而定。在动作310B之实作的一非限制性范例里,可对该虚拟世界施加以一截锥柱体,并且对位于该截柱体之内的对象予以保留或标注。此截锥柱体具有一可位于该给定参与者相机之位置处的尖点,并且可具有亦由该相机之方向性所定义的方向性。
[0077]其次,这项动作可包含识别并未出现在该虚拟世界里然对于该给定参与者确仍需加以渲染的额外对象。例如,这些额外对象可包含文字讯息、图形警示和留言板指示器,然不限于此。
[0078]在动作320B处,该视讯游戏功能模块270可产生一组命令,藉以将在动作310B处所识别出的这些对象渲染至该图形(视讯数据)之内。渲染处理可称为,根据察看观点与当前的照明条件,将一对象或一组对象之3-D或2-D座标变化成表示一可显示影像之数据的转换作业。这可采用众多各式不同演算法和技术所达成,例如在Max K.Ageston2「ComputerGraphics and Geometric Modelling:1mplementat1n&Algorithms」,Springer_VerlagLondon Limited,2005年,乙文中所描述者,在此依参考方式并入本案。该渲染命令可具有符合于3D应用程序设计接口(API)的格式,即如来自美国华盛顿州Redmond市之MicrosoftCorporat 1n的「Direct 3D」以及由美国奥勒同州Beaverton市之Khronos Group所管理的「OpenGL」,然不限于此。
[0079]在动作330B处,可将动作320B处所产生的渲染命令输出至该渲染功能模块280。这可牵涉到将所产生的渲染命令封包化而成为一渲染命令集合204,并予发送至该渲染功能模块280。
[0080]V1.产生图形输出
[0081 ]该渲染功能模块280可解译该渲染命令集合204并产生多个视讯数据串流205,而各一串流是针对于各一台参与客户端装置。此渲染处理可在CPU 220R、222R(图2A)或者220H、222H(图2B)的控制之下由GPU 240R、250R、240H、250H完成。对于一参与客户端装置产生视讯数据讯框的速率可称为讯框速率。
[0082]在其中有N位参与者的具体实施例中,可有N个渲染命令集合204(各参与者有一者)以及N个视讯数据串流205(各参与者有一者)。在此情况下,并不会于该参与者之间共享渲染功能性。不过,亦可自M个渲染命令集合204以产生该N个视讯数据串流205(其中M〈N),使得该渲染功能模块280只需处理数量较少的渲染命令集合。在此情况下,该渲染功能模块280可执行共享或复制处理,藉以自数量较少的渲染命令集合204中产生出数量较多的视讯数据串流205。而当有多位参与者(即如旁观者)希望观看相同的相机观点时,此共享或复制处理就可更为普遍。因此,该渲染功能模块280可执行像是为一或更多旁观者复制所产生之视讯数据串流的功能。
[0083]接着,可由该视讯编码器285对该视讯数据串流205之每一个内的视讯数据加以编码,故而获得一序列关联于各台客户端装置的经编码视讯数据,这称为图形输出串流。在图2A-2C的范例具体实施例中,目的地为客户端装置120的经编码视讯数据序列称为图形输出串流206,而目的地为客户端装置120A的经编码视讯数据序列则称为图形输出串流206A。
[0084]该视讯编码器285可为一装置(或一组计算机可读取指令),其可提供或执行或是定义对于数字视讯的视讯压缩或解压缩演算法。视讯压缩作业可将数字影像数据的原始串流(依像素位置、色彩数值等等所表示)转换成数字影像数据的输出串流,其可传达大致相同的信息然确运用较少位。任何适当的压缩演算法皆可采用。除数据压缩以外,用以对一特定视讯数据讯框进行编码的编码程序亦可或无需牵涉到密码加密。
[0085]按前述方式所产生的图形输出串流206、206A可透过因特网130发送至相应的客户端装置。藉由非限制性范例,可将该图形输出串流予以节段化与格式化成为多个封包,每一个具有标头和酬载。含有对于一给定参与者的视讯数据之封包的标头可含有与该给定参与者相关联之客户端装置的网絡位址,而酬载中可含有该视讯数据的整体或是其一部份。在一非限制性具体实施例里,可将用以对一视讯数据进行编码之压缩演算法的识别数据及/或版本编码在载送该视讯数据之一或更多封包的内容中。熟习本项技艺之人士将可构思用以传送该经编码视讯数据的其他方法。
[0086]本说明虽为聚焦于渲染表示个别2-D影像的视讯数据,然本发明并不排除逐一讯框方式渲染表示多个2-D影像以产生3-D效果之视讯数据的可能性。
[0087]VI1.在客户端装置处重制游戏画面
[0088]现参照图4A,图中藉由非限制性范例显示一客户端侧视讯游戏应用程序的操作,此作业是由与一给定参与者相关联而可为客户端装置120或客户端装置120A的客户端装置所执行。操作上,该客户端侧视讯游戏应用程序可由该客户端装置直接地执行,或是在一网页浏览器中运行,然不限于此。
[0089]在动作410A处,根据具体实施例而定,可自该渲染服务器200R(图2A)或是自该混合服务器200H(图2B)透过因特网130收到一图形输出串流(即如206、206A)。所收到的图形输出串流可含有可予分割成多个讯框之视讯数据的经压缩/经编码讯框。
[0090]在动作420A处,该视讯数据的经压缩/经编码讯框可根据互补于该编码/压缩程序中所使用之编码/压缩演算法的解码/解压缩演算法予以解码/解压缩。在一非限制性具体实施例里,用以编码/压缩该视讯数据之编码/压缩演算法的识别数据或版本可为事先已知。在其他具体实施例里,用以编码该视讯数据之编码/压缩演算法的识别数据或版本可伴随于该视讯数据本身。
[0091]在动作430A处,可对该视讯数据的(经解码/经解压缩)讯框进行处理。这可包含将视讯数据的经解码/经解压缩讯框放置在缓冲器内、执行错误校正、重排及/或合并在多个接续讯框内的数据、阿尔法值混合、遗失数据之多个部分的内插等等。其结果可表示依逐个讯框为基础而待予呈现给用户之最终影像的视讯数据。
[0092]在动作440A处,可透过该客户端装置的输出机制来
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1