基于HTML5的WEB3D图形引擎生成方法技术

技术编号:9618132 阅读:393 留言:0更新日期:2014-01-30 05:52
本发明专利技术涉及一种基于HTML5的WEB3D图形引擎生成方法,该方法包括以下步骤:1)生成模型对象。2)给全局变量赋值,并初始化程序库。3)创建场景容器以管理3D模型对象。4)创建渲染图型并建立透视比例和视野转换。5)创建一个效果,载入着色信息。6)创建材质和形状,设置材质绘制列表,并且设置其他材质参数。7)将变换值和形状值加入到变换图表中。8)为对象原型创建绘制元素,设置回调函数,在3D场景每次被渲染时执行特定的任务。该系统包括程序模块、工具模块、图形接口模块、图形引擎模块、Direct3D渲染模块、OpenGL渲染模块、GPU图形处理模块、显示模块。

Generating method of WEB3D graphics engine based on HTML5

The invention relates to a method for generating a WEB3D graphics engine based on HTML5, which comprises the following steps: 1) generating model objects. 2) assign values to global variables and initialize the library. 3) create a scene container to manage the 3D model object. 4) create rendering patterns and create Perspective Scale and visual field transitions. 5) create an effect that loads coloring information. 6) create material and shapes, set material, draw lists, and set other material parameters. 7) add transform values and shape values to the transform chart. 8) create the drawing elements for the object prototype, set the callback function, and perform specific tasks each time the 3D scene is rendered. The system includes program module, tool module, graphic interface module, graphics engine module, Direct3D rendering module, OpenGL rendering module, GPU graphics processing module and display module.

【技术实现步骤摘要】
基于HTML5的WEB3D图形引擎生成方法
本专利技术涉及一种计算机图形学领域,尤其是涉及一种基于HTML5的WEB3D图形引擎生成方法
技术介绍
虚拟展示技术,通常被用于商品网络化三维展示,也有部分小场景虚拟仿真项目采用Web3D进行制作。3D技术并不是一个新话题,它在图形工作站以至于Pc上的应用早已瓜熟蒂落。然而互联网的出现,却给3D图形技术注入了新的活力,一些微妙而深刻的变化正在进行中。Web3D”这一新词的出现就反映了这种变化的全貌。没有人严格定义Web3D,但我们可以把它理解为互联网上的3D图形技术。目前,国内外 Web3D 的主流技术主要有 VRML、X3D、Viewpoint、Shockwave3D、Java3D等,其中又以Java3D结合vRML的组合方式为主。VRMIL是3D图形和多媒体技术通用的交换文件的格式,它描述交互式的3D对象和场景的几何对象的尺寸和形状、色彩、材质、灯光、动画及其交互性。它不仅应用在互联网上,也可以用在本地客户系统中,其应用范围极广。1996年,VRML1.0发布,1997年,VRML 97诞生。VRML97的重大革新是:在网络上传输的是模型文件,而不是媒体文件(如图片等),故其传输量大大减小,可使任何一个3D开发者都能制作可在互联网上实时渲染的3D场景模型。然而VRML自身也有一些局限性,其一是客户端通过Internet获取的3D场景其实可以看到其原代码,这对商业化的应用可谓致命伤;其二 VRML仅支持通过浏览器来进行视图导航、视点转换等,而限制键盘输入.在1997年之后,VRML在3D图形标准上的进展缓慢。2001年8月,Web3D协会发布了新一代国际标准一 X3D (其含义是可扩展的3D),并得到了许多软件厂商的支持。X3b与MPEG-4和)C札兼容,并将集成到MPEG—4的3D内容之中,使用捌L语法。它与VP30。97向后兼容,即X3D能提供标准VRML 97Browser的全部功能。其主要任务是把VRML的功能封装到一个轻型、可扩展的核心之中.由于其可扩展性,任何一个开发者都可以根据自己的需求,扩展其功能。Sun公司发布的Java3D,由于其平台无关性,使其特别适合编写基于Web的应用程序。Java是一种高效、健壮、安全的编程语言,特别适合Internet开发.作为Java在三维领域的扩展,Java3D继承了其“Write once.Run anywhere”和强大的网络功能等特点,即使非常大的三维模型文件也可以从网上下载观看,并且使用了视锥体消除法处理技术。同时采用多线程,实现了速度的最优化。Java3D提供了高层的面向对象的三维图形描述方法,开发者只需要集中精力组建场景图中的对象而不必设计具体的几何形体和编写描述代码。因此Java3D在实现计算过程的三维可视化、复杂的交互功等方面具有其他Web3D技术无法相比的能力。虽然Java3D拥有着Java的众多优点,但同样也有着Java所面临的问题,比如程序都要依赖于JVM,并被封死在JW中,占用内存大,速度慢等。同时Java3D在Web中实现要依赖于Java Applet这种已经过时很久的形式。而Java Applet实现的简单交互式三维动画,不仅需要下载一个巨大的支持环境,而且画面非常粗糙,性能也很差。Java3D只提供了一些简单的基本形体,对于复杂的形体则很难直接通过编程实现,需要调用其它格式的三维图形文件获得复杂形体。
技术实现思路
本专利技术的目的就是为了克服上述现有技术存在的缺陷而提供一种基于HTML5的WEB3D图形引擎生成方法。本专利技术的目的可以通过以下技术方案来实现:一种基于HTML5的WEB3D图形引擎生成方法,其特征在于,该方法包括以下步骤::1)生成模型对象。2)给全局变量赋值,并初始化程序库。3)创建场景容器以管理3D模型对象。4)创建渲染图型并建立透视比例和视野转换。5)创建一个效果,载入着色信息。6)创建材质和形状,设置材质绘制列表,并且设置其他材质参数。7)将变换值和形状值加入到变换图表中。8)为对象原型创建绘制元素,设置回调函数,在3D场景每次被渲染时执行特定的任务。一种基于HTML5的WEB3D图形引擎生成方法,所述的Web浏览器包括Netscape浏览器、IE浏览器和傲游浏览器等。所述的步骤I)中的模型包括:HTML代码和JavaScript代码。一种基于HTML5的WEB3D图形引擎的方法,其特征在于,该系统包括程序模块、工具模块、图形接口模块、图形引擎模块、Direct3D渲染模块、OpenGL渲染模块、GPU图形处理模块、显示模块。所述的程序模块、工具模块与图形接口模块相连,所述的图形接口模块与图形引擎模块相连,所述的图形引擎模块与Direct3D渲染模块、OpenGL渲染模块相连,所述的Direct3D渲染模块、O penGL渲染模块与GPU图形处理模块相连,所述的GPU图形处理模块与显示模块相连。与现有技术相比,本专利技术基于HTML5标准及JavaScript开发,具有无需使用插件便可以实现效果逼真的Web交互式三维动画。底层通过OpenGL或DirectX实现3d软件、硬件混合加速。很好地解决了网络传输、平台无关性的三维可视化问题。同时采用,多线程,实现了速度的最优化。并且支持脚本化运行。支持Windows、Mac OS x和Linux这三大系统平台【附图说明】图1为本专利技术的流程图;图2为本专利技术的系统结构图;【具体实施方式】下面结合附图和具体实施例对本专利技术进行详细说明。实施例1、生成模型对象模型对象程序是基于HTML的,主要的功能是HTML文档的<head>〈\head>标签之间,包含在〈script〉标签元素的代码实现的。首先引用的基础工具函数库,当Html页面加载使用Init调用方法,Init调用makeClients来创建模型对象,而makeClients在Html中寻找所有id以”model”开头的div标签,并把创建的模型对象插入到页面代码中。关闭时会触发onunload事件,从而调用uninit O函数,完成清理工作如:对象的删除,内存释放等。如下面代码〈body〉〈div id= bf3d style= width:1024px ;height:768px />〈script type= text/davascript!f >model js.require ( bf3djs.util);window, onload = init ;window, onunload = uninit ;var g—model ;vat g—sath ;vBIr g—client ;var g—pack ; vat g cubeTransform ;vat g—finished ;function initO < model js.util.makeClients (init-Stepl):)function uninitO {if (g—client) (g—client, cleanup ();))</script)2、给全局变量赋值,并初始化程序库3d图形引擎包含了一系列公用库,如果要用某个功能函数,本文档来自技高网
...

【技术保护点】
基于HTML5的WEB3D图形引擎生成方法:采其特征在于,该方法包括以下步骤:1)生成模型对象。2)给全局变量赋值,并初始化程序库。3)创建场景容器以管理3D模型对象。4)创建渲染图型并建立透视比例和视野转换。5)创建一个效果,载入着色信息。6)创建材质和形状,设置材质绘制列表,并且设置其他材质参数。7)将变换值和形状值加入到变换图表中。8)为对象原型创建绘制元素,设置回调函数,在3D场景每次被渲染时执行特定的任务。

【技术特征摘要】
1.基于HTML5的WEB3D图形引擎生成方法:采其特征在于,该方法包括以下步骤: 1)生成模型对象。 2)给全局变量赋值,并初始化程序库。 3)创建场景容器以管理3D模型对象。 4)创建渲染图型并建立透视比例和视野转换。 5)创建一个效果,载入着色信息。 6)创建材质和形状,设置材质绘制列表,并且设置其他材质参数。 7)将变换值和形状值加入到变换图表中。 8)为对象原型创建绘制元素,设置回调函数,在3D场景每次被渲染时执行特定的任务。2.根据权利要求1所述的基于HTML5的WEB3D图形引擎生成方法,其特征在于,所述的Web浏览器包括Netscape浏览器、基于HTML5的IE浏览器和傲游浏览器...

【专利技术属性】
技术研发人员:胡春阳袁桦
申请(专利权)人:上海互基信息科技有限公司
类型:发明
国别省市:

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1