CN105096368B - 三维对象处理方法和相关装置 - Google Patents
三维对象处理方法和相关装置 Download PDFInfo
- Publication number
- CN105096368B CN105096368B CN201510219261.7A CN201510219261A CN105096368B CN 105096368 B CN105096368 B CN 105096368B CN 201510219261 A CN201510219261 A CN 201510219261A CN 105096368 B CN105096368 B CN 105096368B
- Authority
- CN
- China
- Prior art keywords
- dimensional object
- document
- describes
- dimensional
- description
- 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.)
- Active
Links
Landscapes
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明实施例公开了三维对象处理方法和装置。其中,一种三维对象处理方法,可包括:获取万维网页面文档;解析所述万维网页面文档以识别出所述万维网页面文档中包含的三维对象的K个三维描述元素,所述K个三维描述元素包括环境描述元素、状态描述元素、交互描述元素和文字描述元素中的至少一种;根据所述K个三维描述元素构建所述三维对象的三维物体模型;对所述三维物体模型进行渲染以形成所述三维对象的显示位图;基于所述三维对象的显示位图呈现所述三维对象。本发明实施例提供技术方案有利于降低Web页面文档的代码编写复杂度和代码维护成本,降低Web页面文档中3D对象的处理复杂度。
Description
技术领域
本发明涉及计算机技术领域,具体涉及三维对象处理方法和相关装置。
背景技术
计算机三维(3D,3 Dimension)技术通过计算机对现实世界中的空间和物体进行三维建模,然后投影显示到屏幕上以提供较逼真的视觉效果。随着3D电影和3D电视设备的推广,3D显示技术的应用场景也不断扩展。3D显示技术目前可以被广泛应用于数字城市建设、企业展示、产品营销、远程教育、旅游推广、文博展览、企业宣传、军事模拟、房产装修和远程模拟试穿衣物等多种场景。
万维网(Web)页面3D显示技术,主要是指基于Web页面技术进行3D对象的建模和渲染绘制等,可应用于浏览器或其他Web应用中。其中,由于Web页面的开发简易性和Web页面的跨平台运行特点,Web页面3D显示技术的优势越来越明显。
Web页面3D显示技术的出现最早可追溯到20世纪90年代初期推出的虚拟现实建模语言(VRML,Virtual Reality Modeling Language)规范。相关标准组织在2010年推出了一个3D绘图标准,即WebGL。其中,WebGL可以为超文本标记语言5(HTML5,HypertextMarkupLanguage 5)Canvas等提供硬件3D加速渲染,这样Web页面开发人员就可以借助系统显卡来实现在浏览器里更流畅地展示3D场景和对象了,还能创建复杂的导航和数据视觉化。VRML目前已经发展为可扩展三维(X3D,Extensible 3 Dimension)规范,而X3Dom是X3D和WebGL的一种有效结合。W3C组织已成立了Declarative3D讨论组,用于拟定Web页面上更加有效的3D建模和渲染方案,但Declarative3D讨论组目前尚提出成熟规范。
发明人在实现本发明的过程中,发现现有技术至少存在以下缺点:WebGL绝大多数3D功能都基于系统原生接口的Javascript脚本实现,使得Web页面文档的代码编写复杂度较高且代码维护成本极高;且由于Web页面文档中3D对象的呈现过程需要调用大量的系统原生接口,使得Web页面文档中的3D对象的处理复杂度相对较高。
发明内容
本发明实施例提供三维对象处理方法和相关装置,以期降低Web页面文档的代码编写复杂度和代码维护成本,并且降低Web页面文档中3D对象的处理复杂度。
其中,本发明实施例的第一方面提供一种三维对象处理方法,包括:
获取万维网页面文档;
解析所述万维网页面文档以识别出所述万维网页面文档中包含的三维对象的K个三维描述元素,其中,所述K为正整数,其中,所述K个三维描述元素包括环境描述元素、状态描述元素、交互描述元素和文字描述元素中的至少一种;
根据所述K个三维描述元素构建所述三维对象的三维物体模型;
对所述三维物体模型进行渲染以形成所述三维对象的显示位图;
基于所述三维对象的显示位图呈现所述三维对象。
结合第一方面,在第一方面的第一种可能的实施方式中,所述根据所述K个三维描述元素构建所述三维对象的三维物体模型包括:
基于所述K个三维描述元素形成所述三维对象的节点树;基于所述节点树获得所述三维对象的渲染树;基于所述渲染树构建所述三维对象的三维物体模型。
结合第一方面的第一种可能的实施方式,在第一方面的第二种可能的实施方式中,所述方法还包括:
获取所述万维网页面文档需要引用的资源文档;解析所述资源文档以识别出所述资源文档中包含的所述三维对象的X个外观描述元素,其中,所述X为正整数;
其中,所述基于所述节点树获得所述三维对象的渲染树,包括:利用所述X个外观描述元素对所述节点树进行外观增强处理以得到所述三维对象的渲染树。
结合第一方面的第二种可能的实施方式,在第一方面的第三种可能的实施方式中,所述外观描述元素包括:位置描述元素、尺寸描述元素、材质描述元素和颜色描述元素中的至少一种。
结合第一方面的第二种可能的实施方式或第一方面的第三种可能的实施方式,在第一方面的第四种可能的实施方式中,所述资源文档包括层叠样式表文档,所述层叠样式表文档中的所述X个外观描述元素通过内嵌、内联和/或外联的方式被所述万维网页面文档引用。
结合第一方面的第二种可能的实施方式或第一方面的第三种可能的实施方式或第一方面的第四种可能的实施方式,在第一方面的第五种可能的实施方式中,所述资源文档包括属性增强文档,所述万维网页面文档通过所述属性增强文档的统一资源定位符引用所述属性增强文档。
结合第一方面或第一方面的第一种至第五种可能的实施方式中的任意一种可能的实施方式,在第一方面的第六种可能的实施方式中,
所述方法还包括:获取所述万维网页面文档需引用的控制文档;若在所述三维对象的呈现区域检测到被注册到所述控制文档中的输入事件,调用所述控制文档执行所述输入事件对应的响应事件。
结合第一方面的第六种可能的实施方式,在第一方面的第七种可能的实施方式中,所述控制文档包括Javascript文档。
结合第一方面的第六种可能的实施方式或第一方面的第七种可能的实施方式,在第一方面的第八种可能的实施方式中,所述响应事件与所述输入事件的类型相匹配、所述响应事件与所述三维对象当前呈现状态相匹配、或所述响应事件与所述输入事件的类型和所述三维对象当前呈现状态相匹配。
结合第一方面的第六种可能的实施方式或第一方面的第七种可能的实施方式或者第一方面的第八种可能的实施方式,在第一方面的第九种可能的实施方式中,所述响应事件包括调整所述三维对象的呈现状态。
结合第一方面或第一方面的第一种至第九种可能的实施方式中的任意一种可能的实施方式,在第一方面的第十种可能的实施方式中,
所述万维网页面文档为超文本标记语言HTML文档或者可扩展超文本标记语言XHTML文档。
结合第一方面或第一方面的第一种至第十种可能的实施方式中的任意一种可能的实施方式,在第一方面的第十一种可能的实施方式中,所述对所述三维物体模型进行渲染以形成所述三维对象的显示位图包括:调用图形引擎对所述三维物体模型进行渲染以形成所述三维对象的显示位图。
结合第一方面或第一方面的第一种至第十一种可能的实施方式中的任意一种可能的实施方式,在第一方面的第十二种可能的实施方式中,所述环境描述元素包括:气候描述元素、光效描述元素、背景描述元素和静态场景描述元素中的至少一种。
结合第一方面的第十二种可能的实施方式中,在第一方面的第十三种可能的实施方式中,
所述环境描述元素用于描述所述三维对象的呈现环境特性;或者,所述气候描述元素用于描述所述三维对象的呈现环境中的气候特性;或者,所述光效描述元素用于描述所述三维对象的呈现环境中的光效特性;或者,所述背景描述元素用于描述所述三维对象的呈现环境中的背景特性;或者,所述静态场景描述元素用于描述所述三维对象的呈现环境中的静态场景特性。
结合第一方面或第一方面的第一种至第十三种可能的实施方式中的任意一种可能的实施方式,在第一方面的第十四种可能的实施方式中,所述状态描述元素包括:
动画描述元素、旋转描述元素、缩放描述元素、叠加描述元素、深度描述元素和动态场景描述元素中的至少一种。
结合第一方面的第十四种可能的实施方式中,在第一方面的第十五种可能的实施方式中,
所述状态描述元素用于描述所述三维对象的呈现状态特性;或者,所述动画描述元素用于描述所述三维对象的动画呈现效果特性;或者,所述旋转描述元素用于描述所述三维对象的呈现过程中的旋转特性;或者,所述缩放描述元素用于描述所述三维对象的呈现过程中的缩放特性;或者,所述叠加描述元素用于描述呈现的所述三维对象与场景之间的叠加特性;或者,所述叠加描述元素用于描述呈现的所述三维对象与背景之间的叠加特性;或者,所述深度描述元素用于描述所述三维对象与视点之间的距离特性;或者,所述动态场景描述元素用于描述所述三维对象的呈现过程中的动态场景特性。
结合第一方面或第一方面的第一种至第十五种可能的实施方式中的任意一种可能的实施方式,在第一方面的第十六种可能的实施方式中,所述交互描述元素包括:碰撞描述元素、输入事件描述元素和响应事件描述元素之中的至少一种。
结合第一方面的第十六种可能的实施方式中,在第一方面的第十七种可能的实施方式中,所述交互描述元素用于描述呈现的所述三维对象与输入事件之间的交互特性;或者,所述输入事件描述元素用于描述针对呈现的三维对象的输入事件;或者,所述响应事件描述元素用于描述针对呈现的三维对象的输入事件的响应特征。
结合第一方面或第一方面的第一种至第十七种可能的实施方式中的任意一种可能的实施方式,在第一方面的第十八种可能的实施方式中,所述文字描述元素包括:三维字体状态描述元素、二维字体状态描述元素、文字尺寸描述元素和字体描述元素中的至少一种。
结合第一方面的第十八种可能的实施方式中,在第一方面的第十九种可能的实施方式中,
所述文字描述元素用于描述三维对象中的文字的呈现特性;或所述三维字体状态描述元素用于描述所述三维对象中的文字的三维呈现特性;或所述二维字体状态描述元素用于描述所述三维对象中的文字的二维呈现特性,或者所述文字尺寸描述元素用于描述所述三维对象中的文字的呈现大小,或者所述字体描述元素用于描述所述三维对象中的文字的呈现字体。
结合第一方面或第一方面的第一种至第十九种可能的实施方式中的任意一种可能的实施方式,在第一方面的第二十种可能的实施方式中,所述方法还包括基于所述三维对象的显示位图呈现所述三维对象。
此外,本发明实施例的第二方面提供一种三维对象处理装置,包括:
获取单元,用于获取万维网页面文档;
解析单元,用于解析所述万维网页面文档以识别出所述万维网页面文档中包含的三维对象的K个三维描述元素,其中,所述K为正整数,所述K个三维描述元素包括环境描述元素、状态描述元素、交互描述元素和文字描述元素中的至少一种;
建模单元,用于根据所述K个三维描述元素构建所述三维对象的三维物体模型;
渲染单元,用于对所述三维物体模型进行渲染以形成所述三维对象的显示位图;
呈现单元,基于所述三维对象的显示位图呈现所述三维对象。
结合第二方面,在第二方面的第一种可能的实施方式中,所述建模单元具体用于,基于所述K个三维描述元素形成所述三维对象的节点树;基于所述节点树获得所述三维对象的渲染树;基于所述渲染树构建所述三维对象的三维物体模型。
结合第二方面的第一种可能的实施方式,在第二方面的第二种可能的实施方式中,
所述获取单元还用于获取所述万维网页面文档需要引用的资源文档;
所述解析单元还用于解析所述资源文档以识别出所述资源文档中包含的所述三维对象的X个外观描述元素,其中,所述X为正整数;
其中,在所述基于所述节点树获得所述三维对象的渲染树的方面,所述建模单元具体用于,利用所述X个外观描述元素对所述节点树进行外观增强处理以得到所述三维对象的渲染树。
结合第二方面的第二种可能的实施方式,在第二方面的第三种可能的实施方式中,所述外观描述元素包括:位置描述元素、尺寸描述元素、材质描述元素和颜色描述元素中的至少一种。
结合第二方面的第二种可能的实施方式或第二方面的第三种可能的实施方式,在第二方面的第四种可能的实施方式中,所述获取单元获取的所述资源文档包括层叠样式表CSS文档,所述CSS文档中的所述X个外观描述元素通过内嵌、内联和/或外联的方式被所述万维网页面文档引用。
结合第二方面的第二种可能的实施方式或第二方面的第三种可能的实施方式或第二方面的第四种可能的实施方式,在第二方面的第五种可能的实施方式中,所述资源文档包括属性增强文档,所述万维网页面文档通过所述属性增强文档的统一资源定位符引用所述属性增强文档。
结合第二方面或第二方面的第一种至第五种可能的实施方式中的任意一种可能的实施方式,在第二方面的第六种可能的实施方式中,
所述获取单元还用于,获取所述万维网页面文档需引用的控制文档;
所述装置还包括:交互单元,用于若在所述三维对象的呈现区域检测到被注册到所述控制文档中的输入事件,调用所述控制文档执行所述输入事件对应的响应事件。
结合第二方面的第六种可能的实施方式,在第二方面的第七种可能的实施方式中,所述控制文档包括Javascript文档。
结合第二方面的第六种可能的实施方式或第二方面的第七种可能的实施方式,在第二方面的第八种可能的实施方式中,所述响应事件与所述输入事件的类型相匹配、所述响应事件与所述三维对象当前呈现状态相匹配、或所述响应事件与所述输入事件的类型和所述三维对象当前呈现状态相匹配。
结合第二方面的第六种可能的实施方式或第二方面的第七种可能的实施方式或者第二方面的第八种可能的实施方式,在第二方面的第九种可能的实施方式中,所述响应事件包括调整所述三维对象的呈现状态。
结合第二方面或第二方面的第一种至第九种可能的实施方式中的任意一种可能的实施方式,在第二方面的第十种可能的实施方式中,
所述万维网页面文档为超文本标记语言HTML文档或者可扩展超文本标记语言XHTML文档。
结合第二方面或第二方面的第一种至第十种可能的实施方式中的任意一种可能的实施方式,在第二方面的第十一种可能的实施方式中,所述渲染单元具体用于,调用图形引擎对所述三维物体模型进行渲染以形成所述三维对象的显示位图。
结合第二方面或第二方面的第一种至第十一种可能的实施方式中的任意一种可能的实施方式,在第二方面的第十二种可能的实施方式中,所述解析单元识别出的所述环境描述元素包括:气候描述元素、光效描述元素、背景描述元素和静态场景描述元素中的至少一种。
结合第二方面的第十二种可能的实施方式中,在第二方面的第十三种可能的实施方式中,
所述环境描述元素用于描述所述三维对象的呈现环境特性;或者,所述气候描述元素用于描述所述三维对象的呈现环境中的气候特性;或者,所述光效描述元素用于描述所述三维对象的呈现环境中的光效特性;或者,所述背景描述元素用于描述所述三维对象的呈现环境中的背景特性;或者,所述静态场景描述元素用于描述所述三维对象的呈现环境中的静态场景特性。
结合第二方面或第二方面的第一种至第十三种可能的实施方式中的任意一种可能的实施方式,在第二方面的第十四种可能的实施方式中,所述解析单元识别出的所述状态描述元素包括:
动画描述元素、旋转描述元素、缩放描述元素、叠加描述元素、深度描述元素和动态场景描述元素中的至少一种。
结合第二方面的第十四种可能的实施方式中,在第二方面的第十五种可能的实施方式中,
所述状态描述元素用于描述所述三维对象的呈现状态特性;或者,所述动画描述元素用于描述所述三维对象的动画呈现效果特性;或者,所述旋转描述元素用于描述所述三维对象的呈现过程中的旋转特性;或者,所述缩放描述元素用于描述所述三维对象的呈现过程中的缩放特性;或者,所述叠加描述元素用于描述呈现的所述三维对象与场景之间的叠加特性;或者,所述叠加描述元素用于描述呈现的所述三维对象与背景之间的叠加特性;或者,所述深度描述元素用于描述所述三维对象与视点之间的距离特性;或者,所述动态场景描述元素用于描述所述三维对象的呈现过程中的动态场景特性。
结合第二方面或第二方面的第一种至第十五种可能的实施方式中的任意一种可能的实施方式,在第二方面的第十六种可能的实施方式中,所述解析单元识别出的所述交互描述元素包括:碰撞描述元素、输入事件描述元素和响应事件描述元素之中的至少一种。
结合第二方面的第十六种可能的实施方式中,在第二方面的第十七种可能的实施方式中,所述交互描述元素用于描述呈现的所述三维对象与输入事件之间的交互特性;或者,所述输入事件描述元素用于描述针对呈现的三维对象的输入事件;或者,所述响应事件描述元素用于描述针对呈现的三维对象的输入事件的响应特征。
结合第二方面或第二方面的第一种至第十七种可能的实施方式中的任意一种可能的实施方式,在第二方面的第十八种可能的实施方式中,所述解析单元识别出的所述文字描述元素包括:三维字体状态描述元素、二维字体状态描述元素、文字尺寸描述元素和字体描述元素中的至少一种。
结合第二方面的第十八种可能的实施方式中,在第二方面的第十九种可能的实施方式中,
所述文字描述元素用于描述三维对象中的文字的呈现特性;或所述三维字体状态描述元素用于描述所述三维对象中的文字的三维呈现特性;或所述二维字体状态描述元素用于描述所述三维对象中的文字的二维呈现特性,或者所述文字尺寸描述元素用于描述所述三维对象中的文字的呈现大小,或者所述字体描述元素用于描述所述三维对象中的文字的呈现字体。
结合第二方面或第二方面的第一种至第十九种可能的实施方式中的任意一种可能的实施方式,在第二方面的第二十种可能的实施方式中,所述装置还包括呈现单元,用于基于所述三维对象的显示位图呈现所述三维对象。
本发明实施例第三方面提供一种图形显示系统,包括:本发明实施例提供的任意一种三维对象处理装置,以及,图形显示装置,与所述三维对象处理装置具有通信连接,用于基于所述三维对象处理装置得到的所述三维对象的显示位图呈现所述三维对象。
可以看出,本发明实施例技术方案中,解析识别出的web页面文档中包含的三维对象的K个三维描述元素,其中,所述K个三维描述元素包括环境描述元素、状态描述元素、交互描述元素和文字描述元素中的至少一种;即,三维对象的环境、状态、交互和/或文字等相关属性描述均可被封装为web页面文档中的元素,换句话说,三维对象的环境、状态、交互和文字等相关属性描述被模块化和集成化,这有利于极大提高代码重用度,有利于降低包含三维对象的Web页面文档的代码编写复杂度和代码维护成本,因为传统WebGL场景中三维对象的环境、状态、交互和文字等相关属性描述都需要调用大量的系统原生接口来实现。并且,由于环境描述元素、状态描述元素、交互描述元素和/或文字描述元素等被直接包含在了web页面文档中,这样可减少Web页面文档中3D对象的呈现过程所需调用系统原生接口数量,这样有利于降低Web页面文档中3D对象的处理复杂度,进而有利于提升Web页面文档中3D对象呈现效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种三维对象处理方法的流程示意图;
图2-a是本发明实施例提供的另一种三维对象处理方法的流程示意图;
图2-b是本发明实施例提供的一种用户终端的逻辑架构示意图;
图2-c是本发明实施例提供的另一种用户终端的逻辑架构示意图;
图3是本发明实施例提供的另一种三维对象处理方法的流程示意图;
图4是本发明实施例提供的另一种三维对象处理方法的流程示意图;
图5-a~5-e是本发明实施例提供的一些典型应用实例的示意图;
图6是本发明实施例提供的一种三维对象处理装置的结构示意图;
图7是本发明实施例提供的一种用户终端的结构示意图;
图8是本发明实施例提供的一种图形显示系统的示意图。
具体实施方式
本发明实施例提供三维对象处理方法和相关装置,以期降低Web页面文档的代码编写复杂度和代码维护成本,降低Web页面文档中3D对象的处理复杂度。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
以下分别进行详细说明。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或者可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明三维对象处理方法的一实施例,一种三维对象处理方法可以包括:获取web页面文档;解析所述web页面文档以识别出所述web页面文档中包含的三维对象的K个三维描述元素,所述K为正整数,所述K个三维描述元素包括环境描述元素、状态描述元素、交互描述元素和文字描述元素中的至少一种;根据所述K个三维描述元素构建所述三维对象的三维物体模型;对所述三维物体模型进行渲染以形成所述三维对象的显示位图;基于所述三维对象的显示位图呈现所述三维对象。
参见图1,图1为本发明的一个实施例提供的三维对象处理方法的流程示意图。其中,如图1所示,本发明的一个实施例提供的三维对象处理方法可以包括:
S101、获取web页面文档。
其中,可以从互联网服务器(如站点服务器)或本地存储器或其他设备中获取web页面文档。
其中,所述web页面文档可为超文本标记语言(HTML)文档、可扩展超文本标记语言(XHTML,Extensible HypertextMarkup Language)文档或其他类型的web页面文档。
其中,HTML是一种基本的Web页面设计语言,一个页面(如网页)对应一个HTML文档,通过标记符号来标记要显示的页面的各部分。其中,HTML具有简易性、可扩展性和平台无关性等优势,目前最新版本为HTML5。XTHML通常是在HTML4.0基础上,用可扩展标记语言(XML,Exteile MarkuLaguage)的规则对其进行扩展来得到,XTHML的语法要求比HTML更加严格。HTML语法要求比较松散,这样对页面代码编写者来说更加方便。
S102、解析所述web页面文档以识别出所述web页面文档中包含的三维对象的K个三维描述元素。其中,所述K为正整数。其中,所述K个三维描述元素可包括环境描述元素、状态描述元素、交互描述元素和文字描述元素中的至少一种。
其中,所述K例如等于1、2、3、4、5、6、8、31、100、200、501或其他正整数。
进一步的,所述K个三维描述元素还可包括外观描述元素。
其中,本发明的各个实施例中提及的元素(例如外观描述元素、环境描述元素、状态描述元素、交互描述元素和文字描述元素),可为标签元素(外观描述元素例如可以为外观描述标签元素、环境描述元素例如可为环境描述标签元素、状态描述元素例如可以为状态描述标签元素、交互描述元素例如可以为交互描述标签元素、文字描述元素例如可以为文字描述标签元素等)或其他类型的元素。
S103、根据所述K个三维描述元素构建所述三维对象的三维物体模型。
S104、对所述三维物体模型进行渲染以形成所述三维对象的显示位图。
进一步的,还可基于所述三维对象的显示位图呈现所述三维对象,或将所述三维对象的显示位图发送给其他显示设备来呈现所述三维对象。
可以看出,本实施例的方案中,解析识别出的web页面文档中包含的三维对象的K个三维描述元素包括环境描述元素、状态描述元素、交互描述元素和文字描述元素中的至少一种;也就是说,三维对象的环境、状态、交互和/或文字等相关属性描述均可被封装为web页面文档中的元素,换句话说,三维对象的环境、状态、交互和文字等相关属性描述被模块化和集成化了,这有利于极大提高代码重用度,有利于降低包含三维对象的Web页面文档的代码编写复杂度和代码维护成本,因为传统WebGL场景中三维对象的环境、状态、交互和文字等相关属性描述都需要调用大量的系统原生接口来实现。并且,由于可减少Web页面文档中3D对象的呈现过程所需调用系统原生接口数量,这样有利于降低Web页面文档中3D对象的处理复杂度,有利于提升Web页面文档中3D对象呈现效率。
可选的,在本发明的一些可能的实施例中,所述外观描述元素可用于描述所述三维对象的呈现外观特性。
可选的,在本发明一些可能实施例中,所述外观描述元素可包括:位置描述元素、尺寸描述元素、材质描述元素和颜色描述元素中的至少一种。当然所述外观描述元素还可包括描述与三维对象呈现外观相关的其他元素。
可选的,在本发明一些可能的实施例中,尺寸描述元素例如可包括用于描述三维对象呈现尺寸的属性,例如用于描述三维对象呈现长度的属性、用于描述三维对象呈现宽度的属性和/或用于描述三维对象呈现高度的属性等。当然所述尺寸描述元素还可包括描述与三维对象呈现尺寸相关的其他属性。
可选的,在本发明的一些可能的实施例中,材质描述元素例如可包括用于描述纹理的属性等。当然,所述材质描述元素还可包括描述与三维对象呈现材质相关的其他属性。
可选的,在本发明的一些可能的实施例中,位置描述元素例如包括用于描述坐标的属性(例如描述x轴、y轴和z轴的坐标值)、用于描述隐藏/显示的属性等等。当然,所述位置描述元素例如还可能包括描述与三维对象呈现位置相关的其他属性。
可选的,在本发明的一些可能的实施例中,所述环境描述元素可用于描述所述三维对象的呈现环境特性。
可选的,在本发明的一些可能的实施例中,所述环境描述元素包括如下元素中的至少一种:气候描述元素、光效描述元素、背景描述元素和静态场景描述元素。当然,所述环境描述元素还可包括描述与三维对象呈现环境相关的其他一种或多种元素。
可选的,在本发明的一些可能的实施例中,所述气候描述元素用于描述所述三维对象的呈现环境中的气候特性。其中,气候描述元素例如可以包括用于描述风、雨、雷、电、季节等气候特性的子元素或属性。
可选的,在本发明的一些可能的实施例中,所述光效描述元素用于描述所述三维对象的呈现环境中的光效特性。其中,光效描述元素例如可包括用于描述阴影的属性和/或用于描述反射的属性等等。当然,所述光效描述元素还可包括描述与三维对象的光效特性相关的其他一种或多种属性。
可选的,在本发明的一些可能的实施例中,所述背景描述元素可用于描述所述三维对象的呈现环境中的背景特性。其中,所述背景描述元素例如可包括用于描述例如墙纸等背景的子元素或属性。
可选的,在本发明的一些可能的实施例中,所述静态场景描述元素可用于描述所述三维对象的呈现环境中的静态场景特性。其中,静态场景描述元素所描述的三维对象的呈现环境中静态场景可以是街道、商店或操场等。
可选的,在本发明的一些可能的实施例中,所述状态描述元素用于描述所述三维对象的呈现状态特性。
可选的,在本发明的一些可能的实施例中,所述状态描述元素可包括如下元素中的至少一种:动画描述元素、旋转描述元素、缩放描述元素、叠加描述元素、深度描述元素和动态场景描述元素。当然,所述状态描述元素还可包括描述与三维对象状态相关的其他一种或多种元素。
可选的,在本发明的一些可能的实施例中,所述动画描述元素可用于描述所述三维对象的动画呈现效果特性。所述动画描述元素可用于描述所述三维对象相对与场景的动态变化率等。其中,动画描述元素例如可包括用于描述帧率的属性和/或用于描述时长的属性等。
或者,所述旋转描述元素用于描述所述三维对象的呈现过程中的旋转特性;或者,所述缩放描述元素用于描述所述三维对象的呈现过程中的缩放特性;或者,所述叠加描述元素用于描述呈现的所述三维对象与场景之间的叠加特性;或者,所述叠加描述元素用于描述呈现的所述三维对象与背景之间的叠加特性;或者,所述深度描述元素用于描述所述三维对象与视点之间的距离特性;或者,所述动态场景描述元素用于描述所述三维对象的呈现过程中的动态场景特性。
可选的,在本发明的一些可能的实施例中,所述旋转描述元素用于描述所述三维对象的呈现过程中的旋转特性。其中,旋转描述元素例如可包括用于描述旋转角度的属性和/或用于描述旋转速度的属性等。
可选的,在本发明的一些可能的实施例中,所述缩放描述元素用于描述所述三维对象的呈现过程中的缩放特性;所述缩放描述元素例如可包括用于描述三维对象的缩放倍率的子元素或属性等。
可选的,在本发明的一些可能的实施例中,所述叠加描述元素用于描述呈现的所述三维对象与背景之间的叠加特性。其中,叠加描述元素例如可包括用于描述透明叠加的属性和/或用于描述透明度的属性等。
可选的,在本发明的一些可能的实施例中,所述深度描述元素用于描述所述三维对象与视点之间的距离特性。
可选的,在本发明的一些可能的实施例中,所述动态场景描述元素用于描述所述三维对象的呈现过程中的动态场景特性。即动态场景描述元素可描述动态场景在不同时刻的场景变化参量。
其中,动态场景描述元素例如可包括用于描述模型的属性、投影(camera)属性和/或用于描述视点(viewport)的属性等。当然,所述动态场景描述元素还可包括描述与三维对象动态场景相关的其他一种或多种属性。动态场景描述元素所描述的三维对象的呈现环境中动态场景可以是水流,爆照,车流、行云等等。
可选的,在本发明的一些可能的实施例中,所述交互描述元素用于描述呈现的所述三维对象与输入事件之间的交互特性。
可选的,在本发明的一些可能的实施例中,所述交互描述元素例如可以包括如下元素中的至少一种:碰撞描述元素、输入事件描述元素和响应事件描述元素。当然,所述交互描述元素还可包括描述与三维对象交互相关的其他一种或多种元素。
其中,碰撞描述元素例如可包括用于描述需显示于界面内的属性和/或用于描述需要钢体显示的属性等。
可选的,在本发明的一些可能的实施例中,所述输入事件描述元素用于描述针对呈现的三维对象的输入事件。其中,输入事件描述元素例如可包括用于描述输入事件(例如鼠标点击指令、手势指令、语音指令、键盘指令或触摸指令等等)的属性。
可选的,在本发明的一些可能的实施例中,所述响应事件描述元素用于描述针对呈现的三维对象的输入事件的响应特征。其中,响应事件描述元素例如可包括用于描述回调函数的属性。
可选的,在本发明的一些可能的实施例中,所述文字描述元素用于描述三维对象中的文字的呈现特性。
可选的,在本发明一些可能的实施例中,所述文字描述元素包括如下元素中的至少一种:三维字体状态描述元素、二维字体状态描述元素、文字尺寸描述元素和字体描述元素。当然,所述文字描述元素还可包括描述与三维对象文字相关的其他一种或多种元素。
可选的,在本发明的一些可能的实施例中,所述三维字体状态描述元素用于描述所述三维对象中的文字的三维呈现特性。
可选的,在本发明的一些可能的实施例中,所述二维字体状态描述元素用于描述所述三维对象中的文字的二维呈现特性。
可选的,在本发明的一些可能的实施例中,所述文字尺寸描述元素用于描述所述三维对象中的文字的呈现大小。
可选的,在本发明的一些可能的实施例中,所述字体描述元素用于描述所述三维对象中的文字的呈现字体(例如楷体、宋体等)。
可以理解,上述举例中示例性的给出外观描述元素、环境描述元素、状态描述元素、交互描述元素和文字描述元素的一些具体示例,当然在实际应用中并不限于这些举例示例。
可选的,在本发明一些可能的实施例中,所述根据所述K个三维描述元素构建所述三维对象的三维物体模型包括:基于所述K个三维描述元素形成所述三维对象的节点树;基于所述节点树获得所述三维对象的渲染树;基于所述渲染树构建所述三维对象的三维物体模型。
可选的,在本发明一些可能的实施例中,所述对所述三维物体模型进行渲染以形成所述三维对象的显示位图,可包括:调用图形引擎对所述三维物体模型进行渲染以形成所述三维对象的显示位图。
可选的,在本发明一些可能的实施例中,所述方法还可包括:
获取所述web页面文档需要引用的资源文档;解析所述资源文档以识别出所述资源文档中包含的所述三维对象的X个外观描述元素,其中,所述X为正整数。其中,所述基于所述节点树获得所述三维对象的渲染树可包括:利用所述X个外观描述元素对所述节点树进行外观增强处理以得到所述三维对象的渲染树。
其中,所述X例如等于1、2、3、4、5、6、8、31、101、203、505或其他正整数。
可选的,在本发明的一些可能的实施例中,所述资源文档可以包括层叠样式表(CSS,Cascading Style Sheet)文档。其中,CSS文档通常又可称为风格样式表(StyleSheet)文档。
其中,所述CSS文档中的所述X个外观描述元素可通过内嵌、内联和/或外联的方式被所述web页面文档引用。
实践过程中发现,将一些元素(如外观描述元素)文档化,有利于更加简易的实现代码修改和重用,有利于进一步降低包含三维对象的Web页面文档的代码编写复杂度和代码维护成本。并且,文档化的元素通过内嵌、内联和/或外联的方式被所述web页面文档引用,有利于节省系统的资源,提升显示的性能和效率。此外,在CSS文档中可直接使用Transform、Transition和Animation等等功能来丰富的3D动画能力。并且,Animation的Timer触发也可以由Web引擎来统一的触发而不需要中间JS库的中转,进而有利于进一步提升相关的执行性能。
可选的,在本发明的一些可能的实施例中,所述资源文档可包括属性增强文档(如html文档)。所述web页面文档通过所述属性增强文档的统一资源定位符引用所述属性增强文档。
可选的,在本发明的一些可能的实施例中,所述方法还可包括:获取所述web页面文档需引用的控制文档;若在所述三维对象的呈现区域检测到被注册到所述控制文档中的输入事件,调用所述控制文档执行所述输入事件对应的响应事件。可选的,在本发明一些可能的实施例中,所述控制文档可包括Javascript文档等。
实践过程中发现,直接针对3D物体和场景注册事件响应机制,有利于简化编程复杂度。把事件响应过程中3D物体的选择过程通过Web引擎C/C++代码直接实现,有利于提升事件响应性能。
可选的,在本发明的一些可能的实施例中,所述响应事件与所述输入事件的类型和/或所述三维对象当前呈现状态相匹配。也就是说,调用所述控制文档执行所述输入事件对应的响应事件,可包括:调用所述控制文档执行所述输入事件对应的与所述输入事件的类型和/或所述三维对象当前呈现状态相匹配的响应事件。
可选的,在本发明的一些可能的实施例中,所述响应事件例如可以包括调整所述三维对象的呈现状态(如缩放所述三维对象、降低或提升所述三维对象的运动速度)等,当然所述响应事件也可能包括其他的响应操作。
其中,本实施例的上述方案的执行主体可以是用户终端。
其中,本发明的各实施例提及的用户终端例如可以是智能手机、移动互联网设备、数字电视、台式电脑、笔记本电脑、平板电脑、掌上电脑或可穿戴设备等等用户终端。
为便于更好的理解和实施本发明实施例的上述方案,下面通过一些具体的应用场景进行举例说明。
参见图2-a和2-b,图2-a为本发明的另一个实施例提供的三维对象处理方法的流程示意图。其中,图2-a举例所示的三维对象处理方法可在图2-b所示架构的用户终端上实施。
其中,图2-b举例所示逻辑结构的用户终端具体可为智能手机、移动互联网设备、数字电视、台式电脑、笔记本电脑、平板电脑、掌上电脑或可穿戴设备等等用户终端。
如图2-b举例所示,用户终端的硬件层包括CPU、GPU等,当然还可以包括存储器、输入/输出设备、内存、内存控制器、网络接口等等。输入设备可包括键盘、鼠标、触摸屏等等,输出设备可包括显示设备如LCD、CRT、全息成像(Holographic)、投影(Projector)等。其中,在硬件层之上可运行有操作系统(如Android、IOS或Windows等)以及一些应用程序。
核心库是操作系统的核心部分,包括输入/输出服务、核心服务、图形设备接口及实现CPU、GPU图形处理的图形引擎(Graphics Engine)等。图形引擎可包括2D引擎、3D引擎、合成器(Composition)、帧缓冲区(Frame Buffer)等等。除此之外,用户终端还可以包括驱动层、框架层和应用层。驱动层可以包括CPU驱动、GPU驱动和显示控制器驱动等。
框架层包括图形服务(Graphic Service)、系统服务(System service)、网页服务(Web Service)和用户服务(Customer Service)等;图形服务可包括如微件(Widget)、画布(Canvas)、视图(Views)、Render Script等。应用层可包括桌面(launcher)和浏览器(Browser)等等。
应当理解的是,本发明实施例的一些方法的执行主体的逻辑结构例如可以参考图2-b或者其变形结构。其中,本发明实施例的一些方法的执行主体的逻辑结构例如也可以如图2-c或者其变形结构。本发明实施例图形处理装置的一种具体应用可如图2-c所示。在图2-c中,浏览器作为一种应用程序是一个面向用户的产品,需要具备图形处理能力的实体支撑运行。其中,图2-c所示图形引擎、处理器驱动和处理器的软硬件结合的实现方式(应当理解的是:这里的图形引擎和处理器驱动可以理解为内存中存放的程序或指令)。图形引擎或浏览器引擎例如可将一系列指令通过处理器驱动发给对应的处理器,然后由处理器(例如CPU或GPU)执行,最终可将得到的三维对象的显示位图输出到显示设备中。
其中,如图2-a所示,本发明的另一个实施例提供的三维对象处理方法可以包括:
S201、用户终端的浏览器获取web页面文档。
其中,浏览器可以从互联网服务器(如站点服务器)或本地存储器或其他设备中获取web页面文档。
其中,所述web页面文档可为HTML文档、XHTML文档或其他类型的web页面文档。
S202、用户终端的浏览器引擎解析所述web页面文档以识别出所述web页面文档中包含的三维对象的K个三维描述元素。
所述K个三维描述元素可包括环境描述元素、状态描述元素、交互描述元素和文字描述元素中的至少一种。
其中,所述K为正整数。
其中,所述K例如等于1、2、3、4、5、6、8、31、100、200、501或其他正整数。
进一步的,所述K个三维描述元素还可包括外观描述元素。
其中,本发明的各个实施例中提及的元素(例如外观描述元素、环境描述元素、状态描述元素、交互描述元素和文字描述元素),可为标签元素(外观描述元素例如可以为外观描述标签元素、环境描述元素例如可为环境描述标签元素、状态描述元素例如可以为状态描述标签元素、交互描述元素例如可以为交互描述标签元素、文字描述元素例如可以为文字描述标签元素等)或其他类型的元素。
可选的,在本发明的一些可能的实施例中,所述外观描述元素可用于描述所述三维对象的呈现外观特性。
可选的,在本发明一些可能实施例中,所述外观描述元素可包括:位置描述元素、尺寸描述元素、材质描述元素和颜色描述元素中的至少一种。当然所述外观描述元素还可包括描述与三维对象呈现外观相关的其他元素。
可选的,在本发明一些可能的实施例中,尺寸描述元素例如可包括用于描述三维对象呈现尺寸的属性,例如用于描述三维对象呈现长度的属性、用于描述三维对象呈现宽度的属性和/或用于描述三维对象呈现高度的属性等。当然所述尺寸描述元素还可包括描述与三维对象呈现尺寸相关的其他属性。
可选的,在本发明的一些可能的实施例中,材质描述元素例如可包括用于描述纹理的属性等。当然,所述材质描述元素还可包括描述与三维对象呈现材质相关的其他属性。
可选的,在本发明的一些可能的实施例中,位置描述元素例如包括用于描述坐标的属性(例如描述x轴、y轴和z轴的坐标值)、用于描述隐藏/显示的属性等等。当然,所述位置描述元素例如还可能包括描述与三维对象呈现位置相关的其他属性。
可选的,在本发明的一些可能的实施例中,所述环境描述元素可用于描述所述三维对象的呈现环境特性。
可选的,在本发明的一些可能的实施例中,所述环境描述元素包括如下元素中的至少一种:气候描述元素、光效描述元素、背景描述元素和静态场景描述元素。当然,所述环境描述元素还可包括描述与三维对象呈现环境相关的其他一种或多种元素。
可选的,在本发明的一些可能的实施例中,所述气候描述元素用于描述所述三维对象的呈现环境中的气候特性。其中,气候描述元素例如可以包括用于描述风、雨、雷、电、季节等气候特性的子元素或属性。
可选的,在本发明的一些可能的实施例中,所述光效描述元素用于描述所述三维对象的呈现环境中的光效特性。其中,光效描述元素例如可包括用于描述阴影的属性和/或用于描述反射的属性等等。当然,所述光效描述元素还可包括描述与三维对象的光效特性相关的其他一种或多种属性。
可选的,在本发明的一些可能的实施例中,所述背景描述元素可用于描述所述三维对象的呈现环境中的背景特性。其中,所述背景描述元素例如可包括用于描述例如墙纸等背景的子元素或属性。
可选的,在本发明的一些可能的实施例中,所述静态场景描述元素可用于描述所述三维对象的呈现环境中的静态场景特性。其中,静态场景描述元素所描述的三维对象的呈现环境中静态场景可以是街道、商店或操场等。
可选的,在本发明的一些可能的实施例中,所述状态描述元素用于描述所述三维对象的呈现状态特性。
可选的,在本发明的一些可能的实施例中,所述状态描述元素可包括如下元素中的至少一种:动画描述元素、旋转描述元素、缩放描述元素、叠加描述元素、深度描述元素和动态场景描述元素。当然,所述状态描述元素还可包括描述与三维对象状态相关的其他一种或多种元素。
可选的,在本发明的一些可能的实施例中,所述动画描述元素可用于描述所述三维对象的动画呈现效果特性。所述动画描述元素可用于描述所述三维对象相对与场景的动态变化率等。其中,动画描述元素例如可包括用于描述帧率的属性和/或用于描述时长的属性等。
或者,所述旋转描述元素用于描述所述三维对象的呈现过程中的旋转特性;或者,所述缩放描述元素用于描述所述三维对象的呈现过程中的缩放特性;或者,所述叠加描述元素用于描述呈现的所述三维对象与场景之间的叠加特性;或者,所述叠加描述元素用于描述呈现的所述三维对象与背景之间的叠加特性;或者,所述深度描述元素用于描述所述三维对象与视点之间的距离特性;或者,所述动态场景描述元素用于描述所述三维对象的呈现过程中的动态场景特性。
可选的,在本发明的一些可能的实施例中,所述旋转描述元素用于描述所述三维对象的呈现过程中的旋转特性。其中,旋转描述元素例如可包括用于描述旋转角度的属性和/或用于描述旋转速度的属性等。
可选的,在本发明的一些可能的实施例中,所述缩放描述元素用于描述所述三维对象的呈现过程中的缩放特性;所述缩放描述元素例如可包括用于描述三维对象的缩放倍率的子元素或属性等。
可选的,在本发明的一些可能的实施例中,所述叠加描述元素用于描述呈现的所述三维对象与背景之间的叠加特性。其中,叠加描述元素例如可包括用于描述透明叠加的属性和/或用于描述透明度的属性等。
可选的,在本发明的一些可能的实施例中,所述深度描述元素用于描述所述三维对象与视点之间的距离特性。
可选的,在本发明的一些可能的实施例中,所述动态场景描述元素用于描述所述三维对象的呈现过程中的动态场景特性。即动态场景描述元素可描述动态场景在不同时刻的场景变化参量。
其中,动态场景描述元素例如可包括用于描述模型的属性、投影(camera)属性和/或用于描述视点(viewport)的属性等。当然,所述动态场景描述元素还可包括描述与三维对象动态场景相关的其他一种或多种属性。动态场景描述元素所描述的三维对象的呈现环境中动态场景可以是水流,爆照,车流、行云等等。
可选的,在本发明的一些可能的实施例中,所述交互描述元素用于描述呈现的所述三维对象与输入事件之间的交互特性。
可选的,在本发明的一些可能的实施例中,所述交互描述元素例如可以包括如下元素中的至少一种:碰撞描述元素、输入事件描述元素和响应事件描述元素。当然,所述交互描述元素还可包括描述与三维对象交互相关的其他一种或多种元素。
其中,碰撞描述元素例如可包括用于描述需显示于界面内的属性和/或用于描述需要钢体显示的属性等。
可选的,在本发明的一些可能的实施例中,所述输入事件描述元素用于描述针对呈现的三维对象的输入事件。其中,输入事件描述元素例如可包括用于描述输入事件(例如鼠标点击指令、手势指令、语音指令、键盘指令或触摸指令等等)的属性。
可选的,在本发明的一些可能的实施例中,所述响应事件描述元素用于描述针对呈现的三维对象的输入事件的响应特征。其中,响应事件描述元素例如可包括用于描述回调函数的属性。
可选的,在本发明的一些可能的实施例中,所述文字描述元素用于描述三维对象中的文字的呈现特性。
可选的,在本发明一些可能的实施例中,所述文字描述元素包括如下元素中的至少一种:三维字体状态描述元素、二维字体状态描述元素、文字尺寸描述元素和字体描述元素。当然,所述文字描述元素还可包括描述与三维对象文字相关的其他一种或多种元素。
可选的,在本发明的一些可能的实施例中,所述三维字体状态描述元素用于描述所述三维对象中的文字的三维呈现特性。
可选的,在本发明的一些可能的实施例中,所述二维字体状态描述元素用于描述所述三维对象中的文字的二维呈现特性。
可选的,在本发明的一些可能的实施例中,所述文字尺寸描述元素用于描述所述三维对象中的文字的呈现大小。
可选的,在本发明的一些可能的实施例中,所述字体描述元素用于描述所述三维对象中的文字的呈现字体(例如楷体、宋体等)。
可以理解,上述举例中示例性的给出外观描述元素、环境描述元素、状态描述元素、交互描述元素和文字描述元素的一些具体示例,当然在实际应用中并不限于这些举例示例。
S203、用户终端的浏览器引擎基于所述K个三维描述元素形成所述三维对象的节点树。
S204、用户终端的浏览器引擎基于所述三维对象的节点树获得所述三维对象的渲染树。
S205、用户终端的图形引擎(Graphics Engine)基于所述三维对象的渲染树构建所述三维对象的三维物体模型。
其中,用户终端的图形引擎可在浏览器引擎的调用下,基于所述三维对象的渲染树构建所述三维对象的三维物体模型。例如,用户终端的图形引擎中的3D引擎可在浏览器引擎的调用下,基于所述三维对象的渲染树构建所述三维对象的三维物体模型。
S206、用户终端的图形引擎对所述三维物体模型进行渲染以形成所述三维对象的显示位图。
其中,用户终端的图形引擎可在浏览器引擎的调用下,对所述三维物体模型进行渲染以形成所述三维对象的显示位图。例如,用户终端的图形引擎中的合成器(Composition)可在浏览器引擎的调用下,基于所述三维对象的渲染树构建所述三维对象的三维物体模型。
S207、用户终端的显示设备基于所述三维对象的显示位图来呈现所述三维对象。
可以看出,本实施例的方案,用户终端解析识别出的web页面文档中包含的三维对象的K个三维描述元素包括环境描述元素、状态描述元素、交互描述元素和文字描述元素中的至少一种。也就是说三维对象的环境、状态、交互和/或文字等相关属性描述均可被封装为web页面文档中的元素,换句话说,三维对象的环境、状态、交互和文字等相关属性描述被模块化和集成化,这有利于极大提高代码重用度,有利于降低包含三维对象的Web页面文档的代码编写复杂度和代码维护成本,因为传统WebGL场景中三维对象的环境、状态、交互和文字等相关属性描述都需要调用大量的系统原生接口来实现。并且,由于可减少Web页面文档中3D对象的呈现过程所需调用系统原生接口数量,这样有利于降低Web页面文档中3D对象的处理复杂度,有利于提升Web页面文档中3D对象呈现效率。
参见图3,图3为本发明的另一个实施例提供的三维对象处理方法的流程示意图。其中,图3举例所示的三维对象处理方法可在图2-b所示架构的用户终端上实施。
如图3所示,本发明的另一个实施例提供的三维对象处理方法可以包括:
S301、用户终端的浏览器获取web页面文档。
其中,浏览器可以从互联网服务器(如站点服务器)或本地存储器或其他设备中获取web页面文档。
其中,所述web页面文档可为HTML文档、XHTML文档或其他类型的web页面文档。
S302、用户终端的浏览器引擎解析所述web页面文档以确定出所述web页面文档需要引用的资源文档。
S303、用户终端的浏览器获取所述web页面文档需要引用的资源文档。
其中,浏览器可以从互联网服务器(如站点服务器)或本地存储器或其他设备中获取web页面文档需要引用的资源文档。
可选的,在本发明的一些可能的实施例中,所述资源文档可以包括层叠样式表(CSS,Cascading Style Sheet)文档。其中,CSS文档通常又可称为风格样式表(StyleSheet)文档。
可选的,在本发明的一些可能的实施例中,所述资源文档可包括属性增强文档(如html文档)。所述web页面文档通过所述属性增强文档的统一资源定位符引用所述属性增强文档。
S304、用户终端的浏览器引擎解析所述web页面文档以识别出所述web页面文档中包含的三维对象的K个三维描述元素。
S304b、用户终端的浏览器引擎还解析所述资源文档以识别出所述资源文档中包含的所述三维对象的X个外观描述元素。
所述K个三维描述元素可包括环境描述元素、状态描述元素、交互描述元素和文字描述元素中的至少一种。
其中,所述K为正整数。
其中,所述K例如等于1、2、3、4、5、6、8、31、100、200、501或其他正整数。
其中,所述X为正整数。
其中,所述X例如等于1、2、3、4、5、6、8、31、100、200、501或其他正整数。
进一步的,所述K个三维描述元素还可包括外观描述元素。
其中,本发明的各个实施例中提及的元素(例如外观描述元素、环境描述元素、状态描述元素、交互描述元素和文字描述元素),可为标签元素(外观描述元素例如可以为外观描述标签元素、环境描述元素例如可为环境描述标签元素、状态描述元素例如可以为状态描述标签元素、交互描述元素例如可以为交互描述标签元素、文字描述元素例如可以为文字描述标签元素等)或其他类型的元素。
S305、用户终端的浏览器引擎基于所述K个三维描述元素形成所述三维对象的节点树。
S306、用户终端的浏览器引擎利用所述X个外观描述元素对所述节点树进行外观增强处理以得到所述三维对象的渲染树。
S307、用户终端的图形引擎(Graphics Engine)基于所述三维对象的渲染树构建所述三维对象的三维物体模型。
其中,用户终端的图形引擎可在浏览器引擎的调用下,基于所述三维对象的渲染树构建所述三维对象的三维物体模型。例如,用户终端的图形引擎中的3D引擎可在浏览器引擎的调用下,基于所述三维对象的渲染树构建所述三维对象的三维物体模型。
S308、用户终端的图形引擎对所述三维物体模型进行渲染以形成所述三维对象的显示位图。
其中,用户终端的图形引擎可在浏览器引擎的调用下,对所述三维物体模型进行渲染以形成所述三维对象的显示位图。例如,用户终端的图形引擎中的合成器(Composition)可在浏览器引擎的调用下,基于所述三维对象的渲染树构建所述三维对象的三维物体模型。
S309、用户终端的显示设备基于所述三维对象的显示位图来呈现所述三维对象。
可以看出,本实施例的方案中,用户终端解析识别出的web页面文档中包含的三维对象的K个三维描述元素包括环境描述元素、状态描述元素、交互描述元素和文字描述元素中的至少一种。解析识别出的web页面文档需要引用的资源文档以识别出资源文档中包含的所述三维对象的X个外观描述元素,也就是说三维对象的外观、环境、状态、交互和文字等相关属性描述均可被封装为web页面文档或资源文档中的元素,即三维对象的外观、环境、状态、交互和文字等相关属性描述被模块化和集成化,这有利于极大提高代码重用度,有利于降低包含三维对象的Web页面文档的代码编写复杂度和代码维护成本,因为传统WebGL场景中三维对象的外观、环境、状态、交互和文字等相关属性描述都需要调用大量的系统原生接口来实现。并且,由于可减少Web页面文档中3D对象的呈现过程所需调用系统原生接口数量,这样有利于降低Web页面文档中3D对象的处理复杂度,有利于提升Web页面文档中3D对象呈现效率。
并且,通过将一些元素(如外观描述元素)文档化,有利于更加简易的实现代码修改和重用,有利于进一步降低包含三维对象的Web页面文档的代码编写复杂度和代码维护成本。并且,文档化的元素可以通过内嵌、内联和/或外联的方式被所述web页面文档引用,有利于节省系统的资源,提升显示的性能和效率。
参见图4,图4为本发明的另一个实施例提供的三维对象处理方法的流程示意图。其中,图4举例所示的三维对象处理方法可在图2-b所示架构的用户终端上实施。
如图4所示,本发明的另一个实施例提供的三维对象处理方法可以包括:
S401、用户终端的浏览器获取web页面文档。
其中,浏览器可以从互联网服务器(如站点服务器)或本地存储器或其他设备中获取web页面文档。
其中,所述web页面文档可为HTML文档、XHTML文档或其他类型的web页面文档。
S402、用户终端的浏览器引擎解析所述web页面文档以确定出所述web页面文档需要引用的资源文档和控制文档。
S403、用户终端的浏览器获取所述web页面文档需要引用的资源文档和控制文档。
其中,浏览器可以从互联网服务器(如站点服务器)或本地存储器或其他设备中获取web页面文档需要引用的资源文档和控制文档。
可选的,在本发明的一些可能的实施例中,所述资源文档可以包括层叠样式表(CSS)文档。其中,CSS文档通常又可称为风格样式表(Style Sheet)文档等。
可选的,在本发明的一些可能的实施例中,所述资源文档可包括属性增强文档(如html文档)。所述web页面文档通过所述属性增强文档的统一资源定位符引用所述属性增强文档。
可选的,在本发明一些可能的实施例中,所述控制文档可包括Javascript文档等。
实践过程中发现,将一些元素(如外观描述元素)文档化,有利于更加简易的实现代码修改和重用,有利于进一步降低包含三维对象的Web页面文档的代码编写复杂度和代码维护成本。并且,文档化的元素通过内嵌、内联和/或外联的方式被所述web页面文档引用,有利于节省系统的资源,提升显示的性能和效率。此外,在CSS文档中可直接使用Transform、Transition和Animation等等功能来丰富的3D动画能力。并且,Animation的Timer触发也可以由Web引擎来统一的触发而不需要中间JS库的中转,进而有利于进一步提升相关的执行性能。
S404、用户终端的浏览器引擎解析所述web页面文档以识别出所述web页面文档中包含的三维对象的K个三维描述元素。
S40b、用户终端的浏览器引擎还解析所述资源文档以识别出所述资源文档中包含的所述三维对象的X个外观描述元素。
所述K个三维描述元素可包括环境描述元素、状态描述元素、交互描述元素和文字描述元素中的至少一种。
其中,所述K为正整数。
其中,所述K例如等于1、2、3、4、5、6、8、31、100、200、501或其他正整数。
其中,所述X为正整数。
其中,所述X例如等于1、2、3、4、5、6、8、31、100、200、501或其他正整数。
进一步的,所述K个三维描述元素还可包括外观描述元素。
其中,本发明的各个实施例中提及的元素(例如外观描述元素、环境描述元素、状态描述元素、交互描述元素和文字描述元素),可为标签元素(外观描述元素例如可以为外观描述标签元素、环境描述元素例如可为环境描述标签元素、状态描述元素例如可以为状态描述标签元素、交互描述元素例如可以为交互描述标签元素、文字描述元素例如可以为文字描述标签元素等)或其他类型的元素。
S405、用户终端的浏览器引擎基于所述K个三维描述元素形成所述三维对象的节点树。
S406、用户终端的浏览器引擎利用所述X个外观描述元素对所述节点树进行外观增强处理以得到所述三维对象的渲染树。
S407、用户终端的图形引擎(Graphics Engine)基于所述三维对象的渲染树构建所述三维对象的三维物体模型。
其中,用户终端的图形引擎可在浏览器引擎的调用下,基于所述三维对象的渲染树构建所述三维对象的三维物体模型。例如,用户终端的图形引擎中的3D引擎可在浏览器引擎的调用下,基于所述三维对象的渲染树构建所述三维对象的三维物体模型。
S408、用户终端的图形引擎对所述三维物体模型进行渲染以形成所述三维对象的显示位图。
其中,用户终端的图形引擎可在浏览器引擎的调用下,对所述三维物体模型进行渲染以形成所述三维对象的显示位图。例如,用户终端的图形引擎中的合成器(Composition)可在浏览器引擎的调用下,基于所述三维对象的渲染树构建所述三维对象的三维物体模型。
S409、用户终端的显示设备基于所述三维对象的显示位图来呈现所述三维对象。
S410、用户终端的浏览器引擎在所述三维对象的呈现区域检测是否存在被注册到所述控制文档中的输入事件。
若是,则执行步骤S411。
如否,则执行步骤S410。
S411、用户终端的浏览器引擎若在所述三维对象的呈现区域检测到被注册到所述控制文档中的输入事件,用户终端的浏览器引擎调用所述控制文档执行所述输入事件对应的响应事件。
实践过程中发现,直接针对3D物体和场景注册事件响应机制,有利于简化编程复杂度。把事件响应过程中3D物体的选择过程通过Web引擎C/C++代码直接实现,有利于提升事件响应性能。
可选的,在本发明的一些可能的实施例中,所述响应事件与所述输入事件的类型和/或所述三维对象当前呈现状态相匹配。也就是说,调用所述控制文档执行所述输入事件对应的响应事件,可包括:调用所述控制文档执行所述输入事件对应的与所述输入事件的类型和/或所述三维对象当前呈现状态相匹配的响应事件。
可选的,在本发明的一些可能的实施例中,所述响应事件例如可以包括调整所述三维对象的呈现状态(如缩放所述三维对象、降低或提升所述三维对象的运动速度)等,当然所述响应事件也可能包括其他的响应操作。
可以看出,本实施例的方案中,用户终端解析识别出的web页面文档中包含的三维对象的K个三维描述元素包括环境描述元素、状态描述元素、交互描述元素和文字描述元素中的至少一种。解析识别出的web页面文档需要引用的资源文档以识别出资源文档中包含的所述三维对象的X个外观描述元素,也就是说三维对象的外观、环境、状态、交互和文字等相关属性描述均可被封装为web页面文档或资源文档中的元素,即三维对象的外观、环境、状态、交互和文字等相关属性描述被模块化和集成化,这有利于极大提高代码重用度,有利于降低包含三维对象的Web页面文档的代码编写复杂度和代码维护成本,因为传统WebGL场景中三维对象的外观、环境、状态、交互和文字等相关属性描述都需要调用大量的系统原生接口来实现。并且,由于可减少Web页面文档中3D对象的呈现过程所需调用系统原生接口数量,这样有利于降低Web页面文档中3D对象的处理复杂度,有利于提升Web页面文档中3D对象呈现效率。
并且,通过将一些元素(如外观描述元素)文档化,有利于更加简易的实现代码修改和重用,有利于进一步降低包含三维对象的Web页面文档的代码编写复杂度和代码维护成本。并且,文档化的元素可以通过内嵌、内联和/或外联的方式被所述web页面文档引用,有利于节省系统的资源,提升显示的性能和效率。
进一步的,若直接针对3D物体和场景注册事件响应机制,有利于简化编程复杂度。把事件响应过程中3D物体的选择过程通过浏览器引擎C/C++代码直接实现,有利于提升事件响应性能。
参见图5-a~图5-e,图5-a~图5-e举例示出了一些典型应用实例。
其中,图5-a示出了一种3D空间和3D对象建模实例。图5-a所示的代码定义了鱼身3D物体,其中,鱼身的建模数据从外部json文件中读取,鱼身的纹理从外部png图片中读取。
其中,图5-b示出了一种3D对象重用实例。其中,图5-b所示的代码定义了一条鱼,其中,鱼头、鱼身和鱼尾的定义从外部import导入。
其中,图5-c示出了一种3D对象事件注册实例。图5-c所示的代码定义了呈现的鱼被点击后触发的onclick处理事件。
其中,图5-d示出了一种3D鱼的CSS动画实例。图5-d所示的代码定义了3D鱼的CSS动画实例。其中,图5-d示出了的3D鱼的CSS动画实例的呈现效果可如图5-e举例所示。
可以理解,图5-a~图5-e以鱼为例来进行举例的,其他三维对象的定义方式以此类推。
请参见图6,本发明实施例提供的一种三维对象处理装置600,可以包括:获取单元610、解析单元620、建模单元630、渲染单元640和呈现单元650。
获取单元610,用于获取万维网页面文档。
解析单元620,用于解析所述万维网页面文档以识别出所述万维网页面文档中包含的三维对象的K个三维描述元素,其中,所述K为正整数,所述K个三维描述元素包括环境描述元素、状态描述元素、交互描述元素和文字描述元素中的至少一种。
建模单元630,用于根据所述K个三维描述元素构建所述三维对象的三维物体模型;
渲染单元640,用于对所述三维物体模型进行渲染以形成所述三维对象的显示位图。
可选的,三维对象处理装置600还可包括呈现单元650,基于所述三维对象的显示位图呈现所述三维对象。
可选的,在本发明的一些可能的实施方式中,所述建模单元具体630例如可以用于基于所述K个三维描述元素形成所述三维对象的节点树;基于所述节点树获得所述三维对象的渲染树;基于所述渲染树构建所述三维对象的三维物体模型。
可选的,在本发明的一些可能的实施方式中,所述获取单元还用于获取所述万维网页面文档需要引用的资源文档。
所述解析单元还用于解析所述资源文档以识别出所述资源文档中包含的所述三维对象的X个外观描述元素,其中,所述X为正整数;
其中,在所述基于所述节点树获得所述三维对象的渲染树的方面,所述建模单元630具体用于,利用所述X个外观描述元素对所述节点树进行外观增强处理以得到所述三维对象的渲染树。
可选的,在本发明的一些可能的实施方式中,
所述外观描述元素包括:位置描述元素、尺寸描述元素、材质描述元素和颜色描述元素中的至少一种。
可选的,在本发明的一些可能的实施方式中,所述资源文档包括层叠样式表文档,所述层叠样式表文档中的所述X个外观描述元素通过内嵌、内联和/或外联的方式被所述万维网页面文档引用。
可选的,在本发明的一些可能的实施方式中,所述资源文档包括属性增强文档,所述万维网页面文档通过所述属性增强文档的统一资源定位符引用所述属性增强文档。
可选的,在本发明的一些可能的实施方式中,
所述获取单元610还用于,获取所述万维网页面文档需引用的控制文档;
所述装置还包括:交互单元660,用于若在所述三维对象的呈现区域检测到被注册到所述控制文档中的输入事件,调用所述控制文档执行所述输入事件对应的响应事件。
可选的,在本发明的一些可能的实施方式中,所述控制文档包括Javascript文档。
可选的,在本发明的一些可能的实施方式中,所述响应事件与所述输入事件的类型和/或所述三维对象当前呈现状态相匹配。
可选的,在本发明的一些可能的实施方式中,所述响应事件包括调整所述三维对象的呈现状态。
可选的,在本发明的一些可能的实施方式中,所述万维网页面文档为超文本标记语言HTML文档或者可扩展超文本标记语言XHTML文档。
可选的,在本发明的一些可能的实施方式中,
所述渲染单元640具体用于,调用图形引擎对所述三维物体模型进行渲染以形成所述三维对象的显示位图。
可选的,在本发明的一些可能的实施例中,所述外观描述元素可用于描述所述三维对象的呈现外观特性。
可选的,在本发明一些可能实施例中,所述外观描述元素可包括:位置描述元素、尺寸描述元素、材质描述元素和颜色描述元素中的至少一种。当然所述外观描述元素还可包括描述与三维对象呈现外观相关的其他元素。
可选的,在本发明一些可能的实施例中,尺寸描述元素例如可包括用于描述三维对象呈现尺寸的属性,例如用于描述三维对象呈现长度的属性、用于描述三维对象呈现宽度的属性和/或用于描述三维对象呈现高度的属性等。当然所述尺寸描述元素还可包括描述与三维对象呈现尺寸相关的其他属性。
可选的,在本发明的一些可能的实施例中,材质描述元素例如可包括用于描述纹理的属性等。当然,所述材质描述元素还可包括描述与三维对象呈现材质相关的其他属性。
可选的,在本发明的一些可能的实施例中,位置描述元素例如包括用于描述坐标的属性(例如描述x轴、y轴和z轴的坐标值)、用于描述隐藏/显示的属性等等。当然,所述位置描述元素例如还可能包括描述与三维对象呈现位置相关的其他属性。
可选的,在本发明的一些可能的实施例中,所述环境描述元素可用于描述所述三维对象的呈现环境特性。
可选的,在本发明的一些可能的实施例中,所述环境描述元素包括如下元素中的至少一种:气候描述元素、光效描述元素、背景描述元素和静态场景描述元素。当然,所述环境描述元素还可包括描述与三维对象呈现环境相关的其他一种或多种元素。
可选的,在本发明的一些可能的实施例中,所述气候描述元素用于描述所述三维对象的呈现环境中的气候特性。其中,气候描述元素例如可以包括用于描述风、雨、雷、电、季节等气候特性的子元素或属性。
可选的,在本发明的一些可能的实施例中,所述光效描述元素用于描述所述三维对象的呈现环境中的光效特性。其中,光效描述元素例如可包括用于描述阴影的属性和/或用于描述反射的属性等等。当然,所述光效描述元素还可包括描述与三维对象的光效特性相关的其他一种或多种属性。
可选的,在本发明的一些可能的实施例中,所述背景描述元素可用于描述所述三维对象的呈现环境中的背景特性。其中,所述背景描述元素例如可包括用于描述例如墙纸等背景的子元素或属性。
可选的,在本发明的一些可能的实施例中,所述静态场景描述元素可用于描述所述三维对象的呈现环境中的静态场景特性。其中,静态场景描述元素所描述的三维对象的呈现环境中静态场景可以是街道、商店或操场等。
可选的,在本发明的一些可能的实施例中,所述状态描述元素用于描述所述三维对象的呈现状态特性。
可选的,在本发明的一些可能的实施例中,所述状态描述元素可包括如下元素中的至少一种:动画描述元素、旋转描述元素、缩放描述元素、叠加描述元素、深度描述元素和动态场景描述元素。当然,所述状态描述元素还可包括描述与三维对象状态相关的其他一种或多种元素。
可选的,在本发明的一些可能的实施例中,所述动画描述元素可用于描述所述三维对象的动画呈现效果特性。所述动画描述元素可用于描述所述三维对象相对与场景的动态变化率等。其中,动画描述元素例如可包括用于描述帧率的属性和/或用于描述时长的属性等。
或者,所述旋转描述元素用于描述所述三维对象的呈现过程中的旋转特性;或者,所述缩放描述元素用于描述所述三维对象的呈现过程中的缩放特性;或者,所述叠加描述元素用于描述呈现的所述三维对象与场景之间的叠加特性;或者,所述叠加描述元素用于描述呈现的所述三维对象与背景之间的叠加特性;或者,所述深度描述元素用于描述所述三维对象与视点之间的距离特性;或者,所述动态场景描述元素用于描述所述三维对象的呈现过程中的动态场景特性。
可选的,在本发明的一些可能的实施例中,所述旋转描述元素用于描述所述三维对象的呈现过程中的旋转特性。其中,旋转描述元素例如可包括用于描述旋转角度的属性和/或用于描述旋转速度的属性等。
可选的,在本发明的一些可能的实施例中,所述缩放描述元素用于描述所述三维对象的呈现过程中的缩放特性;所述缩放描述元素例如可包括用于描述三维对象的缩放倍率的子元素或属性等。
可选的,在本发明的一些可能的实施例中,所述叠加描述元素用于描述呈现的所述三维对象与背景之间的叠加特性。其中,叠加描述元素例如可包括用于描述透明叠加的属性和/或用于描述透明度的属性等。
可选的,在本发明的一些可能的实施例中,所述深度描述元素用于描述所述三维对象与视点之间的距离特性。
可选的,在本发明的一些可能的实施例中,所述动态场景描述元素用于描述所述三维对象的呈现过程中的动态场景特性。即动态场景描述元素可描述动态场景在不同时刻的场景变化参量。
其中,动态场景描述元素例如可包括用于描述模型的属性、投影(camera)属性和/或用于描述视点(viewport)的属性等。当然,所述动态场景描述元素还可包括描述与三维对象动态场景相关的其他一种或多种属性。动态场景描述元素所描述的三维对象的呈现环境中动态场景可以是水流,爆照,车流、行云等等。
可选的,在本发明的一些可能的实施例中,所述交互描述元素用于描述呈现的所述三维对象与输入事件之间的交互特性。
可选的,在本发明的一些可能的实施例中,所述交互描述元素例如可以包括如下元素中的至少一种:碰撞描述元素、输入事件描述元素和响应事件描述元素。当然,所述交互描述元素还可包括描述与三维对象交互相关的其他一种或多种元素。
其中,碰撞描述元素例如可包括用于描述需显示于界面内的属性和/或用于描述需要钢体显示的属性等。
可选的,在本发明的一些可能的实施例中,所述输入事件描述元素用于描述针对呈现的三维对象的输入事件。其中,输入事件描述元素例如可包括用于描述输入事件(例如鼠标点击指令、手势指令、语音指令、键盘指令或触摸指令等等)的属性。
可选的,在本发明的一些可能的实施例中,所述响应事件描述元素用于描述针对呈现的三维对象的输入事件的响应特征。其中,响应事件描述元素例如可包括用于描述回调函数的属性。
可选的,在本发明的一些可能的实施例中,所述文字描述元素用于描述三维对象中的文字的呈现特性。
可选的,在本发明一些可能的实施例中,所述文字描述元素包括如下元素中的至少一种:三维字体状态描述元素、二维字体状态描述元素、文字尺寸描述元素和字体描述元素。当然,所述文字描述元素还可包括描述与三维对象文字相关的其他一种或多种元素。
可选的,在本发明的一些可能的实施例中,所述三维字体状态描述元素用于描述所述三维对象中的文字的三维呈现特性。
可选的,在本发明的一些可能的实施例中,所述二维字体状态描述元素用于描述所述三维对象中的文字的二维呈现特性。
可选的,在本发明的一些可能的实施例中,所述文字尺寸描述元素用于描述所述三维对象中的文字的呈现大小。
可选的,在本发明的一些可能的实施例中,所述字体描述元素用于描述所述三维对象中的文字的呈现字体(例如楷体、宋体等)。
可以理解,本实施例的三维对象处理装置600的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
其中,三维对象处理装置600可部署于用户终端或为用户终端本身。
在本发明一些可能的实施方式中,三维对象处理装置600可用硬件、软件或软硬件结合的形式实现,具体地,可实现为一个或多个计算机系统或其它处理系统。
可以看出,本发明实施例的技术方案中,三维对象处理装置600解析识别出的web页面文档中包含的三维对象的K个三维描述元素可以包括:环境描述元素、状态描述元素、交互描述元素和文字描述元素中的至少一种;即,三维对象的环境、状态、交互和/或文字等相关属性描述均可被封装为web页面文档中的元素,换句话说,三维对象的环境、状态、交互和文字等相关属性描述被模块化和集成化,这有利于极大提高代码重用度,有利于降低包含三维对象的Web页面文档的代码编写复杂度和代码维护成本,因为传统WebGL场景中三维对象的环境、状态、交互和文字等相关属性描述都需要调用大量的系统原生接口来实现。并且,由于可减少Web页面文档中3D对象的呈现过程所需调用系统原生接口数量,这样有利于降低Web页面文档中3D对象的处理复杂度,有利于提升Web页面文档中3D对象呈现效率。
图7是本发明实施例提供的三维对象处理装置700的结构示意图。三维对象处理装置700可包括输入设备701(可选的)、输出设备704(可选的)、处理器702和存储器703等。
其中,存储器703可以包括只读存储器和随机存取存储器,并向处理器702提供指令和数据。此外,存储器703的一部分还可以包括非易失性随机存取存储器(NVRAM)。
存储器703存储了如下的元素,可执行模块或者数据结构或者它们的子集或者它们的扩展集:
操作指令:包括各种操作指令,用于实现各种操作。
操作系统:包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。
在本发明实施例中,处理器702通过调用存储器703存储的操作指令(该操作指令可存储在操作系统中),执行如下操作:获取web页面文档;解析所述web页面文档以识别出所述web页面文档中包含的三维对象的K个三维描述元素,所述K为正整数,所述K个三维描述元素包括环境描述元素、状态描述元素、交互描述元素和文字描述元素中的至少一种;根据所述K个三维描述元素构建所述三维对象的三维物体模型;对所述三维物体模型进行渲染以形成所述三维对象的显示位图。
进一步的,处理器702还通过显示设备基于所述三维对象的显示位图呈现所述三维对象。
本发明实施例三维对象处理装置700解析识别出的web页面文档中包含的三维对象的K个三维描述元素包括环境描述元素、状态描述元素、交互描述元素和文字描述元素中的至少一种;也就是说,三维对象的环境、状态、交互和/或文字等相关属性描述均可被封装为web页面文档中的元素,换句话说,三维对象的环境、状态、交互和文字等相关属性描述被模块化和集成化,这有利于极大提高代码重用度,有利于降低包含三维对象的Web页面文档的代码编写复杂度和代码维护成本,因为传统WebGL场景中三维对象的环境、状态、交互和文字等相关属性描述都需要调用大量的系统原生接口来实现。并且,由于可减少Web页面文档中3D对象的呈现过程所需调用系统原生接口数量,这样有利于降低Web页面文档中3D对象的处理复杂度,有利于提升Web页面文档中3D对象呈现效率。
处理器702控制三维对象处理装置700的操作,其中,处理器702还可以称为中央处理单元(CPU,Central Processing Unit)。存储器703可以包括只读存储器和随机存取存储器,并向处理器702提供指令和数据。存储器703的一部分还可以包括非易失性随机存取存储器(NVRAM)。具体的应用中三维对象处理装置700的各个组件通过总线系统705耦合在一起,其中总线系统705除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统705。
上述本发明实施例揭示的方法可以应用于处理器702中,或者由处理器702实现。处理器702可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器702中的硬件的集成逻辑电路或者软件形式的指令完成。其中,上述的处理器702可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。其中,该存储介质位于存储器703,处理器702读取存储器703中的信息,结合其硬件完成上述方法的步骤。
其中,所述K例如等于1、2、3、4、5、6、8、31、100、200、501或其他正整数。
进一步的,所述K个三维描述元素还可包括外观描述元素。
其中,本发明的各个实施例中提及的元素(例如外观描述元素、环境描述元素、状态描述元素、交互描述元素和文字描述元素),可为标签元素(外观描述元素例如可以为外观描述标签元素、环境描述元素例如可为环境描述标签元素、状态描述元素例如可以为状态描述标签元素、交互描述元素例如可以为交互描述标签元素、文字描述元素例如可以为文字描述标签元素等)或其他类型的元素。
可选的,在本发明的一些可能的实施例中,所述外观描述元素可用于描述所述三维对象的呈现外观特性。
可选的,在本发明一些可能实施例中,所述外观描述元素可包括:位置描述元素、尺寸描述元素、材质描述元素和颜色描述元素中的至少一种。当然所述外观描述元素还可包括描述与三维对象呈现外观相关的其他元素。
可选的,在本发明一些可能的实施例中,尺寸描述元素例如可包括用于描述三维对象呈现尺寸的属性,例如用于描述三维对象呈现长度的属性、用于描述三维对象呈现宽度的属性和/或用于描述三维对象呈现高度的属性等。当然所述尺寸描述元素还可包括描述与三维对象呈现尺寸相关的其他属性。
可选的,在本发明的一些可能的实施例中,材质描述元素例如可包括用于描述纹理的属性等。当然,所述材质描述元素还可包括描述与三维对象呈现材质相关的其他属性。
可选的,在本发明的一些可能的实施例中,位置描述元素例如包括用于描述坐标的属性(例如描述x轴、y轴和z轴的坐标值)、用于描述隐藏/显示的属性等等。当然,所述位置描述元素例如还可能包括描述与三维对象呈现位置相关的其他属性。
可选的,在本发明的一些可能的实施例中,所述环境描述元素可用于描述所述三维对象的呈现环境特性。
可选的,在本发明的一些可能的实施例中,所述环境描述元素包括如下元素中的至少一种:气候描述元素、光效描述元素、背景描述元素和静态场景描述元素。当然,所述环境描述元素还可包括描述与三维对象呈现环境相关的其他一种或多种元素。
可选的,在本发明的一些可能的实施例中,所述气候描述元素用于描述所述三维对象的呈现环境中的气候特性。其中,气候描述元素例如可以包括用于描述风、雨、雷、电、季节等气候特性的子元素或属性。
可选的,在本发明的一些可能的实施例中,所述光效描述元素用于描述所述三维对象的呈现环境中的光效特性。其中,光效描述元素例如可包括用于描述阴影的属性和/或用于描述反射的属性等等。当然,所述光效描述元素还可包括描述与三维对象的光效特性相关的其他一种或多种属性。
可选的,在本发明的一些可能的实施例中,所述背景描述元素可用于描述所述三维对象的呈现环境中的背景特性。其中,所述背景描述元素例如可包括用于描述例如墙纸等背景的子元素或属性。
可选的,在本发明的一些可能的实施例中,所述静态场景描述元素可用于描述所述三维对象的呈现环境中的静态场景特性。其中,静态场景描述元素所描述的三维对象的呈现环境中静态场景可以是街道、商店或操场等。
可选的,在本发明的一些可能的实施例中,所述状态描述元素用于描述所述三维对象的呈现状态特性。
可选的,在本发明的一些可能的实施例中,所述状态描述元素可包括如下元素中的至少一种:动画描述元素、旋转描述元素、缩放描述元素、叠加描述元素、深度描述元素和动态场景描述元素。当然,所述状态描述元素还可包括描述与三维对象状态相关的其他一种或多种元素。
可选的,在本发明的一些可能的实施例中,所述动画描述元素可用于描述所述三维对象的动画呈现效果特性。所述动画描述元素可用于描述所述三维对象相对与场景的动态变化率等。其中,动画描述元素例如可包括用于描述帧率的属性和/或用于描述时长的属性等。
或者,所述旋转描述元素用于描述所述三维对象的呈现过程中的旋转特性;或者,所述缩放描述元素用于描述所述三维对象的呈现过程中的缩放特性;或者,所述叠加描述元素用于描述呈现的所述三维对象与场景之间的叠加特性;或者,所述叠加描述元素用于描述呈现的所述三维对象与背景之间的叠加特性;或者,所述深度描述元素用于描述所述三维对象与视点之间的距离特性;或者,所述动态场景描述元素用于描述所述三维对象的呈现过程中的动态场景特性。
可选的,在本发明的一些可能的实施例中,所述旋转描述元素用于描述所述三维对象的呈现过程中的旋转特性。其中,旋转描述元素例如可包括用于描述旋转角度的属性和/或用于描述旋转速度的属性等。
可选的,在本发明的一些可能的实施例中,所述缩放描述元素用于描述所述三维对象的呈现过程中的缩放特性;所述缩放描述元素例如可包括用于描述三维对象的缩放倍率的子元素或属性等。
可选的,在本发明的一些可能的实施例中,所述叠加描述元素用于描述呈现的所述三维对象与背景之间的叠加特性。其中,叠加描述元素例如可包括用于描述透明叠加的属性和/或用于描述透明度的属性等。
可选的,在本发明的一些可能的实施例中,所述深度描述元素用于描述所述三维对象与视点之间的距离特性。
可选的,在本发明的一些可能的实施例中,所述动态场景描述元素用于描述所述三维对象的呈现过程中的动态场景特性。即动态场景描述元素可描述动态场景在不同时刻的场景变化参量。
其中,动态场景描述元素例如可包括用于描述模型的属性、投影(camera)属性和/或用于描述视点(viewport)的属性等。当然,所述动态场景描述元素还可包括描述与三维对象动态场景相关的其他一种或多种属性。动态场景描述元素所描述的三维对象的呈现环境中动态场景可以是水流,爆照,车流、行云等等。
可选的,在本发明的一些可能的实施例中,所述交互描述元素用于描述呈现的所述三维对象与输入事件之间的交互特性。
可选的,在本发明的一些可能的实施例中,所述交互描述元素例如可以包括如下元素中的至少一种:碰撞描述元素、输入事件描述元素和响应事件描述元素。当然,所述交互描述元素还可包括描述与三维对象交互相关的其他一种或多种元素。
其中,碰撞描述元素例如可包括用于描述需显示于界面内的属性和/或用于描述需要钢体显示的属性等。
可选的,在本发明的一些可能的实施例中,所述输入事件描述元素用于描述针对呈现的三维对象的输入事件。其中,输入事件描述元素例如可包括用于描述输入事件(例如鼠标点击指令、手势指令、语音指令、键盘指令或触摸指令等等)的属性。
可选的,在本发明的一些可能的实施例中,所述响应事件描述元素用于描述针对呈现的三维对象的输入事件的响应特征。其中,响应事件描述元素例如可包括用于描述回调函数的属性。
可选的,在本发明的一些可能的实施例中,所述文字描述元素用于描述三维对象中的文字的呈现特性。
可选的,在本发明一些可能的实施例中,所述文字描述元素包括如下元素中的至少一种:三维字体状态描述元素、二维字体状态描述元素、文字尺寸描述元素和字体描述元素。当然,所述文字描述元素还可包括描述与三维对象文字相关的其他一种或多种元素。
可选的,在本发明的一些可能的实施例中,所述三维字体状态描述元素用于描述所述三维对象中的文字的三维呈现特性。
可选的,在本发明的一些可能的实施例中,所述二维字体状态描述元素用于描述所述三维对象中的文字的二维呈现特性。
可选的,在本发明的一些可能的实施例中,所述文字尺寸描述元素用于描述所述三维对象中的文字的呈现大小。
可选的,在本发明的一些可能的实施例中,所述字体描述元素用于描述所述三维对象中的文字的呈现字体(例如楷体、宋体等)。
可以理解,上述举例中示例性的给出外观描述元素、环境描述元素、状态描述元素、交互描述元素和文字描述元素的一些具体示例,当然在实际应用中并不限于这些举例示例。
可选的,在本发明一些可能的实施例中,处理器702根据所述K个三维描述元素构建所述三维对象的三维物体模型包括:基于所述K个三维描述元素形成所述三维对象的节点树;基于所述节点树获得所述三维对象的渲染树;基于所述渲染树构建所述三维对象的三维物体模型。
可选的,在本发明一些可能的实施例中,处理器702对所述三维物体模型进行渲染以形成所述三维对象的显示位图,可包括:调用图形引擎对所述三维物体模型进行渲染以形成所述三维对象的显示位图。
可选的,在本发明一些可能的实施例中,所述处理器702还获取所述web页面文档需要引用的资源文档;解析所述资源文档以识别出所述资源文档中包含的所述三维对象的X个外观描述元素,其中,所述X为正整数。其中,所述基于所述节点树获得所述三维对象的渲染树可包括:利用所述X个外观描述元素对所述节点树进行外观增强处理以得到所述三维对象的渲染树。
其中,所述X例如等于1、2、3、4、5、6、8、31、101、203、505或其他正整数。
可选的,在本发明的一些可能的实施例中,所述资源文档可以包括层叠样式表文档。其中,CSS文档通常又可称为风格样式表(Style Sheet)文档。
其中,所述CSS文档中的所述X个外观描述元素可通过内嵌、内联和/或外联的方式被所述web页面文档引用。
实践过程中发现,将一些元素(如外观描述元素)文档化,有利于更加简易的实现代码修改和重用,有利于进一步降低包含三维对象的Web页面文档的代码编写复杂度和代码维护成本。并且,文档化的元素通过内嵌、内联和/或外联的方式被所述web页面文档引用,有利于节省系统的资源,提升显示的性能和效率。此外,在CSS文档中可直接使用Transform、Transition和Animation等等功能来丰富的3D动画能力。并且,Animation的Timer触发也可以由Web引擎来统一的触发而不需要中间JS库的中转,进而有利于进一步提升相关的执行性能。
可选的,在本发明的一些可能的实施例中,所述资源文档可包括属性增强文档(如html文档)。所述web页面文档通过所述属性增强文档的统一资源定位符引用所述属性增强文档。
可选的,在本发明的一些可能的实施例中,处理器702还获取所述web页面文档需引用的控制文档;若在所述三维对象的呈现区域检测到被注册到所述控制文档中的输入事件,调用所述控制文档执行所述输入事件对应的响应事件。可选的,在本发明一些可能的实施例中,所述控制文档可包括Javascript文档等。
实践过程中发现,直接针对3D物体和场景注册事件响应机制,有利于简化编程复杂度。把事件响应过程中3D物体的选择过程通过Web引擎C/C++代码直接实现,有利于提升事件响应性能。
可选的,在本发明的一些可能的实施例中,所述响应事件与所述输入事件的类型和/或所述三维对象当前呈现状态相匹配。也就是说,处理器702调用所述控制文档执行所述输入事件对应的响应事件,可包括:调用所述控制文档执行所述输入事件对应的与所述输入事件的类型和/或所述三维对象当前呈现状态相匹配的响应事件。
可选的,在本发明的一些可能的实施例中,所述响应事件例如可以包括调整所述三维对象的呈现状态(如缩放所述三维对象、降低或提升所述三维对象的运动速度)等,当然所述响应事件也可能包括其他的响应操作。
可以理解,本实施例的三维对象处理装置700的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
图8是本发明实施例图形显示系统800的结构示意图。
其中,如图8所示,图形显示系统800可包括三维对象处理装置801和图形显示装置802。
其中,三维对象处理装置801可以是图6或图7的实施例中所示的三维对象处理装置。三维对象处理装置801可以是计算机系统或其他系统。例如三维对象处理装置801可为手机或平板,而图形显示装置802可为三维显示眼镜或其他图形显示装置。
图形显示装置802,与三维对象处理装置801具有通信连接,用于基于三维对象处理装置801得到的三维对象的显示位图来呈现三维对象。
本发明实施例还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时包括上述方法实施例中记载的任何一种三维对象处理方法的部分或全部步骤。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台用户终端(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,其中,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (46)
1.一种三维对象处理方法,其特征在于,包括:
获取万维网页面文档,所述万维网页面文档为超文本标记语言HTML文档或可扩展超文本标记语言XHTML文档;
解析所述万维网页面文档以识别出所述万维网页面文档中包含的三维对象的K个三维描述元素,其中,所述K为正整数,其中,所述K个三维描述元素包括环境描述元素、状态描述元素、交互描述元素和文字描述元素中的至少一种;其中,所述环境描述元素为环境描述标签元素,所述状态描述元素为状态描述标签元素,所述交互描述元素交互描述标签元素,所述文字描述元素文字描述标签元素;
根据所述K个三维描述元素构建所述三维对象的三维物体模型;
对所述三维物体模型进行渲染以形成所述三维对象的显示位图。
2.根据权利要求1所述的方法,其特征在于,所述根据所述K个三维描述元素构建所述三维对象的三维物体模型包括:基于所述K个三维描述元素形成所述三维对象的节点树;基于所述节点树获得所述三维对象的渲染树;基于所述渲染树构建所述三维对象的三维物体模型。
3.根据权利要求2所述的方法,其特征在于,
所述方法还包括:
获取所述万维网页面文档需要引用的资源文档;解析所述资源文档以识别出所述资源文档中包含的所述三维对象的X个外观描述元素,其中,所述X为正整数;
其中,所述基于所述节点树获得所述三维对象的渲染树,包括:利用所述X个外观描述元素对所述节点树进行外观增强处理以得到所述三维对象的渲染树。
4.根据权利要求3所述的方法,其特征在于,
所述外观描述元素包括:位置描述元素、尺寸描述元素、材质描述元素和颜色描述元素中的至少一种。
5.根据权利要求3所述的方法,其特征在于,所述资源文档包括层叠样式表文档,所述层叠样式表文档中的所述X个外观描述元素通过内嵌、内联和/或外联的方式被所述万维网页面文档引用。
6.根据权利要求4所述的方法,其特征在于,所述资源文档包括层叠样式表文档,所述层叠样式表文档中的所述X个外观描述元素通过内嵌、内联和/或外联的方式被所述万维网页面文档引用。
7.根据权利要求3所述的方法,其特征在于,所述资源文档包括属性增强文档,所述万维网页面文档通过所述属性增强文档的统一资源定位符引用所述属性增强文档。
8.根据权利要求4所述的方法,其特征在于,所述资源文档包括属性增强文档,所述万维网页面文档通过所述属性增强文档的统一资源定位符引用所述属性增强文档。
9.根据权利要求5所述的方法,其特征在于,所述资源文档包括属性增强文档,所述万维网页面文档通过所述属性增强文档的统一资源定位符引用所述属性增强文档。
10.根据权利要求1至9任一项所述的方法,其特征在于,
所述方法还包括:
获取所述万维网页面文档需引用的控制文档;若在所述三维对象的呈现区域检测到被注册到所述控制文档中的输入事件,调用所述控制文档执行所述输入事件对应的响应事件。
11.根据权利要求10所述的方法,其特征在于,
所述响应事件与所述输入事件的类型相匹配、所述响应事件与所述三维对象当前呈现状态相匹配、或者所述响应事件与所述输入事件的类型和所述三维对象当前呈现状态相匹配。
12.根据权利要求10所述的方法,其特征在于,所述响应事件包括调整所述三维对象的呈现状态。
13.根据权利要求11所述的方法,其特征在于,所述响应事件包括调整所述三维对象的呈现状态。
14.根据权利要求1至9任一项所述的方法,其特征在于,所述对所述三维物体模型进行渲染以形成所述三维对象的显示位图包括:调用图形引擎对所述三维物体模型进行渲染以形成所述三维对象的显示位图。
15.根据权利要求1至9任一项所述的方法,其特征在于,所述环境描述元素包括:气候描述元素、光效描述元素、背景描述元素和静态场景描述元素中的至少一种。
16.根据权利要求15所述的方法,其特征在于,所述环境描述元素用于描述所述三维对象的呈现环境特性;或者,所述气候描述元素用于描述所述三维对象的呈现环境中的气候特性;或者,所述光效描述元素用于描述所述三维对象的呈现环境中的光效特性;或者,所述背景描述元素用于描述所述三维对象的呈现环境中的背景特性;或者,所述静态场景描述元素用于描述所述三维对象的呈现环境中的静态场景特性。
17.根据权利要求1至9任一项所述的方法,其特征在于,所述状态描述元素包括:动画描述元素、旋转描述元素、缩放描述元素、叠加描述元素、深度描述元素和动态场景描述元素中的至少一种。
18.根据权利要求17所述的方法,其特征在于,所述状态描述元素用于描述所述三维对象的呈现状态特性;或者,所述动画描述元素用于描述所述三维对象的动画呈现效果特性;或者,所述旋转描述元素用于描述所述三维对象的呈现过程中的旋转特性;或者,所述缩放描述元素用于描述所述三维对象的呈现过程中的缩放特性;或者,所述叠加描述元素用于描述呈现的所述三维对象与场景之间的叠加特性;或者,所述叠加描述元素用于描述呈现的所述三维对象与背景之间的叠加特性;或者,所述深度描述元素用于描述所述三维对象与视点之间的距离特性;或者,所述动态场景描述元素用于描述所述三维对象的呈现过程中的动态场景特性。
19.根据权利要求1至9任一项所述的方法,其特征在于,所述交互描述元素包括:碰撞描述元素、输入事件描述元素和响应事件描述元素之中的至少一种。
20.根据权利要求19所述的方法,其特征在于,所述交互描述元素用于描述呈现的所述三维对象与输入事件之间的交互特性;或者,所述输入事件描述元素用于描述针对呈现的三维对象的输入事件;或者,所述响应事件描述元素用于描述针对呈现的三维对象的输入事件的响应特征。
21.根据权利要求1至9任一项所述的方法,其特征在于,所述文字描述元素包括:三维字体状态描述元素、二维字体状态描述元素、文字尺寸描述元素和字体描述元素中的至少一种。
22.根据权利要求21所述的方法,其特征在于,所述文字描述元素用于描述三维对象中的文字的呈现特性;或者,所述三维字体状态描述元素用于描述所述三维对象中的文字的三维呈现特性;或者,所述二维字体状态描述元素用于描述所述三维对象中的文字的二维呈现特性,或者,所述文字尺寸描述元素用于描述所述三维对象中的文字的呈现大小,或者,所述字体描述元素用于描述所述三维对象中的文字的呈现字体。
23.根据权利要求1至9任一项所述的方法,其特征在于,所述方法还包括基于所述三维对象的显示位图呈现所述三维对象。
24.一种三维对象处理装置,其特征在于,包括:
获取单元,用于获取万维网页面文档,所述万维网页面文档为超文本标记语言HTML文档或可扩展超文本标记语言XHTML文档;
解析单元,用于解析所述万维网页面文档以识别出所述万维网页面文档中包含的三维对象的K个三维描述元素,其中,所述K为正整数,所述K个三维描述元素包括环境描述元素、状态描述元素、交互描述元素和文字描述元素中的至少一种;其中,所述环境描述元素为环境描述标签元素,所述状态描述元素为状态描述标签元素,所述交互描述元素交互描述标签元素,所述文字描述元素文字描述标签元素;
建模单元,用于根据所述K个三维描述元素构建所述三维对象的三维物体模型;
渲染单元,用于对所述三维物体模型进行渲染以形成所述三维对象的显示位图。
25.根据权利要求24所述的装置,其特征在于,
所述建模单元具体用于,基于所述K个三维描述元素形成所述三维对象的节点树;基于所述节点树获得所述三维对象的渲染树;基于所述渲染树构建所述三维对象的三维物体模型。
26.根据权利要求25所述的装置,其特征在于,
所述获取单元还用于获取所述万维网页面文档需要引用的资源文档;
所述解析单元还用于解析所述资源文档以识别出所述资源文档中包含的所述三维对象的X个外观描述元素,其中,所述X为正整数;
其中,在所述基于所述节点树获得所述三维对象的渲染树的方面,所述建模单元具体用于,利用所述X个外观描述元素对所述节点树进行外观增强处理以得到所述三维对象的渲染树。
27.根据权利要求26所述的装置,其特征在于,
所述获取单元获取的资源文档包括层叠样式表CSS文档,所述CSS文档中的所述X个外观描述元素通过内嵌、内联和/或外联的方式被所述万维网页面文档引用。
28.根据权利要求26所述的装置,其特征在于,所述资源文档包括属性增强文档,所述万维网页面文档通过所述属性增强文档的统一资源定位符引用所述属性增强文档。
29.根据权利要求27所述的装置,其特征在于,所述资源文档包括属性增强文档,所述万维网页面文档通过所述属性增强文档的统一资源定位符引用所述属性增强文档。
30.根据权利要求24至29任一项所述的装置,其特征在于,
所述获取单元还用于,获取所述万维网页面文档需引用的控制文档;
所述装置还包括:交互单元,用于若在所述三维对象的呈现区域检测到被注册到所述控制文档中的输入事件,调用所述控制文档执行所述输入事件对应的响应事件。
31.根据权利要求30所述的装置,其特征在于,
所述响应事件与所述输入事件的类型相匹配、所述响应事件与所述三维对象当前呈现状态相匹配、或所述响应事件与所述输入事件的类型和所述三维对象当前呈现状态相匹配。
32.根据权利要求30所述的装置,其特征在于,所述响应事件包括调整所述三维对象的呈现状态。
33.根据权利要求31所述的装置,其特征在于,所述响应事件包括调整所述三维对象的呈现状态。
34.根据权利要求24至29任一项所述的装置,其特征在于,所述渲染单元具体用于,调用图形引擎对所述三维物体模型进行渲染以形成所述三维对象的显示位图。
35.根据权利要求24至29任一项所述的装置,其特征在于,所述解析单元识别出的所述环境描述元素包括:气候描述元素、光效描述元素、背景描述元素和静态场景描述元素中的至少一种。
36.根据权利要求35所述的装置,其特征在于,所述环境描述元素用于描述所述三维对象的呈现环境特性;或者,所述气候描述元素用于描述所述三维对象的呈现环境中的气候特性;或者,所述光效描述元素用于描述所述三维对象的呈现环境中的光效特性;或者,所述背景描述元素用于描述所述三维对象的呈现环境中的背景特性;或者,所述静态场景描述元素用于描述所述三维对象的呈现环境中的静态场景特性。
37.根据权利要求24至29任一项所述的装置,其特征在于,所述解析单元识别出的所述状态描述元素包括:动画描述元素、旋转描述元素、缩放描述元素、叠加描述元素、深度描述元素和动态场景描述元素中的至少一种。
38.根据权利要求37所述的装置,其特征在于,所述状态描述元素用于描述所述三维对象的呈现状态特性;或者,所述动画描述元素用于描述所述三维对象的动画呈现效果特性;或者,所述旋转描述元素用于描述所述三维对象的呈现过程中的旋转特性;或者,所述缩放描述元素用于描述所述三维对象的呈现过程中的缩放特性;或者,所述叠加描述元素用于描述呈现的所述三维对象与场景之间的叠加特性;或者,所述叠加描述元素用于描述呈现的所述三维对象与背景之间的叠加特性;或者,所述深度描述元素用于描述所述三维对象与视点之间的距离特性;或者,所述动态场景描述元素用于描述所述三维对象的呈现过程中的动态场景特性。
39.根据权利要求24至29任一项所述的装置,其特征在于,所述解析单元识别出的所述交互描述元素包括:碰撞描述元素、输入事件描述元素和响应事件描述元素之中的至少一种。
40.根据权利要求39所述的装置,其特征在于,所述交互描述元素用于描述呈现的所述三维对象与输入事件之间的交互特性;或者,所述输入事件描述元素用于描述针对呈现的三维对象的输入事件;或者,所述响应事件描述元素用于描述针对呈现的三维对象的输入事件的响应特征。
41.根据权利要求24至29任一项所述的装置,其特征在于,所述解析单元识别出的所述文字描述元素包括:三维字体状态描述元素、二维字体状态描述元素、文字尺寸描述元素和字体描述元素中的至少一种。
42.根据权利要求41所述的装置,其特征在于,所述文字描述元素用于描述三维对象中的文字的呈现特性;或者,所述三维字体状态描述元素用于描述所述三维对象中的文字的三维呈现特性;或者,所述二维字体状态描述元素用于描述所述三维对象中的文字的二维呈现特性,或者,所述文字尺寸描述元素用于描述所述三维对象中的文字的呈现大小,或者,所述字体描述元素用于描述所述三维对象中的文字的呈现字体。
43.根据权利要求24至29任一项所述的装置,其特征在于,
所述装置还包括:呈现单元,用于基于所述三维对象的显示位图呈现所述三维对象。
44.一种图形显示系统,其特征在于,包括:如权利要求24至43任一项所述的三维对象处理装置,以及,
图形显示装置,与所述三维对象处理装置具有通信连接,用于基于所述三维对象处理装置得到的所述三维对象的显示位图呈现所述三维对象。
45.一种计算机存储介质,其特征在于,
所述计算机存储介质存储有程序,所述程序执行时包括如权利要求1至23任意一项所述的三维对象处理方法的全部步骤。
46.一种三维对象处理装置,其特征在于,所述三维对象处理装置包括处理器和存储器;
其中,处理器通过调用存储器存储的操作指令,以执行如权利要求1至23任意一项所述的三维对象处理方法的全部步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510219261.7A CN105096368B (zh) | 2015-04-30 | 2015-04-30 | 三维对象处理方法和相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510219261.7A CN105096368B (zh) | 2015-04-30 | 2015-04-30 | 三维对象处理方法和相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105096368A CN105096368A (zh) | 2015-11-25 |
CN105096368B true CN105096368B (zh) | 2019-03-01 |
Family
ID=54576702
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510219261.7A Active CN105096368B (zh) | 2015-04-30 | 2015-04-30 | 三维对象处理方法和相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105096368B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105629653A (zh) * | 2016-04-07 | 2016-06-01 | 廖小烽 | 一种基于三维模型的交互式全息投影方法 |
CN105975259A (zh) * | 2016-04-27 | 2016-09-28 | 乐视控股(北京)有限公司 | 一种3d空间用户界面的实现方法及其装置 |
CN107194978A (zh) * | 2017-06-05 | 2017-09-22 | 中国地质大学(武汉) | 一种基于WebGL的三维家居设计及展示系统 |
CN109785434A (zh) * | 2017-11-14 | 2019-05-21 | 上海谦问万答吧云计算科技有限公司 | 一种绘制三维立体图形的方法、装置和存储介质 |
CN107890671B (zh) * | 2017-12-05 | 2020-10-30 | 腾讯科技(深圳)有限公司 | Web端的三维模型渲染方法、装置、计算机设备及存储介质 |
CN109636884A (zh) * | 2018-10-25 | 2019-04-16 | 阿里巴巴集团控股有限公司 | 动画处理方法、装置及设备 |
CN110990013A (zh) * | 2019-12-11 | 2020-04-10 | 上海携程商务有限公司 | 基于css实现三维动态页面的方法、系统、设备及介质 |
CN111462305B (zh) * | 2020-03-17 | 2022-08-02 | 中国电建集团昆明勘测设计研究院有限公司 | 应用于农村房地一体的三维不动产管理方法 |
CN112417345B (zh) * | 2021-01-25 | 2021-04-13 | 北京小米移动软件有限公司 | 渲染方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102087598A (zh) * | 2011-02-22 | 2011-06-08 | 深圳市同洲电子股份有限公司 | 一种3d界面展示方法、装置及浏览装置 |
CN102346770A (zh) * | 2011-09-21 | 2012-02-08 | 晨星软件研发(深圳)有限公司 | WebKit浏览器网页内容加载方法及装置 |
CN104350487A (zh) * | 2012-06-08 | 2015-02-11 | Lg电子株式会社 | 3d网页的绘制方法和使用该方法的终端 |
-
2015
- 2015-04-30 CN CN201510219261.7A patent/CN105096368B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102087598A (zh) * | 2011-02-22 | 2011-06-08 | 深圳市同洲电子股份有限公司 | 一种3d界面展示方法、装置及浏览装置 |
CN102346770A (zh) * | 2011-09-21 | 2012-02-08 | 晨星软件研发(深圳)有限公司 | WebKit浏览器网页内容加载方法及装置 |
CN104350487A (zh) * | 2012-06-08 | 2015-02-11 | Lg电子株式会社 | 3d网页的绘制方法和使用该方法的终端 |
Also Published As
Publication number | Publication date |
---|---|
CN105096368A (zh) | 2015-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105096368B (zh) | 三维对象处理方法和相关装置 | |
JP5209051B2 (ja) | データシステム及び方法 | |
CN106095437B (zh) | 用户界面从右到左rtl的布局方式的实现方法及装置 | |
Parisi | Programming 3D Applications with HTML5 and WebGL: 3D Animation and Visualization for Web Pages | |
CN102169596B (zh) | 一种在嵌入式设备上实现3d渲染的方法及装置 | |
CN107992301A (zh) | 用户界面实现方法、客户端及存储介质 | |
CN107832108A (zh) | 3D canvas网页元素的渲染方法、装置及电子设备 | |
CN103413343B (zh) | 一种3d图像动画引擎 | |
CN111966354A (zh) | 一种页面显示方法、装置及计算机可读存储介质 | |
CN106991096B (zh) | 动态页面渲染方法及装置 | |
WO2013097799A1 (zh) | 版式文件的处理方法和装置 | |
CN104866318A (zh) | 一种多窗口中标签页的展示方法及装置 | |
CN103543998A (zh) | 基于html5的web3d图形引擎生成方法 | |
CN107707965A (zh) | 一种弹幕的生成方法和装置 | |
CN103577046A (zh) | 一种3d立体桌面系统及其实现方法 | |
CN106157353B (zh) | 一种文字渲染方法和文字渲染装置 | |
CN102253831A (zh) | 嵌入式终端中浏览器中嵌入OpenGL ES的方法 | |
CN111324381B (zh) | 开发系统、方法、装置、计算机设备及存储介质 | |
CN106648623B (zh) | 一种安卓系统中字符的显示方法及装置 | |
Cecco | Supercharged JavaScript Graphics: with HTML5 canvas, jQuery, and More | |
CN112184874A (zh) | 一种轻量化三维模型高性能图形标记、进度模拟及导航方法 | |
Sons et al. | xml3d. js: Architecture of a Polyfill Implementation of XML3D | |
Joshi et al. | Graphics programming for the web | |
CN117454034B (zh) | 一种跨平台三维可视化方法、计算设备及存储介质 | |
CN108898652A (zh) | 一种皮肤图像设置方法、装置及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |