CN109669673A - 基于html5的游戏引擎装置 - Google Patents

基于html5的游戏引擎装置 Download PDF

Info

Publication number
CN109669673A
CN109669673A CN201710946269.2A CN201710946269A CN109669673A CN 109669673 A CN109669673 A CN 109669673A CN 201710946269 A CN201710946269 A CN 201710946269A CN 109669673 A CN109669673 A CN 109669673A
Authority
CN
China
Prior art keywords
node
module
game engine
engine device
scene
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201710946269.2A
Other languages
English (en)
Inventor
李晶
徐仁彬
程永亮
柏志建
吴胜
谷刚
田宝
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shiyi Network Technology (shanghai) Co Ltd
Original Assignee
Shiyi Network Technology (shanghai) Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shiyi Network Technology (shanghai) Co Ltd filed Critical Shiyi Network Technology (shanghai) Co Ltd
Priority to CN201710946269.2A priority Critical patent/CN109669673A/zh
Publication of CN109669673A publication Critical patent/CN109669673A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • G06F8/24Object-oriented
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Computer Security & Cryptography (AREA)
  • Processing Or Creating Images (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

一种基于HTML5的游戏引擎装置,所述装置包括运行环境部分和开发工具部分,所述运行环境部分包括:场景管理器,适于对待处理数据内包含的场景的节点进行处理,将所述节点的设置转换成渲染指令,所述渲染指令中包括材质信息;图像渲染模块,适于将材质信息相同的渲染指令进行合并,并使用合并后的渲染指令进行渲染。通过本发明提供的方案,能够支持HTML5的基本特性,屏蔽平台差异性,方便游戏开发者开发游戏,提高游戏性能和用户体验。

Description

基于HTML5的游戏引擎装置
技术领域
本发明涉及游戏引擎技术领域,具体涉及一种基于HTML5的游戏引擎装置。
背景技术
早在2010年,苹果公司就已宣布旗下产品Iphone/Ipad不支持flash技术,并大力推行第五代超文本标记语言(Hyper Text Markup Language 5,简称为HTML5)技术,随后,IE浏览器(简称为IE)、火狐浏览器(Firefox Explore,简称为Firefox)、谷歌浏览器(Google Chrome Explore,简称为Chrome)陆续淘汰flash插件,完善HTML5相关标准。2014年10月,HTML5标准规范(简称为HTML5标准)制定完成并公开发布。随着HTML5标准的不断完善以及各个浏览器的技术更新,HTML5技术逐渐成熟,目前各种类型的浏览器都已完成兼容HTML5技术。
随着图形硬件和计算处理器性能的提高,HTML5与Web图形库(Web GraphicsLibrary,简称为WebGL)组合的方式将在未来成为在线渲染的主流方式。WebGL技术是一种3D绘图标准,省去了开发网页专用渲染插件的麻烦,可用于创建具有复杂3D结构的网站页面,或者设计3D网页游戏等。HTML5画布(也即Canvas)可以借助WebGL结合Java描述语言(即JavaScript,简称为JS)和第二代嵌入式系统开放图形库(Open Graphics Library forEmbedded Systems,简称为OpenGL ES 2.0)实现3D画面加速渲染,充分利用Web的3D渲染技术,有利于升级网页游戏,以便Web开发人员借助系统显卡在浏览器中流畅展示3D场景和模型,创建复杂的导航和数据视觉化。目前包括Firefox 4+、Chrome 9+、欧朋浏览器(也即Opera)12+、苹果浏览器5.1+(也即Safari5.1+)和IE 11+在内的浏览器均可支持WebGL,而且主流的移动硬件设备也支持WebGL。
然而,目前已有的所谓“HTML5引擎”偏向于渲染部分,但是其渲染性能还存在较大的缺陷。
发明内容
本发明解决的技术问题是如何提供一种支持HTML5基本特性的游戏引擎,以提高游戏性能和用户体验。
为解决上述技术问题,本发明实施例提供一种基于HTML5的游戏引擎装置,包括运行环境部分和开发工具部分,所述运行环境部分包括:场景管理器,适于对待处理数据内包含的场景的节点进行处理,将所述节点的设置转换成渲染指令,所述渲染指令中包括材质信息;图像渲染模块,适于将材质信息相同的渲染指令进行合并,并使用合并后的渲染指令进行渲染。
可选的,所述场景管理器包括:排序子模块,适于按照所述场景中各个节点是否透明和彼此之间的远近关系,对各个节点进行排序;转换子模块,适于将所述节点的设置转换成渲染指令,并根据所述排序子模块的排序结果对所述渲染指令进行排序。
可选的,所述图像渲染模块包括:指令合并子模块,适于将材质信息相同的渲染指令进行合并,以得到合并后的渲染指令;渲染操作子模块,适于使用合并后的渲染指令进行渲染。
可选的,所述渲染操作子模块包括以下一项或多项:光照材质计算单元,适于进行实时材质光照计算和/或光照图操作;坐标变换单元,适于进行多种坐标系之间的转换;纹理贴图单元,适于将纹理映射到3D物体表面;剔除单元,适于对所述场景中的节点进行遮挡剔除和/或平截体剔除。
可选的,所述游戏引擎装置还包括:事件处理模块,适于将用户输入的操作事件转换为游戏中的逻辑事件,根据各个节点的碰撞检测结果计算出受所述逻辑事件影响的节点,并对受影响的节点做出回调通知。
可选的,所述游戏引擎装置还包括:数学计算模块,适于根据所述逻辑事件,对所述逻辑事件针对的节点的顶点进行相应的计算。
可选的,所述游戏引擎装置还包括:资源管理模块,适于组织所述待处理数据的存储方式。
可选的,所述资源管理模块还适于检查所述待处理数据的版本,如果本地存储的待处理数据为最新版本,则加载本地存储的待处理数据,否则从服务器下载最新版本的待处理数据。
可选的,所述游戏引擎装置还包括:物理碰撞模块,适于对所述节点进行物理碰撞模拟和计算。
可选的,所述游戏引擎装置还包括:人工智能模块,适于对所述节点中的非玩家角色的行为和反馈进行控制。
与现有技术相比,本发明实施例的技术方案具有以下有益效果:
本发明技术方案提供一种基于HTML5的游戏引擎装置,包括运行环境部分和开发工具部分,所述运行环境部分包括:场景管理器,适于对待处理数据内包含的场景的节点进行处理,将所述节点的设置转换成渲染指令,所述渲染指令中包括材质信息;图像渲染模块,适于将材质信息相同的渲染指令进行合并,并使用合并后的渲染指令进行渲染。所述场景管理器将所述节点的设置转换成所述渲染指令,图像渲染模块合并材质信息相同的渲染指令,也即材质信息相同的渲染指令被合并后一同处理,从而可以加速渲染过程,提高渲染效率,提升游戏性能和用户体验。
进一步地,所述场景管理器按照场景中各个节点是否透明以及彼此之间的远近关系对节点进行排序,并按照排序结果对渲染指令进行排序,由此,可以按照各个节点是否透明以及彼此之间的远近关系完成节点的渲染,例如优先渲染非透明的和更近的节点,从而更符合用户观察场景的习惯,有利于改善用户体验。
进一步,所述游戏引擎装置还包括:适于对所述节点中的非玩家角色的行为和反馈进行控制的人工智能模块。通过人工智能算法,可以提高非玩家控制角色(Non PlayerCharacter,简称为NPC)的感知能力,拟人能力,以及行走能力,从而使得NPC的行为以及与用户的交互更加智能,有利于提高用户体验。
附图说明
图1是本发明实施例的一种基于HTML5的游戏引擎的架构示意图;
图2是本发明实施例的一种基于HTML5的游戏引擎装置的运行环境部分的结构示意图;
图3是本发明实施例的一种基于HTML5的游戏引擎装置的开发工具部分的结构示意图。
具体实施方式
本领域技术人员理解,如背景所述,现有的游戏引擎的渲染性能还存在较大的缺陷。
本发明技术方案提供一种基于HTML5的游戏引擎装置,包括运行环境部分和开发工具部分,所述运行环境部分包括:场景管理器,适于对待处理数据内包含的场景的节点进行处理,将所述节点的设置转换成渲染指令,所述渲染指令中包括材质信息;图像渲染模块,适于将材质信息相同的渲染指令进行合并,并使用合并后的渲染指令进行渲染。所述游戏引擎装置将所述节点的设置转换成所述渲染指令,图像渲染模块合并材质信息相同的渲染指令,也即材质信息相同的渲染指令被合并后一同处理,从而可以提高渲染效率,提升游戏性能和用户体验。
为使本发明的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
图1是本发明实施例的一种基于HTML5的游戏引擎的架构示意图。参考图1,基于HTML5的游戏引擎装置101(也即本发明实施例提供的游戏引擎装置)可以运行在浏览器102中。所述游戏引擎101可以结合各个平台浏览器102开放的WebGL/Canvas接口,应用在视窗/苹果操作系统(Windows/MAC Operation System)上,也可以用在本地客户端以及移动设备中。所述游戏引擎101可以包括运行环境(Runtime)部分(图未示出)和开发工具(Editor)部分(图未示出)。所述浏览器102可以是含有HTML5模块1021任一种类型的浏览器,如Firefox4+、Chrome 9+、Opera 12+、Safari5.1+和IE 11+。所述浏览器102还可以包括以下一种或多种模块:JS模块1022,嵌入式系统OpenGL着色器语言(openGL Shading Language EnbeddedSystem,简称为GLSL ES)模块1023,HTML渲染引擎(HTML Rendering Engine)模块1024,WebGL模块1025和OpenGL/OpenGL ES模块1026。其中,OpenGL/OpenGL ES模块1026处于浏览器102的最底层;WebGL模块1025是对所述OpenGL/OpenGL ES的简单封装,以JS脚本语言形式为上层(对应于HTML5模块1021、JS模块1022和GLSL ES模块1023)提供操作所述OpenGL/OpenGL ES的应用程序界面(Application Program Interface,简称为API)。
图2是本发明实施例的一种基于HTML5的游戏引擎装置的运行环境部分的结构示意图。图2所示的基于HTML5的游戏引擎装置的运行环境部分20可以包括资源管理模块202、场景管理器203、图形渲染模块204和数学计算模块206。
所述资源管理模块202可以组织所述待处理数据的存储方式。所述待处理数据可以从远端服务器获取,获取之后也可以在本地缓存器(cache)中进行缓存。所述资源管理模块202可以进行所述待处理数据的版本检查和更新,支持同步进行下载和游戏。所述资源管理模块202可以根据游戏发布时的各个资源的版本号,决定是否从服务器加载所述资源。由于HTML5游戏不需要提前下载游戏的主程序,因而当用户直接使用浏览器访问时,如果本地缓存器存储有所述待处理数据的最新版本,则可以使用本地的存储版本;否则可以从服务器下载新版本。
所述资源管理模块202还可以对所述待处理数据进行加密与解密操作。所述资源管理模块202对所述待处理数据进行加密的目的主要是为了防止待处理数据被窃取和代码被恶意修改。所述待处理数据加载过程中,所述资源管理模块202可以完成解密操作。
所述场景管理器203可以管理游戏场景中的所有节点。游戏场景中的节点可以是游戏场景中包含的人物、建筑、机械、道具、山石树木等。所述场景管理器203可以处理场景中的节点,实现节点层级管理,例如可以根据节点的属性、位置、依赖关系等建立各个节点之间的父子关系或兄弟关系,以得到树形结构,从而确定节点的层级。如果已知节点的层级关系,当通过计算游戏场景中的相机(也即基于所述开发工具部分创建的相机)的显示区域,判断出所述节点不在显示区域内时,则可以将该节点及其所有子节点剔除,以避免渲染显示区域外的节点,节省渲染时间,提高渲染效率。
所述场景管理器203还可以对节点进行划分和排序,以确定渲染的对象和顺序。例如,所述场景管理器203可以包括:排序子模块2031,按照所述场景中各个节点是否透明和彼此之间的远近关系,对各个节点进行排序;还可以包括转换子模块2032,对节点进行设置,并将所述节点的设置转换成渲染指令。其中,所述渲染指令中可以包括材质信息,所谓材质是指包含数据和光照信息的数据集;根据所述排序子模块2031的排序结果,所述场景管理器203为所述渲染指令形成渲染队列,并交由图像渲染模块204进行渲染。
当所述场景管理器203将所述渲染队列转至所述图像渲染模块204时,所述图像渲染模块204可以通过指令合并子模块2041将材质信息相同的渲染指令进行合并,并使用合并后的渲染指令进行渲染。之后,在渲染操作子模块2042中使用合并后的渲染指令进行渲染,以得到清晰的2D和/或3D图像。此外,所述渲染操作子模块2042还可以实现坐标变换、纹理贴图、光照和剔除功能。所述图像渲染模块204利用WebGL/Canvas底层API,可以使得所述游戏引擎装置101在诸如安卓移动设备的平台资源有限的情况下,实时渲染3D画面,满足用户对图形质量以及渲染效率的要求,提高画面的真实感。
进一步而言,所述渲染操作子模块2042可包括光照材质计算单元20421、坐标变换单元20422、纹理贴图单元20423和剔除单元20424。
具体地,所述光照材质计算单元20421可以进行实时材质光照计算和/或光照图操作。实时光照计算是根据所述节点的材质信息渲染过程中动态地计算和加载光照信息,以得到所述节点(如建筑物)的不同位置的光照,增强渲染效果。光照图操作可以在所述编辑器部分,根据设置好的材质和灯光,提前把光照的颜色亮度信息渲染到一张图片中,保存在资源库中,以便运行阶段直接显示图片中的光照信息,这样可以省去实时计算光照的过程,在保证显示效果不降低的同时还可以提高渲染效率。
所述坐标变换单元20422可以进行多种坐标系之间的转换,所述坐标系可以是平面坐标系、斜面坐标系和旋转坐标系。其中,斜面坐标系可以由平面坐标系转换得来,旋转坐标系可以由斜面坐标系旋转一定角度形成。
所述纹理贴图单元20423可以将纹理映射到3D物体表面;其中,纹理是最基本的数据输入单位,比如位图。贴图就是完成“映射”过程。所述纹理贴图单元20423可以把纹理通过UV坐标映射至场景中的节点上。其中,UV坐标是指根据所述节点的顶点的水平方向和垂直方向建立的坐标。
所述剔除单元20424可以对所述场景中的节点进行遮挡剔除和/或平截体剔除。遮挡剔除和平截体剔除可以把被不透明节点挡住的节点或者是在显示窗口之外的节点直接剔除掉,以省去渲染这些节点的过程,从而提高移动浏览器的性能。
所述数学计算模块206,适于根据所述逻辑事件,对所述逻辑事件针对的节点的顶点进行相应的计算。所述数学计算模块206可以包含2D和/或3D节点的顶点的相关计算,例如涉及到节点顶点的位移、旋转和缩放相关的计算。顶点变换可以通过矩阵运算实现。具体应用中,可以运用已有的数学公式直接计算。所述顶点的旋转部分可以使用四元数(Quaternion)运算,以避免使用矩阵计算时会产生的万向节问题。
结合图1和图2,作为一个优选实施例,所述游戏引擎装置101还可以包括网络模块201。所述网络模块201可以包括客户端网络管理模块(图未示出)和服务器网络管理模块(图未示出)两个部分。所述客户端网络管理模块可以使用JS脚本语言进行开发,用以完成网络交互,此外还可以在本地存储待处理数据。所述服务器网络管理模块可以组合多种开发语言进行联合开发,用以完成网络交互。例如,当参与游戏的用户个数超出一定数量后,JS服务器处理能力可能无法支撑大用户数量带来的密集型运算,此时可以采用编译性能优于JS服务器的Linux c/c++服务器处理密集型运算。此外,也可以采用汤姆猫(tomcat),基于TCP的全双工通信协议(例如Websocket)服务器处理数据库操作以及远端服务器与本地客户端的交互。此时,所述数据库可以以存储过程的形式进行所述待处理数据(如存储用户的账户信息)的查询、更新,相应的状态变化可以通过Websocket直接推送到客户端,提高远端服务器与本地客户端的交互效率。
所述网络模块201可以实现两种交互方式,分别是短连接和长连接。其中,短连接可以使用超文本传输协议(Hyper Text Transport Protocol,简称为http)得到/邮寄(get/post)请求完成交互,例如用户利用积分购买游戏配置等信息可以使用短连接完成交互。长连接可以使用Websocket联合加密的基于JavaScript语言的轻量级的数据交换(JavaScript Object Notation,简称为JSON)格式完成交互,例如某个用户与网络其他用户进行在线游戏进行的数据交换信息可以使用长连接完成交互。所述网络模块201是可选模块,例如,单机游戏引擎可以不采用所述网络模块201。
作为又一个优选实施例,所述游戏引擎装置101还可以包括事件处理模块205。所述事件处理模块205可以将用户输入的操作事件转换为游戏中的逻辑事件,根据各个节点的碰撞检测结果计算出受所述逻辑事件影响的节点,并对受影响的节点做出回调通知。例如,所述事件处理模块205可以把用户的鼠标点击事件或移动设备上的手指点击事件转化成为游戏中的逻辑事件,然后根据场景管理器203确定的各个节点的层次结果,进行碰撞检测,计算出受影响的节点,最后对受影响的节点做出回调通知。
作为又一个优选实施例,所述游戏引擎装置101还可以包括声音模块207。所述声音模块207可以封装常见声音格式(例如mp3,wav格式)的播放、暂停和停止等相关的动作。也可以提供音量的整体放大和缩小功能。
进一步地,所述游戏引擎装置101还可以包括动画模块208。所述动画模块208可以包括纹理动画、序列帧动画和关键帧动画三部分。其中,纹理动画可以通过改变UV坐标来实现节点的动画效果;序列帧动画可以采用类似播放电影的原理,通过改变引用的节点来实现节点的动画效果;关键帧动画可以通过改变节点顶点的位置,来实现节点形状的变化。
作为又一个优选实施例,所述游戏引擎装置101还可以包括物理碰撞模块209。所述物理碰撞模块209又称为物理计算模块,可以对所述节点进行物理碰撞模拟和计算。对于无物理计算的游戏或者应用环境,可以不使用所述物理碰撞模块209。由于JS脚本语言的编译性能不如c/c++优异,因而为了适应不同平台的浏览器运行环境,所述物理碰撞模块209可以降低传统3D引擎的碰撞精度,通过牺牲节点碰撞计算的精准性,近似模拟真实物理的运动情况,以换取浏览器102的高性能,从而达到HTML5对于性能的高标准要求。例如,游戏场景中可以采用计算两个球体的碰撞来替代计算两个多面体的碰撞,这样的替代计算可以将浏览器102的性能提高3到5倍。在实际应用中,本领域技术人员可以根据实际需要变化出更多实施例,在此不予赘述。
作为再一个优选实施例,所述游戏引擎装置101还可以包括人工智能模块2010。所述人工智能模块2010可以对所述节点中的非玩家角色(Non Player Character,简称为NPC)的行为和反馈进行控制。人工智能算法可以搭配使用有限状态机,决策树和简单的神经网络技术实现人工智能化,用于提高NPC的感知能力,拟人能力以及行走能力,实现NPC的自动行走,发现场景中的其它节点,与节点交互并产生行动反馈功能。
本领域技术人员可以根据实际需要结合上述多种模块或全部模块搭建所述引擎装置101,在此不予赘述。
图3是本发明实施例的一种基于HTML5的游戏引擎装置的开发工具部分的结构示意图。所述开发工具部分(editor,又可称为编辑器)30可以包括:声音导入压缩模块301、图片压缩处理模块302、场景编辑序列化模块303、材质光影编辑模块304和动画编辑模块305。
所述声音压缩模块301可以对声音进行码率调整;所述图片压缩模块302可以对图片压缩算法进行调整。所述音压缩模块301和所述图片压缩模块302可以基于开源算法实现。
所述场景序列化模块303可以创建场景中的相机、灯光和节点,可以设置场景中的节点的材质,调整场景节点的位置、旋转或者缩放节点等。所述场景序列化模块303还可以把编辑后的场景序列化保存至场景文件。所述场景序列化模块303可以采用现有开源算法实现。
所述材质光影编辑模块304可以调节灯光的类型、亮度和角度,调节材质的镜面反射、漫反射和自发光属性,所述材质光影编辑模块304可以采用现有开源算法实现。
所述动画编辑模块305可以创建时间轴,在时间轴上可以创建事件,事件类型可以是UV移动、旋转或缩放;事件类型还可以是节点的切换,节点的顶点移动、旋转或缩放等。所述动画编辑模块305还可以把编辑后的动画序列化保存到动画文件。所述动画编辑模块305可以基于现有开源算法实现。
由上,采用本实施例的方案,可以充分发挥JS脚本语言和webGL的性能,实现在不同运行平台下保持相同的运行结果的前提下,也可以保持HTML5的基本性能要求,实现无端跨平台渲染。所述游戏引擎101还可以用于展会漫游、虚拟看房、旅游导览、远程在线教育和电子商务等方面的应用。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

Claims (10)

1.一种基于HTML5的游戏引擎装置,包括运行环境部分和开发工具部分,
其特征在于,所述运行环境部分包括:
场景管理器,适于对待处理数据内包含的场景的节点进行处理,将所述节点的设置转换成渲染指令,所述渲染指令中包括材质信息;
图像渲染模块,适于将所述材质信息相同的渲染指令进行合并,并使用合并后的渲染指令进行渲染。
2.根据权利要求1所述的游戏引擎装置,其特征在于,所述场景管理器包括:
排序子模块,适于按照所述场景中各个节点是否透明和彼此之间的远近关系,对各个节点进行排序;
转换子模块,适于将所述节点的设置转换成渲染指令,并根据所述排序子模块的排序结果对所述渲染指令进行排序。
3.根据权利要求1所述的游戏引擎装置,其特征在于,所述图像渲染模块包括:
指令合并子模块,适于将材质信息相同的渲染指令进行合并,以得到合并后的渲染指令;
渲染操作子模块,适于使用合并后的渲染指令进行渲染。
4.根据权利要求3所述的游戏引擎装置,其特征在于,所述渲染操作子模块包括以下一项或多项:
光照材质计算单元,适于进行实时材质光照计算和/或光照图操作;
坐标变换单元,适于进行多种坐标系之间的转换;
纹理贴图单元,适于将纹理映射到3D物体表面;
剔除单元,适于对所述场景中的节点进行遮挡剔除和/或平截体剔除。
5.根据权利要求1所述的游戏引擎装置,其特征在于,还包括:事件处理模块,适于将用户输入的操作事件转换为游戏中的逻辑事件,根据各个节点的碰撞检测结果计算出受所述逻辑事件影响的节点,并对受影响的节点做出回调通知。
6.根据权利要求5所述的游戏引擎装置,其特征在于,还包括:数学计算模块,适于根据所述逻辑事件,对所述逻辑事件针对的节点的顶点进行相应的计算。
7.根据权利要求1所述的游戏引擎装置,其特征在于,还包括:资源管理模块,适于组织所述待处理数据的存储方式。
8.根据权利要求7所述的游戏引擎装置,其特征在于,所述资源管理模块还适于检查所述待处理数据的版本,如果本地存储的待处理数据为最新版本,则加载本地存储的待处理数据,否则从服务器下载最新版本的待处理数据。
9.根据权利要求1所述的游戏引擎装置,其特征在于,还包括:物理碰撞模块,适于对所述节点进行物理碰撞模拟和计算。
10.根据权利要求1所述的游戏引擎装置,其特征在于,还包括:人工智能模块,适于对所述节点中的非玩家角色的行为和反馈进行控制。
CN201710946269.2A 2017-10-12 2017-10-12 基于html5的游戏引擎装置 Pending CN109669673A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710946269.2A CN109669673A (zh) 2017-10-12 2017-10-12 基于html5的游戏引擎装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710946269.2A CN109669673A (zh) 2017-10-12 2017-10-12 基于html5的游戏引擎装置

Publications (1)

Publication Number Publication Date
CN109669673A true CN109669673A (zh) 2019-04-23

Family

ID=66138557

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710946269.2A Pending CN109669673A (zh) 2017-10-12 2017-10-12 基于html5的游戏引擎装置

Country Status (1)

Country Link
CN (1) CN109669673A (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110109667A (zh) * 2019-04-30 2019-08-09 广东趣炫网络股份有限公司 一种ui界面绘制校验方法、装置、终端及计算机存储介质
CN110471731A (zh) * 2019-08-09 2019-11-19 网易(杭州)网络有限公司 显示界面绘制方法、装置、电子设备及计算机可读介质
CN110471700A (zh) * 2019-08-06 2019-11-19 Oppo广东移动通信有限公司 图形处理方法、装置、存储介质及电子设备
CN110554865A (zh) * 2019-09-10 2019-12-10 联想(北京)有限公司 可视化编程的方法、装置、计算设备以及介质
CN111597003A (zh) * 2020-05-15 2020-08-28 上海米哈游天命科技有限公司 一种画面渲染方法、装置、计算机设备和介质
CN112954423A (zh) * 2020-04-08 2021-06-11 深圳市明源云客电子商务有限公司 一种动画播放方法、装置及设备
CN113808238A (zh) * 2021-09-24 2021-12-17 北京有竹居网络技术有限公司 动画的渲染方法、装置、可读介质和电子设备
WO2022228521A1 (zh) * 2021-04-30 2022-11-03 华为云计算技术有限公司 渲染方法及其装置、计算机设备、存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103927204A (zh) * 2014-03-27 2014-07-16 北京视宴传媒科技有限公司 一种网页版三维在线游戏的实现方法
CN105354872A (zh) * 2015-11-04 2016-02-24 深圳墨麟科技股份有限公司 一种基于3d网页游戏的渲染引擎、实现方法及制作工具
CN105413176A (zh) * 2015-11-10 2016-03-23 内蒙古工业大学 一种应用于游戏的3d引擎系统
WO2017105769A1 (en) * 2015-12-18 2017-06-22 Intel Corporation Technologies for native game experience in web rendering engine

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103927204A (zh) * 2014-03-27 2014-07-16 北京视宴传媒科技有限公司 一种网页版三维在线游戏的实现方法
CN105354872A (zh) * 2015-11-04 2016-02-24 深圳墨麟科技股份有限公司 一种基于3d网页游戏的渲染引擎、实现方法及制作工具
CN105413176A (zh) * 2015-11-10 2016-03-23 内蒙古工业大学 一种应用于游戏的3d引擎系统
WO2017105769A1 (en) * 2015-12-18 2017-06-22 Intel Corporation Technologies for native game experience in web rendering engine

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110109667A (zh) * 2019-04-30 2019-08-09 广东趣炫网络股份有限公司 一种ui界面绘制校验方法、装置、终端及计算机存储介质
CN110471700A (zh) * 2019-08-06 2019-11-19 Oppo广东移动通信有限公司 图形处理方法、装置、存储介质及电子设备
CN110471731A (zh) * 2019-08-09 2019-11-19 网易(杭州)网络有限公司 显示界面绘制方法、装置、电子设备及计算机可读介质
CN110471731B (zh) * 2019-08-09 2022-08-05 网易(杭州)网络有限公司 显示界面绘制方法、装置、电子设备及计算机可读介质
CN110554865A (zh) * 2019-09-10 2019-12-10 联想(北京)有限公司 可视化编程的方法、装置、计算设备以及介质
CN110554865B (zh) * 2019-09-10 2021-05-18 联想(北京)有限公司 可视化编程的方法、装置、计算设备以及介质
CN112954423A (zh) * 2020-04-08 2021-06-11 深圳市明源云客电子商务有限公司 一种动画播放方法、装置及设备
CN111597003A (zh) * 2020-05-15 2020-08-28 上海米哈游天命科技有限公司 一种画面渲染方法、装置、计算机设备和介质
CN111597003B (zh) * 2020-05-15 2023-05-30 上海米哈游天命科技有限公司 一种画面渲染方法、装置、计算机设备和介质
WO2022228521A1 (zh) * 2021-04-30 2022-11-03 华为云计算技术有限公司 渲染方法及其装置、计算机设备、存储介质
CN113808238A (zh) * 2021-09-24 2021-12-17 北京有竹居网络技术有限公司 动画的渲染方法、装置、可读介质和电子设备

Similar Documents

Publication Publication Date Title
CN109669673A (zh) 基于html5的游戏引擎装置
US11928772B2 (en) Method for forward progress and programmable timeouts of tree traversal mechanisms in hardware
CN113781626B (zh) 遍历在射线追踪中使用的数据的技术
US10810785B2 (en) Method for forward progress tree traversal mechanisms in hardware
Bienia et al. Parsec 2.0: A new benchmark suite for chip-multiprocessors
US7773087B2 (en) Dynamically configuring and selecting multiple ray tracing intersection methods
US8004518B2 (en) Combined spatial index for static and dynamic objects within a three-dimensional scene
US7908462B2 (en) Virtual world simulation systems and methods utilizing parallel coprocessors, and computer program products thereof
CN113808245B (zh) 用于遍历光线追踪加速结构的增强技术
CN108074274A (zh) 基于浏览器的bim模型实时渲染方法及装置
CN110827387A (zh) 没有着色器干预下对交点进行连续层次包围盒遍历的方法
CN109260708A (zh) 地图渲染方法、装置以及计算机设备
CN105787865A (zh) 基于游戏引擎和gpu并行处理的分形图生成与渲染方法
CN111340928A (zh) 一种结合光线跟踪的Web端实时混合渲染方法、装置及计算机设备
CN113808241B (zh) 共享顶点的射线追踪图元的硬件加速
CN113034656B (zh) 游戏场景中光照信息的渲染方法、装置及设备
CN108986013A (zh) 间接参数缓冲区
CN117157676A (zh) 加速实时光线追踪的三角形可见性测试
Takimoto et al. Dressi: A Hardware‐Agnostic Differentiable Renderer with Reactive Shader Packing and Soft Rasterization
Hamon et al. RTIL-system: a Real-Time Interactive L-system for 3D interactions with virtual plants
Yu et al. A survey of real-time rendering on Web3D application
Xie The research on mobile game engine
Gil et al. A Shader-Based Architecture for Virtual Reality Applications on Mobile Devices
Van Nguyen et al. A Solution for Building a V-Museum Based on Virtual Reality Application
Christoforidis Optimizing your data structure for real-time 3D rendering in the web: A comparison between object-oriented programming and data-oriented design

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190423