CN109493404A - 三维渲染方法及装置 - Google Patents
三维渲染方法及装置 Download PDFInfo
- Publication number
- CN109493404A CN109493404A CN201811278146.7A CN201811278146A CN109493404A CN 109493404 A CN109493404 A CN 109493404A CN 201811278146 A CN201811278146 A CN 201811278146A CN 109493404 A CN109493404 A CN 109493404A
- Authority
- CN
- China
- Prior art keywords
- data
- rendering
- browser
- dimensional
- rendering engine
- 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
Links
- 238000009877 rendering Methods 0.000 title claims abstract description 208
- 238000000034 method Methods 0.000 title claims abstract description 45
- 230000005540 biological transmission Effects 0.000 claims abstract description 15
- 230000008569 process Effects 0.000 abstract description 9
- 238000005516 engineering process Methods 0.000 description 8
- 239000003973 paint Substances 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000010276 construction Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 3
- 241001269238 Data Species 0.000 description 2
- 241001061260 Emmelichthys struhsakeri Species 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 235000019994 cava Nutrition 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000005389 magnetism Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000010422 painting Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
Abstract
本公开涉及一种三维渲染方法及装置。所述方法用于终端设备,所述终端设备上安装有浏览器以及渲染引擎,所述方法包括:在所述浏览器接收到来自于服务器的数据时,确定所述数据的类型;如果所述数据的类型为三维模型数据,则传输绘制消息,并调用所述渲染引擎对所述数据进行三维渲染,得到渲染结果;其中,所述绘制消息包括所述数据;所述浏览器接收并展示所述渲染引擎传输的渲染结果,因此三维渲染的过程并不需要浏览器参与,故在进行三维渲染时能够避免受到浏览器的限制,提高了三维渲染的渲染效率。
Description
技术领域
本公开涉及图像处理技术领域,尤其涉及一种三维渲染方法及装置。
背景技术
目前,大屏幕的三维展示通过WebGL(Web Graphics Library,Web图形库)技术实现。其中,WebGL是一种3D绘图协议,其允许把JavaScript(一种直译式脚本语言)和OpenGLES 2.0(OpenGL for Embedded Systems 2.0,嵌入式系统三维图形库2.0)结合在一起,从而实现对三维场景进行渲染。
相关技术中,WebGL采用JavaScript,执行的时候需要由脚本引擎分析JavaScript得到脚本内容,再根据得到的脚本内容执行渲染处理。由于分析JavaScript的脚本引擎由浏览器提供,所以WebGL在渲染时的渲染效率会受到浏览器的限制。而脚本引擎分析JavaScript过程比较耗费时间,因此WebGL的渲染效率并不高效。
发明内容
有鉴于此,本公开提出了一种三维渲染方法及装置,以解决相关技术中大屏幕三维渲染的渲染效率较低的问题。
根据本公开的一方面,提供了一种三维渲染方法,所述方法用于终端设备,所述终端设备上安装有浏览器以及渲染引擎,所述方法包括:
在所述浏览器接收到来自于服务器的数据时,确定所述数据的类型;
如果所述数据的类型为三维模型数据,则传输绘制消息,并调用所述渲染引擎对所述数据进行三维渲染,得到渲染结果;其中,所述绘制消息包括所述数据;
所述浏览器接收并展示所述渲染引擎传输的渲染结果。
在一种实现方式中,所述渲染引擎对所述数据进行三维渲染,包括:
定义所述渲染引擎所需的视景器;
对从所述绘制消息中获取的所述数据并进行解析,得到解析后的数据;
通过所述视景器对所述解析后的数据进行三维渲染。
在一种实现方式中,所述在所述浏览器接收到来自于服务器的数据时,确定所述数据的类型,包括:
在接收到来自于服务器的数据时,获取所述数据的后缀;
根据所述数据的后缀,确定所述数据的类型。
在一种实现方式中,所述方法还包括:
如果所述浏览器确定所述数据的类型为非三维模型数据,则调用所述浏览器的渲染引擎对所述数据进行渲染。
在一种实现方式中,所述渲染引擎为开源场景图形库OSG渲染引擎,则所述传输绘制消息,并调用所述渲染引擎对所述数据进行三维渲染,包括:
传输绘制消息至Active X控件,所述Active X控件调用OSG渲染引擎对所述数据进行三维渲染。
根据本公开的另一方面,提供了一种三维渲染装置,所述装置用于终端设备,所述终端设备上安装有浏览器以及渲染引擎,所述装置包括:
确定模块,用于在所述浏览器接收到来自于服务器的数据时,确定所述数据的类型;
第一调用模块,用于如果所述数据的类型为三维模型数据,则传输绘制消息,并调用所述渲染引擎对所述数据进行三维渲染,得到渲染结果;其中,所述绘制消息包括所述数据;
展示模块,用于所述浏览器接收并展示所述渲染引擎传输的渲染结果。
在一种实现方式中,所述第一调用模块包括:
定义子模块,用于定义所述渲染引擎所需的视景器;
解析子模块,用于对从所述绘制消息中获取的所述数据并进行解析,得到解析后的数据;
渲染子模块,用于通过所述视景器对所述解析后的数据进行三维渲染。
在一种实现方式中,所述确定模块包括:
获取子模块,用于在接收到来自于服务器的数据时,获取所述数据的后缀;
确定子模块,用于根据所述数据的后缀,确定所述数据的类型。
在一种实现方式中,所述装置还包括:
第二调用模块,用于如果所述浏览器确定所述数据的类型为非三维模型数据,则调用所述浏览器的渲染引擎对所述数据进行渲染。
在一种实现方式中,所述渲染引擎为开源场景图形库OSG渲染引擎,则所述第一调用模块用于:
传输绘制消息至Active X控件,所述Active X控件调用OSG渲染引擎对所述数据进行三维渲染。
根据本公开的另一方面,提供了一种三维渲染装置,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行上述方法。
根据本公开的另一方面,提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其中,所述计算机程序指令被处理器执行时实现上述方法。
本公开实施例提供的三维渲染方法及装置,用于终端设备,该终端设备上安装有浏览器以及渲染引擎,在该浏览器接收到来自于服务器的数据时,确定该数据的类型,如果该数据的类型为三维模型数据,则传输绘制消息,并调用渲染引擎对该数据进行三维渲染,得到渲染结果;其中,该绘制消息包括该数据,该浏览器接收并展示渲染引擎传输的渲染结果,因此三维渲染的过程并不需要浏览器参与,故在进行三维渲染时能够避免受到浏览器的限制,提高了三维渲染的渲染效率。
根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。
图1示出根据本公开一实施例的组网架构图。
图2示出根据本公开一实施例的三维渲染方法的流程图。
图3示出根据本公开一实施例的三维渲染方法的流程图。
图4示出根据本公开一实施例的组网架构图。
图5示出根据本公开一实施例的三维渲染装置的框图。
图6示出根据本公开一实施例的三维渲染装置的框图。
图7示出根据本公开一实施例的三维渲染装置的框图。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“若”可以被理解成为“在……时”或“当……时”或“响应于确定”等。
另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
为了使本技术领域的人员更好地理解本公开中的技术方案,下面先对本公开中涉及的部分技术术语进行简单说明。
OSG(Open Scene Graph,开源场景图形库):是一个开放源码,跨平台的图形开发包,其能够为飞行器仿真、游戏、虚拟显示、科学计算可视化等高性能图形应用程序开发而设计。其提供在OpenGL(Open Graphics Library,开放图形库)之上的面向对象的框架,从而能把开发者从现实和优化底层图形的调用中解脱出来,并且其为图形应用程序快速开发提供很多附加的实用工具。OSG具有较优的性能、可扩展性、可移植性和快速开发等优势。
OLE(Object Linking and Embedding,对象连接与嵌入):是桌面应用程序集成,定义和实现一种允许应用程序作为软件对象彼此进行连接的机制,这种连接机制和协议称为COM(Component Object Model,组件对象模型)。
Active X控件:是用于网络的对象链接与嵌入技术,可以看成是实现标准OLE(Object Linking and Embedding,对象连接与嵌入)接口的COM对象。Active X控件作为一个独立的对象,可以激起和响应事件,处理消息,并有多线程能力,支持容器之间的双向通信和消息传递。其对外部环境是开放的,能被各种编程环境使用,所以任何支持Active X控件的平台都可以使用。
COleControl(OLE控件的控制类):是开发OLE控件的功能强大的基类,由CWnd(Congestion Window,拥塞窗口)类派生,继承了Windows窗口对象的所有功能,并加上了OLE独有的功能,例如事件触发、支持方法和特性等。
针对相关技术中所存在的技术问题,本公开实施例提供一种方案,能够在浏览器确定需要对接收的数据进行三维渲染时,传输数据并利用安装在本地的渲染引擎对数据进行三维渲染,而渲染引擎执行时并不需要浏览器提供脚本引擎,因此三维渲染的过程并不需要浏览器参与,故在进行三维渲染时能够避免受到浏览器的限制,提高了三维渲染的渲染效率。
图1示出根据本公开一实施例的组网架构图。请参阅图1,为本公开实施例提供的一种组网架构,包括服务器和终端设备,该终端设备上安装有浏览器以及渲染引擎。该渲染引擎执行时并不需要浏览器提供脚本引擎。在一个实施例中,该终端设备上还可以安装有Active X控件,渲染引擎可以是OSG渲染引擎。应当理解的是,渲染引擎还可以采用其他引擎,本公开并不作特别限定。
图2示出根据本公开一实施例的三维渲染方法的流程图。该方法适用于终端设备,该终端设备上安装有浏览器,例如Windows IE等。如图2所示,该方法包括步骤S11至步骤S13。
在步骤S11中,在浏览器接收到来自于服务器的数据时,确定该数据的类型。
其中,数据的类型包括文本数据、图像数据和三维模型数据等中的一项或多项,本公开对此不作限制。客户端对文本数据和图像数据进行二维展示,对三维模型数据进行三维展示。
在一种实现方式中,在浏览器接收到来自于服务器的数据时,确定该数据的类型(步骤S11),包括:在接收到来自于服务器的数据时,获取该数据的后缀;根据该数据的后缀,确定该数据的类型。
例如,浏览器接收到来自服务器的数据。浏览器获取该数据的后缀为osg。浏览器根据该数据的后缀osg,确定该数据的类型为三维模型数据。
若浏览器获取到的后缀不为osg,则可以确定该数据的类型为非三维模型数据。示例性的,若浏览器获取到的后缀为txt或doc,则可以认为该数据的类型为文本数据。在另一个示例中,若浏览器获取到的后缀为BMP、JPG、JPEG、PNG或GIF,则可以认为该数据的类型为图像数据。
在步骤S12中,如果该数据的类型为三维模型数据,则传输绘制消息,并调用渲染引擎对该数据进行三维渲染,得到渲染结果;其中,该绘制消息包括该数据。
在一种实现方式中,渲染引擎对该数据进行三维渲染,包括:定义渲染引擎所需的视景器;对从绘制消息中获取的该数据进行解析,得到解析后的数据;通过视景器对解析后的数据进行三维渲染。
作为一个示例,渲染引擎为OSG渲染引擎。则前述OSG渲染引擎对该数据进行三维渲染,包括:定义OSG渲染引擎所需的视景器;对从该绘制消息中获取的该数据进行解析,得到解析后的数据;通过视景器对解析后的数据进行三维渲染。
其中,视景器包括漫游器、事件处理器、场景和摄像机等。漫游器,用于实现交互式的场景漫游。事件处理器,用于负责处理视景器的事件队列,例如键盘或鼠标等事件的处理。场景,其包括视景器所对应的场景图形根节点,以及用于提高节点和图像数据处理速度的两个分页数据库。摄像机,为OSG世界矩阵的计算提供依据。具体的渲染过程可以参考现有技术,本公开实施例不再做过多描述。
在一种实现方式中,渲染引擎为开源场景图形库OSG渲染引擎,则传输绘制消息,并调用渲染引擎对该数据进行三维渲染,包括:传输绘制消息至Active X控件,所述ActiveX控件调用OSG渲染引擎对所述数据进行三维渲染。
作为一个示例,浏览器接收到来自服务器的数据。浏览器获取该数据的后缀为osg,由此确定该数据的类型为三维模型数据。浏览器向Active X控件发送绘制消息WM_PAINT(Windows Message Paint,窗口绘制消息)。Active X控件接收该绘制消息WM_PAINT。Active X控件的COleControl调用Active X控件的OnPaint(消息处理函数),以使OnPaint处理该绘制消息WM_PAINT,并调用OnDraw方法、以通过OSG渲染引擎对该数据进行三维渲染。
渲染步骤包括:
定义视景器;
将三维模型数据读取;
场景初始化;
设置node给视景器作为所有场景数据的根节点;
开始执行视景器,绘制场景。
在步骤S13中,浏览器接收并展示渲染引擎传输的渲染结果。
本公开实施例提供的三维渲染方法,能够在浏览器确定需要对接收的数据进行三维渲染时,传输数据并利用安装在本地的渲染引擎对数据进行三维渲染,而渲染引擎执行时并不需要浏览器提供脚本引擎,因此三维渲染的过程并不需要浏览器参与,故在进行三维渲染时能够避免受到浏览器的限制,提高了三维渲染的渲染效率。
图3示出根据本公开一实施例的三维渲染方法的流程图。该方法适用于终端设备,该终端设备上安装有浏览器,例如Windows IE等。如图3所示,该方法包括步骤S11至步骤S15。
在步骤S11中,在浏览器接收到来自于服务器的数据时,确定该数据的类型。
在步骤S12中,如果该数据的类型为三维模型数据,则传输绘制消息,并调用渲染引擎对该数据进行三维渲染,得到渲染结果。其中,该绘制消息包括该数据。
本公开实施例可以通过数据的后缀确定是否为三维模型数据。例如,浏览器接收到来自服务器的数据。浏览器获取该数据的后缀为osg。浏览器根据该数据的后缀为osg,确定该数据的类型为三维模型数据。
在一种实现方式中,渲染引擎为开源场景图形库OSG渲染引擎,通过OSG渲染引擎进行三维渲染的过程可以如下。
浏览器向Active X控件发送绘制消息WM_PAINT(Windows Message Paint,窗口绘制消息)。Active X控件接收该绘制消息WM_PAINT。Active X控件的COleControl调用Active X控件的OnPaint(消息处理函数),以使OnPaint处理该绘制消息WM_PAINT,并调用OnDraw方法、以通过OSG渲染引擎对该数据进行三维渲染。渲染步骤包括:
定义视景器;
将三维模型数据读取;
场景初始化;
设置node给视景器作为所有场景数据的根节点;
开始执行视景器,绘制场景。
在步骤S13中,浏览器接收并展示渲染引擎传输的渲染结果。
在步骤S14中,如果浏览器确定该数据的类型为非三维模型数据,则调用浏览器的渲染引擎对该数据进行渲染。
本公开实施例可以通过数据的后缀确定是否为非三维模型数据。例如,浏览器接收到来自服务器的数据。浏览器获取该数据的后缀不为osg。浏览器根据该数据的后缀不为osg,确定该数据的类型为非三维模型数据。其中,非三维模型数据可以包括文本数据和图像数据等数据类型中的一项或多项,本公开对此不作限制。
如果浏览器确定该数据的类型为非三维模型数据,则调用浏览器的脚本引擎分析JavaScript得到脚本内容,然后浏览器的渲染引擎通过WebGL技术对得到的脚本内容执行渲染处理。
作为一个示例,浏览器向服务器发送http(HyperText Transfer Protocol,超文本传输协议)访问请求,该http访问请求中携带需要显示的文本数据。服务器接收到该http访问请求,获取并向浏览器发送需要显示的文本数据。浏览器接收到来自服务器的文本数据。浏览器通过Cavas(画布)对该文本数据进行渲染并显示在屏幕上。
在步骤S15中,浏览器展示浏览器的渲染引擎对该数据进行渲染得到的结果。
作为一个示例,加载Active X控件和OSG渲染引擎。在接收到来自于服务器的数据时,确定该数据的类型。如果该数据的类型为三维模型数据,则向Active X控件发送绘制消息,以使得Active X控件在获取到该绘制消息时,调用OSG渲染引擎对该数据进行三维渲染,该绘制消息包括该数据。浏览器展示OSG渲染引擎对该数据进行三维渲染得到的结果。
示例:
图4示出根据本公开一实施例的组网架构图。如图4所示,终端设备上安装有浏览器,并安装有Active X控件和OSG渲染引擎,该OSG渲染引擎能够对数据进行三维渲染。在服务器部署三维展示的服务器程序。例如,三维展示的服务器程序的访问地址为http地址1。在浏览器中输入http地址1,通过浏览器向服务器发送访问http地址1的http访问请求。服务器接收到访问http地址1的http访问请求时,并基于该http访问请求返回数据。
浏览器接收服务器基于该http访问请求返回的数据,并确定该数据的类型。如果该数据的类型为三维模型数据,则向Active X控件发送绘制消息,该绘制消息包括该数据。Active X控件在获取到该绘制消息时,调用OSG渲染引擎对该数据进行三维渲染。OSG渲染引擎调用浏览器的GPU(Graphics Processing Unit,图形处理器)对该数据进行实时渲染,并将得到的三维图像更新展示在浏览器上。
浏览器还可以将三维图像投影到屏幕上。其中,屏幕指的是与终端设备连接的显示器,或通过数据线例如高清HDMI连接线连接的显示装置,例如投影仪、显示器等。
本公开实施例提供的三维渲染方法,能够在浏览器确定需要对接收的数据进行三维渲染时,传输数据并利用安装在本地的渲染引擎对数据进行三维渲染,而渲染引擎执行时并不需要浏览器提供脚本引擎,因此三维渲染的过程并不需要浏览器参与,故在进行三维渲染时能够避免受到浏览器的限制,提高了三维渲染的渲染效率。
图5示出根据本公开一实施例的三维渲染装置的框图。该装置可以硬件或软件形式被集成或安装在终端设备,该终端设备上安装有浏览器,例如Windows IE等。如图5所示,该装置包括确定模块51、第一调用模块52和展示模块53,各模块的描述如下。
确定模块51,用于在所述浏览器接收到来自于服务器的数据时,确定所述数据的类型。
第一调用模块52,用于如果所述数据的类型为三维模型数据,则传输绘制消息,并调用所述渲染引擎对所述数据进行三维渲染,得到渲染结果;其中,所述绘制消息包括所述数据。
展示模块53,用于所述浏览器接收并展示所述渲染引擎传输的渲染结果。
在一种实现方式中,所述渲染引擎为开源场景图形库OSG渲染引擎,则所述第一调用模块52用于:传输绘制消息至Active X控件,所述Active X控件调用OSG渲染引擎对所述数据进行三维渲染。
如图6所示,图6示出根据本公开一实施例的三维渲染装置的框图。
在一种实现方式中,所述第一调用模块52包括定义子模块521、解析子模块522、渲染子模块523,各子模块的描述如下。
定义子模块521,用于定义所述渲染引擎所需的视景器。
解析子模块522,用于对从所述绘制消息中获取的所述数据并进行解析,得到解析后的数据。
渲染子模块523,用于通过所述视景器对所述解析后的数据进行三维渲染。
在一种实现方式中,所述确定模块51包括获取子模块511和确定子模块512,其中:获取子模块511,用于在接收到来自于服务器的数据时,获取所述数据的后缀;确定子模块512,用于根据所述数据的后缀,确定所述数据的类型。
在一种实现方式中,所述装置还包括:第二调用模块54,用于如果所述浏览器确定所述数据的类型为非三维模型数据,则调用所述浏览器的渲染引擎对所述数据进行渲染。
本公开实施例提供的三维渲染装置,能够在浏览器确定需要对接收的数据进行三维渲染时,传输数据并利用安装在本地的渲染引擎对数据进行三维渲染,而渲染引擎执行时并不需要浏览器提供脚本引擎,因此三维渲染的过程并不需要浏览器参与,故在进行三维渲染时能够避免受到浏览器的限制,提高了三维渲染的渲染效率。
图7示出根据本公开一实施例的三维渲染装置的框图。参照图7,该装置700可包括处理器701、存储有机器可执行指令的机器可读存储介质702。处理器701与机器可读存储介质702可经由系统总线703通信。并且,处理器701通过读取机器可读存储介质702中与三维渲染逻辑对应的机器可执行指令以执行上文所述的三维渲染方法。
本文中提到的机器可读存储介质702可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或类似的存储介质,或它们的组合。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (10)
1.一种三维渲染方法,其特征在于,所述方法用于终端设备,所述终端设备上安装有浏览器以及渲染引擎,所述方法包括:
在所述浏览器接收到来自于服务器的数据时,确定所述数据的类型;
如果所述数据的类型为三维模型数据,则传输绘制消息,并调用所述渲染引擎对所述数据进行三维渲染,得到渲染结果;其中,所述绘制消息包括所述数据;
所述浏览器接收并展示所述渲染引擎传输的渲染结果。
2.根据权利要求1所述的方法,其特征在于,所述渲染引擎对所述数据进行三维渲染,包括:
定义所述渲染引擎所需的视景器;
对从所述绘制消息中获取的所述数据并进行解析,得到解析后的数据;
通过所述视景器对所述解析后的数据进行三维渲染。
3.根据权利要求1所述的方法,其特征在于,所述在所述浏览器接收到来自于服务器的数据时,确定所述数据的类型,包括:
在接收到来自于服务器的数据时,获取所述数据的后缀;
根据所述数据的后缀,确定所述数据的类型。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如果所述浏览器确定所述数据的类型为非三维模型数据,则调用所述浏览器的渲染引擎对所述数据进行渲染。
5.根据权利要求1所述的方法,其特征在于,所述渲染引擎为开源场景图形库OSG渲染引擎,则所述传输绘制消息,并调用所述渲染引擎对所述数据进行三维渲染,包括:
传输绘制消息至Active X控件,所述Active X控件调用OSG渲染引擎对所述数据进行三维渲染。
6.一种三维渲染装置,其特征在于,所述装置用于终端设备,所述终端设备上安装有浏览器以及渲染引擎,所述装置包括:
确定模块,用于在所述浏览器接收到来自于服务器的数据时,确定所述数据的类型;
第一调用模块,用于如果所述数据的类型为三维模型数据,则传输绘制消息,并调用所述渲染引擎对所述数据进行三维渲染,得到渲染结果;其中,所述绘制消息包括所述数据;
展示模块,用于所述浏览器接收并展示所述渲染引擎传输的渲染结果。
7.根据权利要求6所述的装置,其特征在于,所述第一调用模块包括:
定义子模块,用于定义所述渲染引擎所需的视景器;
解析子模块,用于对从所述绘制消息中获取的所述数据并进行解析,得到解析后的数据;
渲染子模块,用于通过所述视景器对所述解析后的数据进行三维渲染。
8.根据权利要求6所述的装置,其特征在于,所述确定模块包括:
获取子模块,用于在接收到来自于服务器的数据时,获取所述数据的后缀;
确定子模块,用于根据所述数据的后缀,确定所述数据的类型。
9.根据权利要求6所述的装置,其特征在于,所述装置还包括:
第二调用模块,用于如果所述浏览器确定所述数据的类型为非三维模型数据,则调用所述浏览器的渲染引擎对所述数据进行渲染。
10.根据权利要求6所述的装置,其特征在于,所述渲染引擎为开源场景图形库OSG渲染引擎,则所述第一调用模块用于:
传输绘制消息至Active X控件,所述Active X控件调用OSG渲染引擎对所述数据进行三维渲染。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811278146.7A CN109493404A (zh) | 2018-10-30 | 2018-10-30 | 三维渲染方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811278146.7A CN109493404A (zh) | 2018-10-30 | 2018-10-30 | 三维渲染方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109493404A true CN109493404A (zh) | 2019-03-19 |
Family
ID=65691879
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811278146.7A Pending CN109493404A (zh) | 2018-10-30 | 2018-10-30 | 三维渲染方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109493404A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110442450A (zh) * | 2019-07-10 | 2019-11-12 | 北京云派网络科技有限公司 | 图像处理设备、方法、装置以及素材计算与渲染的系统 |
CN111161390A (zh) * | 2019-12-31 | 2020-05-15 | 北京恒华伟业科技股份有限公司 | 一种基于BIM模型和WebGL的渲染方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070192818A1 (en) * | 2004-10-12 | 2007-08-16 | Mikael Bourges-Sevenier | System and method for creating, distributing, and executing rich multimedia applications |
CN101067827A (zh) * | 2007-06-14 | 2007-11-07 | 上海创图网络科技发展有限公司 | 一种基于浏览器的三维网页实现方法 |
US20140200863A1 (en) * | 2013-01-11 | 2014-07-17 | The Regents Of The University Of Michigan | Monitoring proximity of objects at construction jobsites via three-dimensional virtuality in real-time |
CN105631925A (zh) * | 2015-12-29 | 2016-06-01 | 北京航天测控技术有限公司 | 基于osg三维渲染引擎预处理的三维场景生成方法及装置 |
-
2018
- 2018-10-30 CN CN201811278146.7A patent/CN109493404A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070192818A1 (en) * | 2004-10-12 | 2007-08-16 | Mikael Bourges-Sevenier | System and method for creating, distributing, and executing rich multimedia applications |
CN101067827A (zh) * | 2007-06-14 | 2007-11-07 | 上海创图网络科技发展有限公司 | 一种基于浏览器的三维网页实现方法 |
US20140200863A1 (en) * | 2013-01-11 | 2014-07-17 | The Regents Of The University Of Michigan | Monitoring proximity of objects at construction jobsites via three-dimensional virtuality in real-time |
CN105631925A (zh) * | 2015-12-29 | 2016-06-01 | 北京航天测控技术有限公司 | 基于osg三维渲染引擎预处理的三维场景生成方法及装置 |
Non-Patent Citations (4)
Title |
---|
何丽等: "基于异构CAD平台的可参数化Web三维模型库构建", 《机床与液压》 * |
吴树锦著: "《Internet技术》", 31 August 2010, 对外经济贸易大学出版社 * |
李冻等: "基于OSG的LAS文件三维渲染研究", 《衡阳师范学院学报》 * |
谢嘉成: "采掘运装备虚拟装配与仿真系统设计与实现", 《中国优秀博硕士学位论文全文数据库(硕士)工程科技Ⅰ辑(月刊)》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110442450A (zh) * | 2019-07-10 | 2019-11-12 | 北京云派网络科技有限公司 | 图像处理设备、方法、装置以及素材计算与渲染的系统 |
CN110442450B (zh) * | 2019-07-10 | 2021-12-07 | 北京云派网络科技有限公司 | 图像处理设备、方法、装置以及素材计算与渲染的系统 |
CN111161390A (zh) * | 2019-12-31 | 2020-05-15 | 北京恒华伟业科技股份有限公司 | 一种基于BIM模型和WebGL的渲染方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Potenziani et al. | 3DHOP: 3D heritage online presenter | |
US10026147B1 (en) | Graphics scenegraph rendering for web applications using native code modules | |
WO2018228211A1 (zh) | 应用转换方法、装置及设备 | |
JP5209051B2 (ja) | データシステム及び方法 | |
US8294723B2 (en) | Hardware-accelerated graphics for web applications using native code modules | |
US9710950B2 (en) | Extensible sprite sheet generation mechanism for declarative data formats and animation sequence formats | |
US8151004B1 (en) | File processing to accelerate image viewer initialization | |
CN106484383A (zh) | 页面渲染方法、装置及设备 | |
CN107066631A (zh) | 页面的显示方法、装置及电子设备 | |
Cozzi et al. | OpenGL insights | |
Engelke et al. | MobileAR Browser–A generic architecture for rapid AR-multi-level development | |
CN105096368B (zh) | 三维对象处理方法和相关装置 | |
CN109377554B (zh) | 大型三维模型绘制方法、设备、系统及存储介质 | |
US20090085921A1 (en) | Populate Web-Based Content Based on Space Availability | |
Hales | HTML5 and JavaScript Web Apps: Bridging the gap between the web and the mobile web | |
WO2019152351A1 (en) | Systems and methods for content delivery acceleration of virtual reality and augmented reality web pages | |
Arusoaie et al. | Augmented reality | |
CN105869199A (zh) | 用于处理动画的装置和方法 | |
CN109493404A (zh) | 三维渲染方法及装置 | |
Raji et al. | Scalable web-embedded volume rendering | |
CN112423111A (zh) | 图形引擎和适用于播放器的图形处理方法 | |
US9508108B1 (en) | Hardware-accelerated graphics for user interface elements in web applications | |
CN105786476A (zh) | 移动客户端与服务器之间的数据处理方法及系统 | |
CN116503529A (zh) | 渲染、3d画面控制方法、电子设备和计算机可读存储介质 | |
Marion et al. | A hybrid visualization system for molecular models |
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: 20190319 |