CN101243473A - 用于嵌入式装置中的3d内容的离线优化管线 - Google Patents
用于嵌入式装置中的3d内容的离线优化管线 Download PDFInfo
- Publication number
- CN101243473A CN101243473A CNA2006800304157A CN200680030415A CN101243473A CN 101243473 A CN101243473 A CN 101243473A CN A2006800304157 A CNA2006800304157 A CN A2006800304157A CN 200680030415 A CN200680030415 A CN 200680030415A CN 101243473 A CN101243473 A CN 101243473A
- Authority
- CN
- China
- Prior art keywords
- data
- equipment
- engine
- animation
- model
- 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
Images
Abstract
本发明提供包括定义包括3D图标及景物的3D模型以及所述3D模型的动画的资源的设备。提供一种离线优化引擎,其处理将由目标嵌入式装置的图形引擎作用的数据。提供一种图形引擎模拟器,其在计算机平台而非目标嵌入式装置上模拟运行图形引擎的目标嵌入式装置的选择功能,包括直接调用所述目标嵌入式装置的硬件级API的API功能的API调用。
Description
版权公告
此专利文献含有受版权保护的信息。就像美国专利和商标局文件或记录中显现的那样,版权所有者不反对任何人对本专利文献或本专利进行拓制,但另外将保留所有版权。
相关申请案交叉参考
兹主张各自在2005年6月29日提出申请的第60/696,347、60/696,185、60/696,488、60/696,346及60/696,186号美国临时专利申请案的优先权。
技术领域
本发明的方面涉及促进开发及实施嵌入式装置中所用3D内容的工具。本发明的其它方面涉及优化所述3D内容的工具。嵌入式装置可以是捕捉、接收及/或传输语音、数据、文本及/或图像的移动装置。
背景技术
存在促进开发及实施嵌入式装置中所用3D内容的各种系统。所述嵌入式装置通常包括显示3D内容的显示器。就此来说,Qualcomm公司在商品名BREWTM下出售许多软件产品,其包括(举例来说)SDK,SDK可在既定计算机平台上运行以开发用于在嵌入式装置(就像移动电话)中提供3D内容的程序。
发明内容
根据一个实施例,提供包括定义包括3D图标及景物的3D模型以及所述3D模型的动画的资源的设备。提供一种离线优化引擎,其处理将由目标嵌入式装置的图形引擎作用的数据。提供一种图形引擎模拟器,其在计算机平台而非目标嵌入式装置上模拟运行图形引擎的目标嵌入式装置的选择功能,包括直接调用所述目标嵌入式装置的硬件级API的API功能的API调用。
附图说明
参照所注明的图式在以下详细说明中进一步描述本发明的非限定实例性实施例,其中贯穿所述图式的数个视图,相同参考编号表示相同部分,且其中:
图1是一个或多个装置内容开发平台的方块图;
图2是图解说明目标嵌入式装置中的软件架构的实施例的方块图;
图3是3D模型文件的实例性数据结构的示意图;
图4是用户接口(UI)布局文件的实例性数据结构的示意图;
图5是离线优化管线的方块图;
图6是目标嵌入式装置中选择代码及数据的示意图;
图7及8图解说明用于烘培动画的过程的流程图;
图9是图解说明用于对3D模型及动画数据分层实施分层更新预处理的过程的简图;及
图10是用于确定(除其它之外)嵌入式装置中将需要的存储器空间的预分配过程的流程图。
具体实施方式
现在更加详细地参照图式,图1图解说明3D内容开发系统9。所图解说明的系统9包括一个或多个装置内容开发平台10及移动装置11。所图解说明的移动装置11包括显示器12及键13。可导致所图解说明的显示器12显示包括3D图标及景物的3D图形虚拟接口。就此来说,可开发包括图标关联构件的3D图标应用程序以将景物中的既定3D对象与移动装置接口工具相关联以通过对所述既定3D对象的操纵导致关于所述移动装置的信号或信息的输入及输出中的至少一者。举例来说,移动装置可为移动电话。输入可涉及移动装置的控制功能、移动装置的开关状态改变或移动装置的文本输入。输出可涉及信息显示、装置的状态或关于移动装置的状况指示。通过使用所述3D图形虚拟接口(包括3D图标)输入或输出的信息可是关于移动装置11的操作、设定、事件、状态及/或状况的信息。
所图解说明的移动装置11是一种类型的嵌入式装置,其捕捉、接收及/或传输语音、数据、文本及/或图像。所图解说明的移动装置11包括显示器12及键13,以允许对移动装置11进行控制以及将信息输入到移动装置11中。
所图解说明的装置内容开发平台10可是单个或分布式平台,或可包括多个平台。所图解说明的平台设置包括许若干个软件接口,所述软件接口与计算机平台上的对应窗口或屏幕相互作用且提供所述对应窗口或屏幕。所述对应窗口或屏幕包括脚本窗口14a及对应的脚本语言接口14b。提供对应于源代码接口16b的源代码窗口16a。通过使用对应窗口14a及16a,接口14b及16b的每一者可操作以经由计算机屏幕接收控制及信息并向用户显示信息。
所图解说明的平台设置10进一步具有可包括目标模拟器19的离线优化引擎18。
脚本语言接口14b耦合到一个或多个脚本文件20且产生一个或多个脚本文件20,所述脚本文件20供用于在目标嵌入式装置上建造3D用户接口。所述脚本文件20提供用于3D图标及景物定义以及用于对所定义3D图标及景物的动画进行编程的信息。
源代码接口16b结合源代码窗口16a允许使用源代码(通常使用为原始设备制造商(OEM)提供的代码中所提供的命令)创建程序。
可提供3D模型系统32以允许所属技术领域的技术人员执行3D建模及/或图像处理以创建3D用户接口资源且定义用户接口布局,以各自形成且最终定义3D用户接口。可提供导出器30以导出文件,即,将来自3D模型系统32的所述文件转换为可由经编译脚本及/或源代码24使用的某种类型的文件以导致可被导出到目标嵌入式装置的特定类型的3D用户接口。由导出器30执行的“导出”不同于由装置导出接口41执行的导出,装置导出接口41执行的导出经提供以将所得的代码及数据导出到目标嵌入式装置,例如移动装置11。导出器30将信息转换为可与经编译脚本及/或源代码24兼容的文件(且还可由根据经编译的代码操作的图形引擎使用),而装置导出接口41促进将所述经编译的脚本及/或源代码以及相关联的用户接口资源及用户接口布局文件物理导出到移动装置11。
在所图解说明的实施例中,导出器30将来自3D建模系统32的信息导出为一组定义用户接口资源25、26及27的文件以及一组定义用户接口布局28的文件。具体来说,所述用户接口资源包括3D模型25、动画26及纹理27。
离线优化引擎18可包括目标模拟器19,所述目标模拟器19模拟图形引擎以在计算机平台(即,平台10)而非目标嵌入式装置上模拟运行图形引擎(举例来说,图2中所图解说明的图形引擎)的目标嵌入式装置的选择功能。
图2提供一旦被导出到目标嵌入式装置(例如,移动装置11)中便存在的软件的架构图。所述架构包括经编译脚本及/或源代码40(其包括API调用)、受管理API 44、基础结构及API 46以及硬件级API 64。所述经编译脚本及/或源代码直接与受管理API44及基础结构API 46的每一者通信,即,在受管理API 44及基础结构API 46的每一者内执行对API功能的API调用。受管理API 44包括渲染API 48、资源管理API 50及照相机管理API 52。渲染API 48负责存储器管理、渲染状态及其它簿记任务。
基础结构及API 46包括纹理54、网格56、动画58、照相机60以及数学和实用程序62。所述结构及API提供对所有几何形状、动画流及其它下层引擎数据类型的完全存取。此外,可提供可独立于所述引擎的其余部分使用的固定点数学及容器结构。可在经编译脚本及/或源代码40内实施、体现应用程序,以便介接穿过受管理API 44以实施某些或所有功能。所述应用程序可实施其自己的资源管理及存储器例示技术,且因此直接与基础结构及API 46介接。此外,如果OEM开发者想要写入利用导出器及网格优化工具的源代码或另外保持对实施多高级功能性的控制,那么完全绕开受管理API 44是可能的。
受管理API 44与基础结构及API 46一起组成优化引擎层42。举例来说,硬件级API 64可包括OpenGL-ES软件、Direct 3Dmobile软件或SKT GIGA软件。
图3示意性地显示3D模型文件70的数据结构的一个实施例。既定3D模型文件70包括识别模型72的识别符72及材料参数74a、74b...74c组,所述参数定义可绘制所述模型的几何形状的方式。举例来说,特定材料74a可具有网格的特定纹理及映射色彩、特定的透明度值及特定的白炽值。材料信息74a包括所述渲染参数。提供对应于一既定组材料参数74a的渲染网格76。在所图解说明的结构中,渲染网格76包括顶点阵列78、纹理坐标阵列80及渲染群组82。渲染群组82包括渲染图元(三角形带、三角形列表等等)群组。可提供一个或多个更新分层84,其用于动画且用于将渲染群组从本地空间变换为世界空间。
图4示意性地描绘用户接口布局文件90的数据结构。UI布局文件90包括UI定义文件92及景物文件94。UI定义文件92包括资源链接信息及包括UI状态、状态管理、某些状态转变出现时的命令及UI事件的其它信息。景物文件94包括链接节点信息及景物节点信息。
景物节点是所有那些未链接到3D模型的节点。链接节点具有与其相关联的3D模型。将与链接节点相关联的模型导出到其自己的文件,且在UI定义文件92中规定其链接节点关联。脚本语言可用于提供一组标签,所述标签可与外部创建的3D资源(另外,可称作用户接口资源)一起使用且可由另一组软件(如图1中所示的3D模型系统32)产生。由所述外部软件产生的所述文件由导出器30导出,且因此转换成与3D用户接口开发代码24(如从脚本文件20及/或源代码22编译而来)兼容的格式。
图5是可用于实施图1中所示的离线优化引擎18的实例性离线优化管线99的方块图。图5中所示的离线优化管线99以开始阶段100开始。在所述开始阶段中,进行数据验证及一般设置以促进优化过程的剩余阶段。在开始阶段100之后,管线继续进行到抽取景物阶段102。在抽取景物阶段102中,管线抽取将在管线中针对3D用户接口中的特定景物进行处理的数据。后续阶段连续包括烘培动画阶段104、离线设置阶段106、分层更新预处理阶段108及预分配阶段110。
在烘培动画阶段104中,对所抽取景物的动画进行烘培以减少在目标嵌入式装置中执行3D动画更新时的处理时间,且对经烘培的动画进行压缩以减少动画数据在目标嵌入式装置中所占用的空间。在离线设置阶段106中,执行各种处理步骤,包括(例如)簿记、索引构筑、数据准备及存储器分配。
在后续分层更新预处理阶段108中,重新布置所抽取景物(针对3D模型及针对动画)的每一分层以便目标嵌入式装置中的分层更新(包括从本地坐标到世界坐标的转换)将因执行分层树的宽度优先遍历而涉及非递归性树遍历。此外,在此阶段中,对树的节点进行压缩(包括为允许目标嵌入式装置在空中执行分层更新而需要存在的节点),且将分层填充到单个邻接缓冲器中。在所图解说明的实施例中,一旦此缓冲器被导出到目标装置,那么所述缓冲器将采取树数据缓冲器129(如在图6中所示)的形式。
在预分配阶段110中,将识别所抽取景物将需要的每一数据结构且将确定目标嵌入式装置中所需的存储器分配。此产生可在目标嵌入式装置中加以利用的总存储器分配图(另外,在本文中有时称作填充总量)以与原本可能需要的众多存储器分配调用相比仅执行单个存储器分配调用(举例来说,使用ANSI C的MALLOC调用)。
图7及8描绘用于烘培动画及用于压缩经烘培动画的过程的流程图。
提供图7及8中显示的所图解说明的流程图以通过在离线步骤中预评估动画曲线而在目标嵌入式装置上优化动画更新。在图7及8中显示的所图解说明的实施例产生(如图6中所示)经烘培动画查找表(LUT)124,查找表124将在目标嵌入式装置120中最终成为代码及数据122的一部分。
在图7及8中显示的所图解说明烘培过程中,在初始动作200中,从所抽取的景物中抽取动画分层。在下一动作202中,为所抽取分层的每一节点创建动画流。在动作204中,为已创建的所有动画流确定取样速率。就此来说,用户可选择特定的取样速率。大体来说,取样速率远远高于帧的标准速率,其中动画的帧存储在由导出器30导出的动画文件26中(如图1中所示)。可使用迭代过程调整取样速率。举例来说,作者可使用所选择的特定取样速率模拟3D用户接口应用程序的所得脚本。如果所得图形的质量不充分符合作者的预期,那么可相应地改变取样速率。
在下一动作206中,在所选择的取样速率下评估所有(或在替代实施例中为一子组)的动画曲线。此时,已获得已在所确定的取样速率下烘培的原始动画数据流。所述数据存储在离线平台中。
以实例的方式,所述原始动画数据可存储在带索引阵列(未显示)中,其中可通过将索引值(例如,通过使用索引查找表(LUT)(未显示)确定的)输入到所述阵列中来存取所述带索引阵列中的每一行。所述带索引阵列将属性组存储在各自的行中,其中每一行与特定的节点及帧相关联。所述属性可是(例如)x、y、z、r11、r12、r13、r21、r22、r23、r31、r32、r33及色彩。x、y及z属性可以是景物的本地坐标或景物的一部分。属性r11、r12、r13、r21、r22、r23、r31、r32、r33是旋转及定向值,其可(例如)对应于3×3矩阵。
在下一动作208中,将每一帧/节点组合的旋转及定向值(来自经烘培的原始动画数据流)转换为四元数。四元数是(举例来说)替代使用欧拉角及矩阵来表示旋转及定向的另一种方式。四元数可由4个值(α、β、γ、ω)来表示。因此,在此实例中,9个旋转及定向值可变换为4个四元数值。
在下一动作210中,创建每一唯一值的群集,所述每一唯一值均处在已从经烘培原始动画数据流的旋转及定向转换而来的四元数内。在所图解说明的实例中,群集是可通过使用本地组坐标(x、y、z)及四元数值(α、β、γ、ω)形成的7元组值。一方面,当7元组值是唯一时便可形成所述群集。因此,如果在经烘培原始动画数据中存在M个数据行(即,对应于帧及节点值的各自不同组合),那么由于非唯一的7元组值而可存在N个群集,其中N小于M。群集可由群集向量(x、y、z)及群集四元数(α、β、γ、ω)组成。
在下一动作212中,针对一既定对群集做出所述群集之间的误差是否小于既定阈值的确定。每一群集具有误差值。以实例的方式,所述误差值可是各自群集的中点值。
举例来说,可通过在以下两个空间中处理7元组来识别群集对:(1)笛卡尔空间(x、y、z);及(2)四元数空间)。在笛卡尔空间中,任何两个群集向量之间的中点的量值可产生中点值mpv1。同样地,在四元数空间中,任何两个群集四元数之间的中点弧距离的量值可产生中点值mpv2。
当动作212处的确定确定误差小于阈值时,那么过程继续进行到动作214,其中所述对群集合并到新的群集中,且为新合并的群集计算新的最小误差值(即,中点量值的值)。过程返回到动作212以评估另一对群集。
可将所述聚集过程认为是一种减少对应于唯一帧节点对的数据行的数目的方法,以使得可具有动画数据(大体来说,为翻译信息、定向及旋转信息)的多个唯一帧节点对具有相同组的所聚集数据。
当无更多对群集满足动作212的条件时,过程继续进行到动作216,在此点处,针对既定群集的既定组动画值,将四元数值(大体来说,四个不同的值)填充到单个二进制字(例如,其具有N个位,N可是例如32个位)中。
在动作216之后,压缩过程结束。
可形成更大或更小的群集以分别增加动画重放精确度或减小文件大小。一旦将所述流压缩,便可将所述动画流中的个别值填充到单个邻接存储器缓冲器中,所述邻接存储器缓冲器是针对移动装置的高速缓存器线特征对准及优化的。
如图6中所示,一旦将所述动画流压缩,便可将所述动画流中的个别值填充到单个邻接动画值存储器缓冲器128中,而所述值最终被导出到目标嵌入式装置120。
如图6中所示,为了目标装置存取动画值缓冲器128中的数据的既定过程,提供动画查找表(LUT)124,其为每一唯一帧节点组合输出在缓冲器128中找出对应动画数据的偏移值。
图9是3D对象分层220的示意图。所图解说明的对象分层220为两足动物,包括腰,腰为根节点。右上腿、左上腿及胸各自连接到腰。所述节点的每一者是腰节点的孩子。左下腿及左下足各自连接到左上腿。所述节点的每一者是右上腿节点的孩子节点,及腰节点的孙子节点。左下腿及左下足节点各自耦合到左上腿节点,是左上腿节点的孩子,且是腰节点的孙子。所提供的头、右上臂及左上臂节点是胸节点的孩子,及腰节点的孙子。
如果使用递归算法(其中以宽度优先遍历次序处理所述节点)更新图9中所图解说明的分层,那么将以以下次序处理所述节点:首先腰节点;其次右上腿节点;第三左右腿节点;第四左右足节点;第五左上腿节点;等等。相反,在图9中所示的实施例中,使用其中以以下次序处理节点的宽度优先遍历次序:首先处理腰节点;其次处理右上腿节点;第三处理左上腿节点;及第四处理胸节点。处理所述节点的次序由相关联节点中的每一者左边的编号指示。因此,在往下处理下一深度级处的节点之前,分别以首先、其次、第三及第四的次序来处理腰节点、右上腿节点、左上腿节点及胸节点。所述对节点的处理最终出现在目标嵌入式装置中,但可通过控制所述节点以此存储在最终形成在目标嵌入式装置的堆存储器中的树数据缓冲器129(如图6中所示)的邻接部分中的次序来控制处理所述节点的次序。因此,可提供(通过如图5中所示的分层更新预处理级108离线)数据结构221以实现存储器的邻接量且实现以最终在目标嵌入式装置中处理节点的特定次序将所述节点存储在所述存储器中。
如图6中所示,可将宽度优先分层更新构件130提供为目标嵌入式装置120中的代码及数据122的一部分,以在空中执行特定分层的分层更新。为确定与所述分层相关联的数据位于动画数据缓冲器128中何处,宽度优先分层更新构件130根据经烘培动画LUT 124所提供的偏移值来找出所述数据。
一旦宽度优先分层更新构件130在动画数据缓冲器128中找出所述数据,解码构件126便对所述数据进行解码(通过将所述数据转换为齐次变换矩阵),且如树数据缓冲器129中所存储的那样,针对所述树的结构以其连续次序处理所述节点,即,针对图9中的实例,首先处理腰节点,其次为右上腿节点,第三为左上腿节点等等。然后,针对节点将经更新的动画数据存储在树数据缓冲器129中为所述数据提供的保存空间中。
宽度优先方法以以下次序处理既定树的节点:首先处理根节点;然后孩子1、然后孩子2、...孩子N;孙子1、孙子2、...孙子M;曾孙1...。
在图9中所示的实例中,高速缓存器线边界至少延伸两个邻接节点所需的存储器的量。因此,如果提供在目标嵌入式装置内的高速缓存器具有两条线,那么仅需要处理一个高速缓存器未命中,即,针对图9中所示实例中的第一到第四节点更新分层。为促进将两个节点存储在一个高速缓存器线边界的空间内的能力,可(举例来说)使用从如图5中所示的经烘培动画阶段104提供的经烘培动画产生的压缩来对个别节点进行压缩。
涉及深度优先遍历次序的分层更新通常将导致众多高速缓存器未命中。分层的节点未存储在邻接存储器中的事实是造成所述问题的原因中的某些原因。此外,由于遍历为递归的,因此对于每一节点,处理及更新所述节点需要直到最终根节点的其父母节点的每一者的数据。
出于对关于更新分层的论述的目的,举例来说,针对图9中所示的实例,更新是指在目标嵌入式装置的显示器上进行渲染之前节点从其本地坐标到世界坐标的转换。
图9中所示的实例中的组织节点数据的方法的优点在于此过程可消除为更新分层信息而使用目标装置中的堆栈。此外,无需模仿目标嵌入式装置的存储器的堆中的堆栈。另外,在目标嵌入式装置的堆存储器中耗用的总空间降到最低,以便可容纳更大的分层树。
如图6中所示,一旦宽度优先分层更新构件130将节点数据更新,所述节点数据便准备好由渲染构件135进行渲染。
图10显示预分配过程的流程图。在第一动作250中,为每一资源且为到此刻为止在离线优化管线99中创建的每一数据结构分配存储器。在动作252中,将建立在目标嵌入式装置运行脚本且执行所有必要操作时将处于所述目标嵌入式装置中的任何引擎数据结构。在动作254中,目标模拟器19模拟目标装置,此可涉及对(举例来说)所模拟的目标嵌入式装置内的堆、堆栈及高速缓冲存储器进行模仿。目标模拟器19可进一步模拟用于3D程序中的每一资源的引擎的所有数据结构。
在动作256中,以引擎存取或创建的次序将由所模拟引擎存取的或由所模拟引擎创建的所有数据填充到“模拟的”堆存储器的邻接部分中。在动作258中,可创建对目标嵌入式装置中的引擎有所帮助的元数据结构。此外,可存储从预分配过程产生的分配数据。大致来说,分配数据包括总存储器空间及在动作256中所填充的邻接存储器的大小。
图10中所示的分配过程(在如图5中所示的离线优化管线99的预分配阶段110中执行)最终在目标嵌入式装置120中导致存储器分配及拷贝构件136根据作为预分配过程的结果产生的元数据及填充总量数据138采取存储器分配及拷贝动作。具体来说,可在开始执行3D应用程序时在目标嵌入式装置120的存储器134内进行单个存储器分配;以及对在预分配过程中的填充动作256期间填充的所有数据进行单个存储器拷贝。然后,可将离线建造的任何所建造引擎数据结构拷贝到存储器中,从而产生准备供在目标嵌入式装置中使用的数据所需的单个分配及单个存储器拷贝。此将目标嵌入式装置所需的分配降到最低。另外,可将目标嵌入式装置的启动及初始化次数降到最低,因为所有被填充的数据一次性载入到目标嵌入式装置存储器中。
在本文中,由图中所示的每一元件执行的处理可由通用计算机及/或专用处理计算机来执行。所述处理可由单个平台、分布式处理平台或单独平台执行。另外,可以专用硬件的形式或以由通用计算机运行的软件的形式实施所述处理。在所述处理中所处理的任何数据或作为所述处理的结果创建的任何数据可存储在任何类型的存储器中。以实例的方式,所述数据可存储在临时存储器中,例如存储在既定计算机系统或子系统的RAM中。另外或另一选择为,所述数据可存储在长期存储装置中,举例来说,磁盘、可重写光盘等等。出于本文中本发明的目的,计算机可读媒体可包含任何形式的数据存储构件,包括所述存储器技术以及所述结构及所述数据的硬件或电路表达。可在任何机器可读媒体及/或集成电路中实施所述过程。
如同以原文形式提供的那样以及当其可能被变更时,权利要求书均涵盖本文中所揭示实施例及教示的变化形式、替代方案、修改、改进、等效物及实质等效物,包括目前不可预见或不了解的以及(举例来说)可出自申请者/专利权所有人及其他人的那些变化形式、替代方案、修改、改进、等效物及实质等效物。
Claims (60)
1、一种设备,其包含:
计算机可读媒体,其在计算机平台而非目标移动装置中体现3D应用程序;及
离线引擎,其在所述计算机平台上处理将由所述目标移动装置的图形引擎作用的数据。
2、如权利要求1所述的设备,其中所述3D应用程序包括3D用户接口应用程序。
3、如权利要求1所述的设备,其中所述离线引擎包括数据结构构件,所述数据结构构件创建且准备将由所述目标移动装置的所述图形引擎作用的数据结构。
4、如权利要求2所述的设备,其进一步包含图形引擎模拟器,所述图形引擎模拟器在所述计算机平台上模拟运行图形引擎的所述目标移动装置的选择功能,包括直接调用所述目标移动装置的硬件级API的API功能的API调用。
5、一种设备,其包含:
移动装置,其包括图形引擎;及
移动装置资源载入构件,其将从离线计算机平台产生的资源载入到所述图形引擎中,所述移动装置资源载入构件使用单个分配来准备供使用的数据。
6、如权利要求5所述的设备,其中所述资源包括定义包括3D图标的3D模型以及所述3D模型的动画的资源。
7、一种设备,其包含:
资源,其定义包括3D图标及景物的3D模型以及所述3D模型的动画;
离线优化引擎,其在计算机平台而非目标嵌入式装置上处理将由目标嵌入式装置的图形引擎作用的数据;及
图形引擎模拟器,其在所述计算机平台上模拟运行图形引擎的所述目标嵌入式装置的选择功能,包括直接调用所述目标嵌入式装置的硬件级API的API功能的API调用。
8、如权利要求7所述的设备,其中定义所述3D模型以及所述3D模型的所述动画的所述资源为已从3D图像定义系统导出的导出资源。
9、如权利要求8所述的设备,其中所述离线优化引擎包括管线。
10、如权利要求9所述的设备,其进一步包含脚本语言接口,所述脚本语言接口经由计算机屏幕输入接收定义3D用户接口的脚本语句,且产生一组表示定义所述3D用户接口的所述脚本语句的脚本文件。
11、如权利要求10所述的设备,其进一步包含图标关联构件,所述图标关联构件将景物中的既定3D对象与移动电话接口工具相关联,以通过对所述既定3D对象的操纵导致关于所述移动电话的信号的输入及输出中的至少一者。
12、如权利要求7所述的设备,其中所述图形引擎模拟器将模拟可与Open GL-ES、Direct 3D mobile及SKT GIGA中的一者兼容的图形引擎。
13、如权利要求7所述的设备,其进一步包含烘培构件,所述烘培构件可在所述计算机平台中操作以针对既定景物动画将所有动画数据烘培到要载入到所述目标嵌入式装置的所述图形引擎中的动画数据结构中,所述所有动画数据包括关于在渲染所述动画景物时用于将要显示的每一显示帧的所有节点的节点位置、定向及旋转数据。
14、如权利要求13所述的设备,其中所述烘培构件包括用以将定向及旋转数据转换为四元数的转换构件、用以聚集值群组的聚集构件及用以填充四元数值群组的填充构件。
15、如权利要求7所述的设备,其进一步包含分层更新预处理构件,所述分层更新预处理构件建立对3D模型树中的节点的处理次序且将经处理节点保存地点布置在树数据缓冲器中以供导出到所述目标嵌入式装置。
16、如权利要求15所述的设备,其中所述节点的所述建立的处理次序为所述3D模型树的宽度优先遍历次序。
17、如权利要求16所述的设备,其中所述经处理节点保存地点是与以未修改格式保存所述节点信息需要的存储器空间的量相关的每一压缩保存地点。
18、如权利要求7所述的设备,其进一步包含所述计算机平台中的预分配构件,所述预分配构件包括:
引擎数据结构建造器,其建造引擎数据结构;
模拟的引擎;
模拟数据填充器,其填充由所述模拟的引擎存取及产生的数据且填充所建造的引擎数据结构;及
填充总量确定器。
19、一种方法,其包含:
将3D应用程序存储在计算机平台而非目标移动装置中;及
在所述计算机平台上离线处理将由所述目标移动装置的图形引擎作用的数据。
20、如权利要求19所述的方法,其中所述3D应用程序包括3D用户接口应用程序。
21、如权利要求19所述的方法,其中所述处理包括创建且准备将由所述目标移动装置的所述图形引擎作用的数据结构。
22、如权利要求20所述的方法,其进一步包含在所述计算机平台上模拟运行图形引擎的所述目标移动装置的选择功能,包括直接调用所述目标移动装置的硬件级API的API功能的API调用。
23、一种方法,其包含:
提供包括图形引擎的移动装置;及
将从离线计算机平台产生的资源载入到所述图形引擎中,所述载入使用单个分配来准备供使用的数据。
24、如权利要求23所述的方法,其中所述资源包括定义包括3D图标的3D模型以及所述3D模型的动画的资源。
25、一种方法,其包含:
存储定义包括3D图标及景物的3D模型以及所述3D模型的动画的资源;
在计算机平台而非目标嵌入式装置上处理将由目标嵌入式装置的图形引擎作用的数据;及
在所述计算机平台上模拟运行图形引擎的所述目标嵌入式装置的选择功能,包括直接调用所述目标嵌入式装置的硬件级API的API功能的API调用。
26、如权利要求25所述的方法,其中所述定义所述3D模型以及所述3D模型的所述动画的资源为已从3D图像定义系统导出的导出资源。
27、如权利要求25所述的方法,其进一步包含在所述计算机平台中进行烘培,所述针对既定景物动画的烘培包括将所有动画数据烘培到要载入到所述目标嵌入式装置的所述图形引擎中的动画数据结构中,所述所有动画数据包括关于在渲染所述动画景物时用于将要显示的每一显示帧的所有节点的节点位置、定向及旋转数据。
28、如权利要求27所述的方法,其中所述烘培包括将定向及旋转数据转换为四元数、聚集值群组及填充四元数值群组。
29、如权利要求25所述的方法,其进一步包含执行分层更新预处理以建立对3D模型树中的节点的处理次序且将经处理节点保存地点布置在树数据缓冲器中以供导出到所述目标嵌入式装置。
30、如权利要求29所述的方法,其中所述节点的所述建立的处理次序为所述3D模型树的宽度优先遍历次序。
31、如权利要求30所述的方法,其中所述经处理节点保存地点是与以未修改格式保存所述节点信息需要的存储器空间的量相关的每一压缩保存地点。
32、如权利要求25所述的方法,其进一步在所述计算机平台中执行预分配,所述预分配包括:
建造引擎数据结构;
模拟引擎;
填充由所述模拟的引擎存取及产生的数据且填充所建造的引擎数据结构;及
确定填充总量。
33、一种编码有数据的机器可读媒体,所述经编码数据可与机器互操作以致使:
将3D应用程序存储在计算机平台而非目标移动装置中;及
在所述计算机平台上离线处理将由所述目标移动装置的图形引擎作用的数据。
34、如权利要求33所述的机器可读媒体,其中所述3D应用程序包括3D用户接口应用程序。
35、如权利要求33所述的机器可读媒体,其中所述经编码数据可与机器互操作以进一步致使所述处理包括创建且准备将由所述目标移动装置的所述图形引擎作用的数据结构。
36、如权利要求34所述的机器可读媒体,其中所述经编码数据可与机器互操作以进一步致使在所述计算机平台上模拟运行图形引擎的所述目标移动装置的选择功能,包括直接调用所述目标移动装置的硬件级API的API功能的API调用。
37、一种编码有数据的机器可读媒体,所述经编码数据可与机器互操作以致使:
提供包括图形引擎的移动装置;及
将从离线计算机平台产生的资源载入到所述图形引擎中,所述载入使用单个分配来准备供使用的数据。
38、如权利要求37所述的机器可读媒体,其中所述资源包括定义包括3D图标的3D模型以及所述3D模型的动画的资源。
39、一种编码有数据的机器可读媒体,所述经编码数据可与机器互操作以致使:
存储定义包括3D图标及景物的3D模型以及所述3D模型的动画的资源;
在计算机平台而非目标嵌入式装置上处理将由目标嵌入式装置的图形引擎作用的数据;及
在所述计算机平台上模拟运行图形引擎的所述目标嵌入式装置的选择功能,包括直接调用所述目标嵌入式装置的硬件级API的API功能的API调用。
40、如权利要求39所述机器可读媒体,其中所述定义所述3D模型以及所述3D模型的所述动画的资源为已从3D图像定义系统导出的导出资源。
41、如权利要求39所述的机器可读媒体,其中所述经编码数据可与机器互操作以致使在所述计算机平台中进行烘培,所述针对既定景物动画的烘培包括将所有动画数据烘培到要载入到所述目标嵌入式装置的所述图形引擎中的动画数据结构中,所述所有动画数据包括关于在渲染所述动画景物时用于将要显示的每一显示帧的所有节点的节点位置、定向及旋转数据。
42、如权利要求41所述的机器可读媒体,其中所述经编码数据可与机器互操作以进一步致使所述烘培包括将定向及旋转数据转换为四元数、聚集值群组及填充四元数值群组。
43、如权利要求39所述的机器可读媒体,其中所述经编码数据可与机器互操作以进一步致使执行分层更新预处理以建立对3D模型树中的节点的处理次序且将经处理节点保存地点布置在树数据缓冲器中以供导出到所述目标嵌入式装置。
44、如权利要求43所述的机器可读媒体,其中所述节点的所述建立的处理次序为所述3D模型树的宽度优先遍历次序。
45、如权利要求44所述的机器可读媒体,其中所述经编码数据可与机器互操作以进一步致使所述经处理节点保存地点成为与以未修改格式保存所述节点信息需要的存储器空间的量相关的每一压缩保存地点。
46、如权利要求39所述的机器可读媒体,其中所述经编码数据可与机器互操作以进一步致使在所述计算机平台中执行预分配,所述预分配包括:
建造引擎数据结构;
模拟引擎;
填充由所述模拟的引擎存取及产生的数据且填充所建造的引擎数据结构;及
确定填充总量。
47、一种设备,其包含:
存储装置,其用于将3D应用程序存储在计算机平台而非目标移动装置中;及
处理装置,其用于在所述计算机平台上离线处理将由所述目标移动装置的图形引擎作用的数据。
48、如权利要求47所述的设备,其中所述3D应用程序包括3D用户接口应用程序。
49、如权利要求47所述的设备,其中所述处理装置包括用于创建且准备将由所述目标移动装置的所述图形引擎作用的数据结构的装置。
50、如权利要求48所述的设备,其进一步包含模拟装置,所述模拟装置用于在所述计算机平台上模拟运行图形引擎的所述目标移动装置的选择功能,包括直接调用所述目标移动装置的硬件级API的API功能的API调用。
51、一种设备,其包含:
提供装置,其用于提供包括图形引擎的移动装置;及
载入装置,其用于将从离线计算机平台产生的资源载入到所述图形引擎中,所述载入装置使用单个分配来准备供使用的数据。
52、如权利要求51所述的设备,其中所述资源包括定义包括3D图标的3D模型以及所述3D模型的动画的资源。
53、一种设备,其包含:
存储装置,其用于存储定义包括3D图标及景物的3D模型以及所述3D模型的动画的资源;
处理装置,其用于在计算机平台而非目标嵌入式装置上处理将由目标嵌入式装置的图形引擎作用的数据;及
模拟装置,其用于在所述计算机平台上模拟运行图形引擎的所述目标嵌入式装置的选择功能,包括直接调用所述目标嵌入式装置的硬件级API的API功能的API调用。
54、如权利要求53所述的设备,其中所述定义所述3D模型以及所述3D模型的所述动画的资源为已从3D图像定义系统导出的导出资源。
55、如权利要求53所述的设备,其进一步包含烘培装置,所述烘焙装置用于在所述计算机平台中进行烘培,所述针对既定景物动画的烘培包括将所有动画数据烘培到要载入到所述目标嵌入式装置的所述图形引擎中的动画数据结构中,所述所有动画数据包括关于在渲染所述动画景物时用于将要显示的每一显示帧的所有节点的节点位置、定向及旋转数据。
56、如权利要求55所述的设备,其中所述烘培装置包括用于将定向及旋转数据转换为四元数的装置、用于聚集值群组的装置及用于填充四元数值群组的装置。
57、如权利要求53所述的设备,其进一步包含执行装置,所述执行装置用于执行分层更新预处理以建立对3D模型树中的节点的处理次序且将经处理节点保存地点布置在树数据缓冲器中以供导出到所述目标嵌入式装置。
58、如权利要求57所述的设备,其中所述节点的所述建立的处理次序为所述3D模型树的宽度优先遍历次序。
59、如权利要求58所述的设备,其中所述经处理节点保存地点是与以未修改格式保存所述节点信息需要的存储器空间的量相关的每一压缩保存地点。
60、如权利要求53所述的设备,其进一步包含用于在所述计算机平台中执行预分配的装置,所述预分配包括:
建造引擎数据结构;
模拟引擎;
填充由所述模拟的引擎存取及产生的数据且填充所建造的引擎数据结构;及
确定填充总量。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US69634705P | 2005-06-29 | 2005-06-29 | |
US60/696,186 | 2005-06-29 | ||
US60/696,347 | 2005-06-29 | ||
US60/696,185 | 2005-06-29 | ||
US60/696,346 | 2005-06-29 | ||
US60/696,488 | 2005-06-29 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101243473A true CN101243473A (zh) | 2008-08-13 |
Family
ID=39933928
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2006800304157A Pending CN101243473A (zh) | 2005-06-29 | 2006-06-29 | 用于嵌入式装置中的3d内容的离线优化管线 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101243473A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105324795A (zh) * | 2013-06-14 | 2016-02-10 | 微软技术许可有限责任公司 | 合并图形操作 |
CN108734788A (zh) * | 2018-05-17 | 2018-11-02 | 成都明镜视觉科技有限公司 | 一种3d对象在虚拟场景中的节点化组织方法 |
-
2006
- 2006-06-29 CN CNA2006800304157A patent/CN101243473A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105324795A (zh) * | 2013-06-14 | 2016-02-10 | 微软技术许可有限责任公司 | 合并图形操作 |
CN105324795B (zh) * | 2013-06-14 | 2018-09-07 | 微软技术许可有限责任公司 | 合并图形操作 |
CN108734788A (zh) * | 2018-05-17 | 2018-11-02 | 成都明镜视觉科技有限公司 | 一种3d对象在虚拟场景中的节点化组织方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11003422B2 (en) | Methods and systems for visual programming using polymorphic, dynamic multi-dimensional structures | |
KR100928192B1 (ko) | 내장형 디바이스에서의 3d 콘텐츠에 대한 오프라인 최적화파이프라인 | |
US10803671B2 (en) | Authoring content in three-dimensional environment | |
US10671773B2 (en) | Automatic partitioning of a 3D scene into a plurality of zones processed by a computing resource | |
US5712964A (en) | Computer graphics data display device and method based on a high-speed generation of a changed image | |
Lipp et al. | Interactive visual editing of grammars for procedural architecture | |
US20200129862A1 (en) | Terrain generation system | |
US8584084B2 (en) | System for library content creation | |
US20150321427A1 (en) | Systems and methods for designing programmable parts for models and optimizing 3d printing | |
CN107567642A (zh) | 用于基于体素的三维建模的系统、方法和设备 | |
CN104077797A (zh) | 三维游戏动画系统 | |
CN109964255B (zh) | 使用3d视频数据的3d打印 | |
CN102142152B (zh) | 用于在计算机屏幕上显示对象的方法、装置和程序 | |
JP7355926B2 (ja) | ライトプローブの生成方法、装置、コンピュータプログラム、及びコンピュータ装置 | |
US11887229B2 (en) | Method and system for populating a digital environment using a semantic map | |
WO2000041139A1 (fr) | Dispositif de compression de donnees squelette a base tridimensionnelle | |
CN107066646A (zh) | 在受约束的非对称细分网格中的拓扑结构变化 | |
US11880930B2 (en) | System and method for content creation via interactive layers | |
CN113689534B (zh) | 物理特效渲染方法、装置、计算机设备和存储介质 | |
KR100623546B1 (ko) | 가상 현실 모델링 | |
CN101243473A (zh) | 用于嵌入式装置中的3d内容的离线优化管线 | |
CN107038679A (zh) | 多个图形卡的管理 | |
Antoniuk et al. | Generation of complex underground systems for application in computer games with schematic maps and L-systems | |
CN109859537A (zh) | 一种织锦教学系统及方法、信息数据处理终端 | |
US20150269781A1 (en) | Rapid Virtual Reality Enablement of Structured Data Assets |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20080813 |