半岛体育- 半岛体育官方网站- APP下载一种云游戏画面渲染方法及装置

2025-10-23

  半岛,半岛体育,半岛体育app,半岛官网,半岛电竞,半岛真人,半岛棋牌,半岛体育官网注册,半岛体育官方app下载,半岛体育app下载,半岛体育怎么样,半岛体育官网,半岛体育登录入口,半岛体育官方网站

半岛体育- 半岛体育官方网站- 半岛体育APP下载一种云游戏画面渲染方法及装置

  根据所述哈希值,确定所述游戏渲染指令是否为高频调用指令;其中,所述高频调用指

  在所述游戏渲染指令为高频调用指令的情况下,获取所述游戏渲染指令的索引值,并

  发送到所述游戏客户端,以使所述游戏客户端根据所述索引值在内存中查找并执行所述游

  2.根据权利要求1所述的一种云游戏画面渲染方法,其特征在于,所述游戏渲染指令至

  所述根据游戏客户端发送的图形API调用信息,生成对应的游戏渲染指令,具体包括:

  基于所述图形API调用信息,在服务器缓存中获取对应的指令参数,以及当前场景、当

  前视角下物体的顶点数据与索引数据;其中,所述顶点数据至少包括以下任一项或多项:顶

  基于所述画面渲染等级,获取对应等级的纹理数据;其中,不同等级的纹理数据对几何

  将所述指令参数、所述顶点数据、所述索引数据以及所述对应等级的纹理数据组合后

  3.根据权利要求2所述的一种云游戏画面渲染方法,其特征在于,所述方法还包括:

  基于接收到的顶点更新指令以及索引更新指令,获取顶点更新数据以及索引更新数

  计算所述顶点更新数据与所述服务器缓存中的顶点数据的差值,得到所述顶点更新数

  计算所述索引更新数据与所述服务器缓存中的索引数据的差值,得到所述索引更新数

  4.根据权利要求2所述的一种云游戏画面渲染方法,其特征在于,根据所述哈希值,确

  根据所述指令参数的哈希值,在哈希链表中匹配相同的哈希值;其中,所述哈希链表中

  5.根据权利要求4所述的一种云游戏画面渲染方法,其特征在于,在所述游戏渲染指令

  将所述游戏渲染指令压缩后发送到游戏客户端,以使所述游戏客户端执行所述游戏渲

  在所述出现频次达到所述第一预设阈值的情况下,将所述游戏渲染指令保存在所述哈

  6.根据权利要求5所述的一种云游戏画面渲染方法,其特征在于,将所述游戏渲染指令

  压缩后发送到游戏客户端,以使所述游戏客户端执行所述游戏渲染指令,具体包括:

  在序列化处理后得到的游戏渲染指令的数据量达到第二预设阈值的情况下,将已经序

  列化处理完成的部分游戏渲染指令进行压缩,并传输到所述游戏客户端,以使所述游戏客

  继续对所述指令参数、所述顶点数据、所述索引数据以及所述对应等级的纹理数据进

  行序列化处理,直到得到的游戏渲染指令的数据量再次达到所述第二预设阈值则再次传输

  7.根据权利要求1所述的一种云游戏画面渲染方法,其特征在于,在根据游戏客户端发

  在所述游戏客户端预设时间内均没有检测到用户操作,或者接收到挂机指令的情况

  在所述挂机状态下,将游戏的画面帧按照预设间隔分为关键画面帧与非关键画面帧;

  在所述挂机状态持续时间超过第三预设阈值的情况下,缩小场景镜头的视野至预设视

  在当前画面帧为关键画面帧的情况下,将最低等级的纹理数据封装入游戏渲染指令并

  在当前画面帧为非关键画面帧的情况下,向所述游戏客户端发送替换指令,将所述非

  8.根据权利要求7所述的一种云游戏画面渲染方法,其特征在于,在当前画面帧为关键

  确定所述关键画面帧预设区域中的顶点数据;其中,所述预设区域为与场景镜头的距

  在所述游戏客户端的内存中获取所述顶点数据的三维坐标;其中,所述顶点数据的z坐

  通过所述顶点数据的z坐标,在所述对应关系表中查找对应的雾浓度,并将所述顶点的

  三维坐标以及对应的雾浓度封装在所述游戏渲染指令中发送到所述游戏客户端,以使所述

  游戏客户端对所述关键画面帧预设区域中的顶点数据进行雾效处理;其中,所述游戏渲染

  9.根据权利要求1所述的一种云游戏画面渲染方法,其特征在于,在根据游戏客户端发

  获取所述当前画面帧中每个图形的顶点数据;其中,所述顶点数据中包含所述图形每

  根据所述三维坐标,得到所述每个图形的法向量,并获取所述当前画面帧的二维视野

  将所述法向量与所述二维视野向量进行点乘计算,得到所述法向量与所述二维视野向

  在所述向量角属于第一角度区间的情况下,将所述图形的顶点数据、索引数据以及纹

  在所述z坐标属于第一坐标区间的情况下,获取所述图形的第一等级纹理数据,并封装

  在所述z坐标属于第二坐标区间的情况下,获取所述图形的第二等级纹理数据,并封装

  在所述z坐标属于第三坐标区间的情况下,获取对应的贴图数据,并封装入所述游戏渲

  所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处

  理器执行,以使所述至少一个处理器能够执行如权利要求1‑9任一项所述的一种云游戏画

  务器端运行,并将渲染完毕后的游戏画面压缩后通过网络传送给用户。在客户端,用户的游

  戏设备不需要任何高端处理器和显卡,只需要基本的视频解压能力就可以了。在云游戏中,

  当用户请求运行一个游戏时,服务器启动该游戏实例,执行游戏逻辑,响应用户输入,同时

  对游戏画面进行渲染,最后将渲染后的游戏画面压缩后以视频流的方式传输至客户端。

  体验。且云游戏是一种计算和渲染任务都极为繁重的应用,因此它对云服务器CPU的逻辑计

  算能力和渲染能力要求很高,导致云服务器的部署成本高昂,游戏并发能力较弱。

  务器会进行一个交互循环,对游戏画面帧进行渲染,但是图形渲染指令的正确执行需要包

  含正确的指令参数、顶点和索引数据、纹理数据等,这些数据量庞大,传输这些数据将消耗

  大量的网络带宽。且由于游戏相邻帧画面之间的场景相似性以及用户有时会处于挂机状

  态,对每一帧游戏画面都执行完整的渲染流程并实现相同的渲染效果,会造成不必要的计

  一方面,本申请实施例提供了一种云游戏画面渲染方法,方法包括:根据游戏客户

  端发送的图形API调用信息,生成对应的游戏渲染指令;基于预设哈希函数,获取所述游戏

  渲染指令的哈希值;根据所述哈希值,确定所述游戏渲染指令是否为高频调用指令;其中,

  所述高频调用指令为调用频率达到第一预设阈值的游戏渲染指令;在所述游戏渲染指令为

  高频调用指令的情况下,获取所述游戏渲染指令的索引值,并发送到所述游戏客户端,以使

  所述游戏客户端根据所述索引值在内存中查找并执行所述游戏渲染指令,对当前游戏画面

  在一种可行的实施方式中,2.所述游戏渲染指令至少包括以下一项或多项:指令

  所述根据游戏客户端发送的图形API调用信息,生成对应的游戏渲染指令,具体包

  基于所述图形API调用信息,在服务器缓存中获取对应的指令参数,以及当前场

  景、当前视角下物体的顶点数据与索引数据;其中,所述顶点数据至少包括以下任一项或多

  项:顶点坐标、法线向量、切线向量、顶点颜色;所述索引数据至少包括顶点索引值;获取所

  述游戏客户端中设置的画质信息;根据所述画质信息,确定画面渲染等级;基于所述画面渲

  染等级,获取对应等级的纹理数据;其中,不同等级的纹理数据对几何图形的渲染效果不

  同;将所述指令参数、所述顶点数据、所述索引数据以及所述对应等级的纹理数据组合后进

  引更新指令,获取顶点更新数据以及索引更新数据;计算所述顶点更新数据与所述服务器

  缓存中的顶点数据的差值,得到所述顶点更新数据的偏移量,并通过所述顶点更新数据的

  偏移量标识所述顶点更新数据的位置;计算所述索引更新数据与所述服务器缓存中的索引

  数据的差值,得到所述索引更新数据的偏移量,并通过所述索引更新数据的偏移量标识所

  调用指令,具体包括:基于所述预设哈希函数,确定所述游戏渲染指令中指令参数的哈希

  值;根据所述指令参数的哈希值,在哈希链表中匹配相同的哈希值;其中,所述哈希链表中

  存储有所述高频调用指令,以及所述高频调用指令对应的哈希值;在匹配成功的情况下,确

  定所述游戏渲染指令是高频调用指令;在匹配不成功的情况下,确定所述游戏渲染指令不

  述方法还包括:将所述游戏渲染指令压缩后发送到游戏客户端,以使所述游戏客户端执行

  所述游戏渲染指令,并将所述游戏渲染指令中包含的数据更新在所述内存中;记录所述游

  戏渲染指令的出现频次;在所述出现频次达到所述第一预设阈值的情况下,将所述游戏渲

  所述游戏客户端执行所述游戏渲染指令,具体包括:在序列化处理后得到的游戏渲染指令

  的数据量达到第二预设阈值的情况下,将已经序列化处理完成的部分游戏渲染指令进行压

  缩,并传输到所述游戏客户端,以使所述游戏客户端执行接收到的所述部分游戏渲染指令;

  继续对所述指令参数、所述顶点数据、所述索引数据以及所述对应等级的纹理数据进行序

  列化处理,直到得到的游戏渲染指令的数据量再次达到所述第二预设阈值则再次传输此部

  在一种可行的实施方式中,在根据游戏客户端发送的图形API调用信息,生成对应

  的游戏渲染指令之前,所述方法还包括:在所述游戏客户端预设时间内均没有检测到用户

  操作,或者接收到挂机指令的情况下,确定所述游戏处于挂机状态;在所述挂机状态下,将

  游戏的画面帧按照预设间隔分为关键画面帧与非关键画面帧;其中,相邻的两个关键画面

  帧之间包含预设个非关键画面帧;在所述挂机状态持续时间超过第三预设阈值的情况下,

  缩小场景镜头的视野至预设视野,以减少游戏画面帧显示的物体数量;在接收到所述图形

  API调用信息后,判断当前画面帧是否为关键画面帧;在当前画面帧为关键画面帧的情况

  下,将最低等级的纹理数据封装入游戏渲染指令并发送到所述游戏客户端;在当前画面帧

  为非关键画面帧的情况下,向所述游戏客户端发送替换指令,将所述非关键画面帧替换为

  戏渲染指令,具体包括:确定所述关键画面帧预设区域中的顶点数据;其中,所述预设区域

  为与场景镜头的距离大于预设距离的区域;在所述游戏客户端的内存中获取所述顶点数据

  的三维坐标;其中,所述顶点数据的z坐标表示所述顶点与场景镜头的距离;建立所述顶点

  数据的z坐标与雾浓度的对应关系表;通过所述顶点数据的z坐标,在所述对应关系表中查

  找对应的雾浓度,并将所述顶点的三维坐标以及对应的雾浓度封装在所述游戏渲染指令中

  发送到所述游戏客户端,以使所述游戏客户端对所述关键画面帧预设区域中的顶点数据进

  行雾效处理;其中,所述游戏渲染指令中不包含所述顶点数据所在几何图形的纹理数据。

  在一种可行的实施方式中,在根据游戏客户端发送的图形API调用信息,生成对应

  的游戏渲染指令之后,所述方法还包括:根据所述图形API调用信息,确定需要渲染的当前

  画面帧;获取所述当前画面帧中每个图形的顶点数据;其中,所述顶点数据中包含所述图形

  每个顶点的三维坐标;根据所述三维坐标,得到所述每个图形的法向量,并获取所述当前画

  面帧的二维视野向量;将所述法向量与二维所述视野向量进行点乘计算,得到所述法向量

  与所述二维视野向量的向量角;在所述向量角属于第一角度区间的情况下,将所述图形的

  顶点数据、索引数据以及纹理数据在所述游戏渲染指令中删除;在所述向量角属于第二角

  度区间的情况下,获取所述图形顶点数据的z坐标;在所述z坐标属于第一坐标区间的情况

  下,获取所述图形的第一等级纹理数据,并封装入所述游戏渲染指令中,以使所述游戏客户

  端对所述图形进行第一等级渲染;在所述z坐标属于第二坐标区间的情况下,获取所述图形

  的第二等级纹理数据,并封装入所述游戏渲染指令中,以使所述游戏客户端对所述图形进

  行第二等级渲染;在所述z坐标属于第三坐标区间的情况下,获取对应的贴图数据,并封装

  另一方面,本申请实施例还提供了一种云游戏画面渲染装置,包括:至少一个处理

  器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至

  少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理

  1 .本申请实施例根据边缘计算原理,将云游戏的渲染过程放在游戏客户端中进

  行,由服务器生成渲染指令,再发送到客户端执行。为避免相似画面帧渲染时重复传输数据

  造成延迟,在服务器和客户端中缓存相同的高频调用指令,由服务器判断生成的指令是否

  为高频调用指令,如果是,则无需传输整个渲染指令给客户端,只需要发送一个索引值,引

  导客户端在自己的缓存中查找到对应的渲染指令即可,大大节省了数据传输的时间,减少

  2.本申请实施例为纹理数据划分了等级,根据用户在游戏客户端中设置的画质等

  级,选择对应等级的纹理数据封装在渲染指令中,这一过程耗费的时间很短,节省了指令生

  3.在更新服务器中的顶点数据和索引数据时,通过计算更新数据的偏移量,采用

  偏移量来表示更新数据的位置,可以缩小更新数据的编址长度,提高寻址速度,同样节省更

  新顶点数据和索引数据所耗费的时间,避免因为更新时间过长导致云游戏暂停登录时间过

  4.服务器并不是在渲染指令全部生成完成后才将完整的渲染指令发送到客户端,

  而是在每次序列化到一定数据量的渲染指令后就立即发送到客户端进行执行,使得渲染指

  关键画面帧,只对关键画面帧进行最低等级的渲染,可以最大限度地节省挂机时的渲染数

  据量和渲染质量,为游戏客户端节省电量,同时保证游戏长时间运行的流畅度,避免因游戏

  需要显示的图形,渲染指令中不需要包含这些图形的顶点数据、索引数据以及纹理数据,并

  且根据物体距离场景镜头的远近对物体进行不同程度的渲染,很远的场景物体直接用贴图

  有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本

  申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提

  施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施

  例仅仅是本申请一部分实施例,而不是全部的实施例。基于本说明书实施例,本领域普通技

  术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的

  图1为本申请实施例提供的一种云游戏画面渲染方法流程图,如图1所示,云游戏

  S101、云游戏服务器根据游戏客户端发送的图形API调用信息,生成对应的游戏渲

  具体地,云游戏服务器中缓存有云游戏的指令参数、顶点数据、索引数据、纹理数

  据等大量数据,其中,顶点数据至少包括顶点坐标、法线向量、切线向量、顶点颜色等数据,

  索引数据至少包括顶点索引值等数据。游戏客户端中也缓存有高频使用的一些指令参数、

  进一步地,云游戏服务器在接收到游戏客户端发送的图形API调用信息后,基于图

  形API调用信息的内容,确定需要渲染的当前游戏画面帧,并在缓存中获取对应的指令参

  数。然后获取当前游戏画面帧中物体的顶点数据与索引数据。然后获取游戏客户端中用户

  设置的画质信息,根据画质信息,确定画面渲染等级,基于画面渲染等级,获取对应等级的

  纹理数据,不同等级的纹理数据对几何图形的渲染效果不同。最后将获取的指令参数、顶点

  数据、索引数据以及对应等级的纹理数据组合后进行序列化处理,并封装为游戏渲染指令。

  戏服务器可获取当前画面帧中每个三角形的顶点数据,顶点数据中包含三角形每个顶点的

  三维坐标。然后根据三角形顶点的三维坐标,得到每个三角形的法向量,并获取当前画面帧

  的二维视野向量。将三角形的法向量与二维视野向量进行点乘计算,从而得到法向量与二

  进一步地,在向量角属于第一角度区间的情况下,将该三角形的顶点数据、索引数

  据以及纹理数据在游戏渲染指令中删除。在向量角属于第二角度区间的情况下,获取该三

  角形顶点数据的z坐标;在该三角形某个顶点数据的z坐标属于第一坐标区间的情况下,获

  取该三角形的第一等级纹理数据,并封装入游戏渲染指令中,以使游戏客户端对该三角形

  进行第一等级渲染;在该三角形某个顶点数据的z坐标属于第二坐标区间的情况下,获取该

  图形的第二等级纹理数据,并封装入游戏渲染指令中,以使游戏客户端对该三角形进行第

  二等级渲染。在该三角形的顶点数据的z坐标均属于第三坐标区间的情况下,获取对应的贴

  图数据,并封装入游戏渲染指令中,以使游戏客户端在该三角形所在位置显示贴图数据。

  在一个实施例中,在向量角θ属于[90度,180度)区间时,说明该三角形是位于物体

  背面的,在当前视角下看不到该三角形,所以无需对它进行渲染,则将该三角形的顶点数

  据、索引数据以及纹理数据在游戏渲染指令中删除即可,或者在生成游戏渲染指令之前就

  将这些数据删除,直接不封装进游戏渲染指令。在向量角θ属于[0度,90度)区间时,说明该

  三角形位于面向镜头的一面,需要对这些三角形进行渲染。获取这些三角形顶点的z坐标,

  也就是三角形顶点与场景镜头的距离,然后通过最高等级的纹理数据对z坐标小于第一阈

  值的顶点所在的三角形进行最高等级的渲染,通过第二等级的纹理数据对z坐标大于第一

  阈值且小于第二阈值的顶点所在的三角形进行第二等级的渲染,对于所有顶点的z坐标都

  超过第二阈值的三角形,直接获取贴图数据,在游戏客户端中显示贴图即可。也就是对距离

  场景镜头较近的物体进行最高等级的渲染,较远的物体进行较低等级的渲染,特别远的物

地址:半岛体育永久网址【363050.com】 客服热线:363050.com 传真:363050.com QQ:363050.com

Copyright © 2012-2025 半岛体育网站 版权所有 非商用版本