网格序列文件格式的制作方法

文档序号:6495452阅读:259来源:国知局
网格序列文件格式的制作方法
【专利摘要】在此描述了用于生成二进制切换文件的技术。在二进制切换文件中可以生成多个动画结构。这些动画结构可定义三维网格的序列。在二进制切换文件中还可以生成头部。头部可定义被应用到这些三维网格的幻灯片以生成这些幻灯片间的切换。可以用二进制切换文件修改演示程序应用,由此使演示程序应适于提供切换。
【专利说明】网格序列文件格式
[0001]背景
[0002]一般而言,电子演示程序应用允许用户创建包括文本、图像、声音、视频和/或其它类型的多媒体的冲击力強的动态幻灯片演示。一些演示程序应用可在演示中提供幻灯片间的切換和其他特征。幻灯片切换可指当用户在给出演示时从ー张幻灯片移动至下一幻灯片时产生的像动画的效果。为了向演示添加视觉风格,用户可将幻灯片切换包括在该演示中。
[0003]演示程序应用可包括使用户能够从多个可用切换中选择预定切换以包括在演示中的功能。在用于创建预定切換的常规反向工程工作流中,设计者可能灵机ー动地想到切换概念并接着创建该切換概念的视觉表示(例如,视频)。使用该视觉表示作为參考,程序员可创建ー组表示切換概念中幻灯片的移动的数学表达式。在创建了该组数学表达式后,程序员可把该组数学表达式转换成能合并到演示程序应用中的程序代码。测试者可测试演示程序应用并确定所执行的与程序代码对应的切换是否令人满意。如果所执行的切换不令人满意,则程序员可能需要重新创建数学表达式并重新转换程序代码。
[0004]常规的反向工程工作流已随时间被证明是耗时且麻烦的。在测试者确定所执行的切换是令人满意的之前,程序员可能需要多次重复创建多组数学表达式并把每组数学表达式转换成程序代码。与新的ー组数学表达式对应的每个程序代码可能需要大量测试。此外,ー些涉及复杂运动的切換可能不便于用数学表达式来表达。
[0005]本发明所做出的公开正是对于这些和其它考虑而提出的。
[0006]概述
[0007]在此描述了生成ニ进制切换文件的技术。ニ进制切换文件可定义表示切换的三维网格序列。三维网格可包括定义某三维几何结构的顶点的集合和定义三维几何结构的面的索引的集合以及其他信息。切換文件的大小可基于可作出的关于幻灯片切换的各种假设而被显著地减小。
[0008]在ー些示例技术中,ー种方法被配置成生成ニ进制切换文件。根据该方法,各种技术可生成ニ进制切换文件中的多个动画结构。这些动画结构可定义三维网格的序列。各种技术还可生成ニ进制切換文件中的头部。头部可定义应用到三维网格的幻灯片以产生这些幻灯片间的切換。各种技术还可用ニ进制切換文件来修改演示程序应用。演示程序应用可适用于在经由ニ进制切換文件修改后提供切換。
[0009]应该了解,上文所描述的主题还可以被实现为计算机控制的装置、计算机进程、计算系统或诸如计算机可读存储介质之类的制品。通过阅读下面的详细描述并审阅相关联的附图,这些及各种其他特征将变得显而易见。
[0010]提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的选择的概念。本概述并不g在标识所要求保护的主题的关键特征或必要特征,也不g在将本概述用来限制所要求保护的主题的范围。此外,所要求保护的主题不限于解决在本公开的任一部分中所提及的任何或所有缺点的实现。
[0011]附图简述[0012]图1是示出根据ー些实施例的适于生成ニ进制切換文件的计算系统的框图;
[0013]图2是示出根据ー些实施例的描述在ニ进制切換文件的示例数据格式中包含的示例切换信息的表的图示;
[0014]图3是示出根据ー些实施例的用于生成ニ进制切換文件的方法的流程图;以及
[0015]图4是示出用于能够实现此处所提出的各实施例的计算系统的说明性计算机硬件架构的计算机架构图。
[0016]详细描述
[0017]以下的详细描述涉及将切换的设计转换成可被利用来在演示程序应用中实现切换的ニ进制切換文件的各种技木。通过利用在此呈现的技术和概念,可以生成ニ进制切換文件,而不必将该设计反向工程成ー组数学表达式。结果,显著地降低了用于开发新切換的开发成本。此外,现在可以开发出过去不可能实现成数学表达式或实现成数学表达式太具挑战性的特定切換。
[0018]ニ进制切換文件可定义表示切換的三维网格的序列。三维网格可包括定义某三维几何结构的顶点集合和定义该三维几何结构的面的索引的集合。当以序列示出各三维网格时,可以产生切換(即,动画)。演示可包括多张幻灯片。演示中的ー张或多张幻灯片可作为纹理贴图被应用到该序列中的每ー个三维网格。也即,幻灯片中的位置可被映射到三维网格中的相应位置。以此方式,在切换的执行期间,幻灯片可以根据三维网格的序列而被动画化。
[0019]一般而言,定义三维动画的文件相对较大。这种文件当被合并进用户通常期望较小的演示文件中时可能是不切实际的。例如,用户可能期望演示文件小到足以通过可能有文件传送大小限制的电子邮件来方便地传送,和/或被存储在具有有限存储容量的便携式闪存数据存储设备中。为此,切換文件的大小可基于可作出的关于幻灯片切换的各种假设而被显著地减小。通过使用合适的数据压缩技术可以进ー步地压缩ニ进制切換文件。
[0020]尽管在结合计算机系统上的操作系统和应用程序的执行而执行的程序模块的一般上下文中提出了本文描述的主题,但是本领域技术人员将认识到,其他实现可以结合其他类型的程序模块来执行。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构和其他类型的结构。此外,本领域技术人员将明白,可以利用其他计算机系统配置来实施本文描述的主题,这些计算机系统配置包括手持式设备、多处理器系统、基于微处理器的或可编程消费电子产品、小型计算机、大型计算机等等。
[0021]在以下详细描述中,将參考构成本发明的一部分并作为说明来示出的附图、各【具体实施方式】、或示例。现在參考附图,其中在若干附图中相同的附图标记表示相同的元件,用于把切換的设计转换成演示程序应用可读取来实现切換的切換文件的计算系统和方法。图1是示出根据ー些实施例的适于生成ニ进制切換文件的计算系统100的框图。计算系统100可包括动画应用102、动画包引擎104、转换应用106和演示程序应用108。
[0022]切换设计者可利用动画应用102来创建表示给定切換的三维动画110。在各种实施例中,动画应用102可以是任何合适的三维计算机图形动画程序。三维动画110可以被实现在ー个或多个文件中。在一些实施例中,三维动画110可以用波面技术公司(WAVEFRONTTECHNOLOGIES)的OBJ几何定义文件格式来实现。例如,三维动画110中每ー帧可由对应的OBJ文件来表示。在另ー些实施例中,三维动画110可以以任何合适的三维模型格式来实现。
[0023]在创建三维动画110后,切换设计者可以利用动画包引擎104把三维动画110导出到动画包112中。动画包112可包括三维动画110 (例如,OBJ文件)和切换模板114。切换模板114可包括定义切換的起始状态和结束状态的信息。一般而言,演示中的幻灯片占据相同的几何空间。结果,不同于许多其他的动画,起始状态和结束状态可能相同。
[0024]切换模板114还可以包括定义幻灯片的信息。例如,幻灯片可被表示为单个多边形面。切换模板114还可以包括有关与幻灯片相关联的坐标系(例如,右手坐标系)的信息。切换模板114还可以包括幻灯片位置(例如,幻灯片的中心可被置于坐标系的原点(0,0,0))。
[0025]切换模板114还可以包括与幻灯片相关联的幻灯片旋转(例如,幻灯片可以绕X轴旋转90度,从而将幻灯片平放在由X轴和y轴定义的平面上,z轴在正方向上从幻灯片的前面指向外)。切换模板114还可以包括与幻灯片相关联的幻灯片尺度(例如,幻灯片的尺寸可以被配置成映射到13.33xlOOBJ単元的10”x7.5”幻灯片)。当演示程序应用的用户没有定义照明配置吋,切换模板114还可以包括默认幻灯片照明(例如,以1.0的強度向下指向负z轴的单向照明)。
[0026]切换设计者可以把动画包112输入到转换应用106中。转换应用106可以被配置成对作为转换过程的參数的动画包112执行转换过程。转换过程可以基于三维动画110和切换模板114把动画包112转换成ニ进制切换文件116。转换过程可以从三维动画110提取切換信息。切換信息可以包括与在演示程序应用108中实现切换相关的信息。转换过程可接着根据切换模板114改編切換信息,从而生成ニ进制切換文件116。
[0027]ニ进制切换文件116可以以ニ进制格式存储数据。在一些实施例中,转换应用106还可以被配置成执行通过合适的数据压缩技术来压缩ニ进制切換文件116的压缩过程。例如,转换应用106可以把ニ进制切换文件106压缩成ZIP文件容器。将參照附图2更加详细的描述ニ进制切换文件116的文件格式的示例。文件格式包含ニ进制切换文件116中可包括的切換信息的各种示例。
[0028]在生成ニ进制切換文件116后,切换设计者可更新演示程序应用108以包括ニ进制切換文件116。例如,切换设计者可更新演示程序应用108中的动态链接库资源文件118或其他共享的资源文件以包括新的切換。切换设计者还可以更新演示程序应用108的用户界面120以包括新的切換。以此方式,用户能够从演示程序应用108的用户界面中选择新的切換。
[0029]图2是示出根据ー些实施例的描述在ニ进制切换文件116的示例数据格式中包含的示例切換信息的表200的图示。ニ进制切換文件中的切換信息可以与切換对应。在各种实现中,数据格式可以包括表200中所包含的部分或全部信息的组合。表200包括标识符列202和数据类型列204。标识符列202可指定ニ进制切換文件116中所包含的示例信息类型的标识符。数据类型列204可指定对应信息类型的示例数据类型。
[0030]ニ进制切換文件116可包括头部208。头部208可包括动画计数210。动画计数210可被配置为存储切换中诸如幻灯片之类的对象的数目(S卩,数量)的32位无符号整型。例如,动画计数210可以存储与ニ进制切換文件116对应的切換中使用的幻灯片的数目。典型的切换可涉及两张幻灯片(即,前一幻灯片和下一幻灯片)。在此情况下,动画计数210可存储值2。其他切换可以使用多于两张的幻灯片。
[0031]头部208还可包括动画数组212。动画数组212可以被配置成具有多个动画数据结构的数组。数组中动画数据结构的数目与动画计数210对应。每个动画数据结构可以存储与切換中将要使用的演示的不同幻灯片有关的动画数据。动画数据可以包括合适的图像数据(例如,各种文本、形状、顔色等的位置和内容)以使得演示程序应用108能够渲染每张幻灯片。
[0032]例如,如果动画计数210为ニ,则动画数组212可包括两个动画数据结构。动画数组212中的第一动画数据结构可存储与第一张幻灯片对应的动画数据,而动画数组212中的第二动画数据结构可存储与第二张幻灯片对应的动画数据。动画数组212可以被配置成按照与幻灯片的次序对应的顺序次序来存储各动画数据结构(例如,动画[0]可对应于序列的第一张幻灯片,动画[I]可对应于序列的第二张幻灯片,并以此类推)。
[0033]ニ进制切换文件116还可包括动画结构214的多个实例。动画结构214的每个实例与切换中的三维网格对应。例如,如果切换包括三个三维网格,则ニ进制切换文件116可包括动画结构214的三个实例。动画结构214可包括幻灯片标识符216,标志值218,环境照明值220,帧计数222,索引计数224,索引数组226,顶点计数228,顶点数据数组230,包括X轴值234和y轴值236的顶点数据结构232,增量结构数组238,包括最小值242、范围值244和増量数据结构数组246的増量数据结构240,和/或増量数据数据结构248。
[0034]幻灯片标识符216可被配置成指定被应用到对应三维网格的幻灯片的标识符的32位无符号整型(例如,双字(DWORD))。如前所述,用于渲染幻灯片的动画数据可以被存储在动画数组212中。可以根据与各幻灯片在演示中的次序对应的顺序标识符来标识幻灯片。例如,第一张幻灯片可具有为0的标识符,第二张幻灯片可具有为I的标识符,第三张幻灯片可具有为2的标识符,并以此类推。
[0035]标志值218可被配置成指定用来提供与对应三维网格和/或切換有关的附加信息的一系列开/关标志的32位无符号整型。32位无符号整型中的每一位可以与具有0值或I值的不同标志对应。示例标志可指定对应三维网格被渲染成单侧三维网格还是被渲染成双侧三维网格。在该示例中,0值可对应于单侧三维网格,而I值可对应于双侧三维网格。
[0036]环境照明值220可以被配置成指定被应用到对应三维网格的环境照明量的浮点值。例如,环境照明值220的范围可从0.0到1.0。帧计数222可被配置为指定切換中呈现有对应三维网格的动画帧的数目的32位无符号整型。ニ进制切换文件116中的每个三维网格可以被呈现在不同数目的动画帧中。即,切换可以对ー个或多个动画帧使用相同的三维网格。
[0037]索引计数224可被配置为指定对应三维网格中的索引的数目的32位无符号整型。索引数组226可被配置成具有多个元素的数组。每个元素可被配置为顺序地存储对应三维网格中的索引的16位无符号整型(例如,字(WORD))。索引数组226中的元素的数目可与索引计数224中指定的索引数目对应。在一些实施例中,索引可被存储为三个ー组的16位值(例如,三点定义ー三角形)。例如,如果存在编号0到4的四个顶点,则索引可以用这四个顶点构成两个三角形。第一个三角形可以利用顶点O、I和2,而第二个三角形可以利用顶点
0、2和3 (顶点0和2被共享)。索引使得各三角形能够共享顶点。
[0038]在一些实施例中,仅第一动画帧的三维网格中的索引被存储在索引数组226中。这是因为第一动画帧的三维网格中的索引在用于附加动画帧的其他三维网格的切换中自始至终保持恒定。结果,通过不必为附加动画结构214存储相同的信息,可以显著减小二进制切换文件116的大小。
[0039]顶点计数228可被配置为指定对应三维网格中的顶点的数目的32位无符号整型。顶点数据数组230可以被配置成具有多个顶点数据结构232的数组。每个顶点数据结构232可被配置为顺序地存储对应三维网格中的顶点的每个轴的16位无符号整型。顶点数据结构232可包括X轴值234和y轴值236。顶点数据数组230中顶点数据结构232的数目可与顶点计数228中指定的顶点数目对应。
[0040]在一些实施例中,仅第一动画帧的三维网格中的顶点被存储在顶点数据结构232中。二进制切换文件116中的各个三维网格中的顶点的数目在切换过程期间可不变。可以用增量结构数组238来定义顶点位置的改变(在此也称作“增量值”),这将在下文中更加详细地描述。顶点位置从ー动画帧到下一动画帧的改变通常较小。通过仅存储位置的改变而不是顶点的全部坐标值,可以显著地减小二进制切換文件116的大小。
[0041 ] 此外,在一些实施例中,仅第一动画帧的三维网格中的顶点的X轴和Y轴坐标而非z轴坐标被存储在顶点数据结构232中。这是因为,在切換的第一帧中,对应三维网格通常被平放在平面上(即,z轴值将为O)。通过仅存储第一动画帧的三维网格中的顶点的X轴和y轴坐标而不存储z轴坐标,可以显著减小二进制切換文件116的大小。
[0042]增量结构数组238可以被配置成具有多个增量数据结构240的数组。増量结构数组238中増量数据结构240的数目与帧计数222对应。増量数据结构240中的每ー个可存储最小值242、范围值244和増量数据结构数组246。最小值242可被配置为存储跨用于对应帧的对应三维网格中的顶点的最小增量值的每个轴的32位浮点值(例如,浮点型)。范围值244可被配置为存储跨用于对应帧的对应三维网格中的顶点的增量值范围的每个轴的32位浮点值。·
[0043]増量数据结构数组246可以被配置成具有多个增量数据数据结构248的数组。增量数据结构数组246中増量数据数据结构248的数目可与对应三维网格的顶点计数228对应。也即,增量数据数据结构248中的每ー个与对应三维网格中的各顶点中的ー个对应。增量数据数据结构248中的每ー个可被配置为16位有符号整型。该16位有符号整型的各个部分可被分配为定义当前帧的三维网格和先前帧的三维网格之间的对应顶点的X轴的改变、y轴的改变和z轴的改变。例如,前六位可定义X轴的改变,接下来的五位定义y轴的改变,而最后五位定义z轴的改变。
[0044]通过在单个16位有符号整型中存储针对X轴、y轴和z轴的增量值,而不是存储三个单独的值,可以显著减小二进制切换文件116的大小。此外,如果动画帧的视平面跨切换保持相对恒定(即,z轴的改变相对较小),则原先分配给z轴的位数可重新分配给X轴和/或y轴。为了计算第一帧之后的每ー帧的顶点位置,可以使用以下计算(这仅是X轴的示例,但相同的计算可适用于其他轴):X,=增量.X*范围.X+最小? X, (X,=delta.x*range.x+min.x)其中符号‘.X’表示各个项的X分量。接着用相对于先前帧的计算的位置的増量来生成下ー帧。
[0045]二进制切换文件116的以上实现不为跨切换的各三维网格中的每个三维网格的每个顶点存储法线。在一些实施例中,演示程序应用108可以以足够的精度在“运行中”计算每个顶点的法线,“在运行中”指这些法线不需要被提前计算并被存储在ニ进制切換文件116中。这是因为三角形定义暗示了方向,并且标准法线计算被使用。通过免去对用于跨切换的每个三维网格中每个顶点的法线的存储,可以显著减小ニ进制切换文件116的大小。
[0046]现在參考图3,将提供有关转换应用106的操作的附加细节。图3是示出根据ー些实施例的用于生成ニ进制切換文件的方法的流程图。应理解,此处所述的逻辑操作被实现为(I) 一系列计算机实现的动作或运行于计算系统上的程序模块,和/或(2)计算系统内的互连的机器逻辑电路或电路模块。该实现是取决于计算系统的性能及其他要求的选择问题。因此,此处描述的逻辑操作被不同地称为状态操作、结构设备、动作或模块。这些操作、结构设备、动作和模块可以用软件、固件、专用数字逻辑及其任何组合来实现。应该理解,可以执行比附图中示出的和此处所描述的操作更多或更少的操作。这些操作还可以按与此处所描述的不同次序来执行。
[0047]图3中,例程300始于操作302,在操作302,转换应用106生成诸如ニ进制切换文件116的ニ进制切换文件中的诸如动画结构214的多个动画结构。ニ进制切换文件可定义三维网格的序列。例如,多个动画结构可包括定义三维网格的动画结构。在一些实施例中,动画结构可包括指定三维网格中的索引的数量的索引计数,诸如索引计数224。动画结构还可以包括诸如索引数组226的包括多个元素的索引数组。每个元素可以存储索引中的一个。
[0048]在一些实施例中,动画结构可包括指定三维网格中的顶点的数量的顶点计数,诸如顶点计数228。动画结构还可以包括诸如顶点数据数组230的顶点数据数组,顶点数据数组包括诸如顶点数据结构232的多个顶点数据结构。每个顶点数据结构可以存储顶点中的ー个。例如,每个顶点数据结构可以存储对应顶点的X轴值和对应顶点的I轴值。每个顶点数据结构可不存储对应顶点的z轴值。
[0049]在一些实施例中,动画结构可包括指定该切换的呈现有该三维网格的各动画帧的数量的巾贞计数,诸如巾贞计数222。动画结构还可以包括诸如增量结构数组238的增量结构数组,増量结构数组包括诸如增量数据结构240的多个增量数据结构。每个增量数据结构可以与动画帧中的ー个对应。每个增量数据结构可存储最小值、范围值和增量数据结构数组。诸如最小值242的最小值可指定跨这些顶点的多个增量值中的最小増量值。诸如范围值244的范围值可指定跨这些顶点的增量值的范围。
[0050]诸如增量数据结构数组246的増量数据结构数组可包括诸如增量数据数据结构248的多个增量数据数据结构。每个增量数据数据结构可以与这些顶点中的ー个对应。每个增量数据数据结构可以存储X轴增量值、y轴增量值和z轴增量值。在一些实施例中,X轴增量值、y轴增量值和z轴增量值可以被存储在单个整型中。
[0051 ] 在一些实施例中,动画结构可包括指定被应用到三维网格的幻灯片中的一张的幻灯片标识符,诸如幻灯片标识符216。动画结构还可以包括提供有关三维网格的附加信息的标志值,诸如标志值218。标志值218的每一位可表示不同的标志。例如,标志值可以包括定义三维网格是被渲染成双侧三维网格还是被渲染成单侧三维网格的位。动画结构还可以包括指定被应用到三维网格的环境照明量的环境照明值,诸如环境照明值220。当转换应用106生成ニ进制切换文件中的动画结构时,例程300可前进至操作304。
[0052]在操作304,转换应用106可生成ニ进制切换文件中的头部。在一些实施例中,头部可包括指定切換中的幻灯片的数量的动画计数,诸如动画计数210。头部还可以包括诸如动画数组212的动画数组。动画数组212可以包括多个动画数据结构。每个动画数据结构可以指定动画数据,从而使得诸如演示程序应用108的演示程序应用能够渲染与该动画数据对应的幻灯片。当转换应用106生成ニ进制切換文件的头部时,例程300前进至操作306。
[0053]在操作306,转换应用106可修改演示程序应用以包括ニ进制切换文件。例如,转换应用106可以更新演示程序应用中的诸如动态链接库资源文件118的共享的资源文件以包括新的切換。转换应用106还可以更新演示程序应用的诸如用户界面120的用户界面以包括新的切換。当转换应用106修改演示程序应用以包括ニ进制切換文件时,例程300可以要么(例如周期性地、连续地或者需要时按照需求)重复,要么终止。
[0054]现在转向图4,示出了展示出计算机400的示例计算机架构图。计算机400的示例可包括计算系统100。计算机400可以包括中央处理单元402、系统存储器404以及将存储器404耦合到中央处理单元402的系统总线406。计算机400还可包括用于存储一个或多个程序模块414和数据存储416的大容量存储设备412。程序模块414的示例可包括转换应用106和演示程序应用108。数据存储416可以存储动画包112和ニ进制切换文件116。大容量存储设备412可以通过连接到总线406的大容量存储控制器(未示出)来连接到处理単元402。大容量存储设备412以及其相关联的计算机存储介质可以为计算机400提供非易失性存储。虽然此处包含的计算机存储介质的描述引用了诸如硬盘或CD-ROM驱动器之类的大容量存储设备,但是本领域技术人员应该了解,计算机存储介质可以是可由计算机400访问的任何可用的计算机存储介质。
[0055]作为示例而非限制,计算机存储介质可以包括以用于非瞬时地存储诸如计算机存储指令、数据结构、程序模块或其他数据之类的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。例如,计算机存储介质包括,但不仅限于,RAM、R0M、EPR0M、EEPR0M、闪存或其他固态存储器技术,⑶-ROM、数字多功能盘(“DVD”)、HD-DVD、蓝光或其他光学存储,磁带盒、磁带、磁盘存储器或其他磁存储设备,或可以用来存储所需信息并可由计算机400访问的任何其他介质。
[0056]根据各实施例,计算机400可以使用通过网络418至远程计算机的逻辑连接在联网环境中操作。计算机400可以通过连接至总线406的网络接ロ単元410来连接到网络418。应当理解,网络接ロ単元410还可以被用来连接到其他类型的网络和远程计算机系统。计算机400还可包括输入/输出控制器408,用于接收和处理来自多个输入设备(未示出)的输入,该多个输入设备包括键盘、鼠标、话筒和游戏控制器。类似地,输入/输出控制器408也可以向显示器或其他类型的输出设备(未示出)提供输出。
[0057]总线406可以使处理单元402能够从大容量存储设备412或其他计算机存储介质读取或向其写入代码和/或数据。计算机存储介质可以表示使用任何合适的技术来实现的存储元件形式的装置,这些技术包括但不限于半导体、磁性材料、光学等等。计算机存储介质可以表示存储器组件,而无论是被表征为RAM、ROM、闪存还是其他类型的技木。
[0058]计算机存储介质无论是被实现成硬盘驱动器还是以其他方式来实现都还可以表示辅助存储。硬盘驱动器实现可以被表征为固态,或者可以包括存储磁编码信息的旋转介质。[0059]程序模块414可以包括软件指令,这些指令在被加载到处理单元402中并被执行时致使计算机400生成ニ进制切換文件。程序模块414还可以提供计算机400可以使用在整个本说明书中所讨论的组件、流程以及数据结构来參与到整个系统或操作环境内的各种工具或技术。例如,程序模块414可实现用于生成ニ进制切换文件的界面。
[0060]一般而言,程序模块414在被加载到处理单元402中并被执行时,可以将处理单元402和整个计算机400从通用计算系统变换成被定制成生成ニ进制切換文件的专用计算系统。处理单元402可以用任意数量的晶体管或其他分立电路元件(它们可以单独或共同采取任意数量的状态)来构造。更具体而言,处理单元402可以响应于程序模块414中所包含的可执行指令,作为有限状态机来操作。这些计算机可执行指令可以通过指定处理单元402如何在各状态之间进行转换来变换处理单元402,由此变换构成处理单元402的晶体管或其他分立硬件元件。
[0061]对程序模块414进行编码还可以变换计算机存储介质的物理结构。在本说明书的不同实现中,物理结构的具体转换可取决于各种因素。这些因素的示例包括但不限于:用于实现计算机存储介质的技术,而不管该计算机存储介质被表征为主存储还是辅助存储等等。例如,如果计算机存储介质被实现为基于半导体的存储器,则当在其中编码软件时,程序模块414可以变换半导体存储器的物理状态。例如,程序模块414可以变换构成半导体存储器的晶体管、电容器或其他分立电路元件的状态。
[0062]作为另ー示例,计算机存储介质可以使用磁性或光学技术来实现。在这样的实现中,程序模块414可以在该软件在磁性或光学介质中编码时变换该磁性或光学介质的物理状态。这些转换可包括更改给定磁性介质内的特定位置的磁性特征。这些转换还可以包括改变给定光学介质内的特定位置的物理特征或特性,以改变这些位置的光学特性。在没有偏离本说明书的范围的情况下,物理介质的其他变换也是可能的,前面提供的示例只是为了便于这ー讨论。
[0063]基于上文,应当理解在此呈现了用于把切换的设计转换成可被利用来在演示程序应用中实现切換的ニ进制切換文件的各种技木。虽然已经以计算机结构特征、方法动作、以及计算机可读介质专用的语言描述了本文提出的主題,但是将理解,在所附权利要求书中所限定的本发明不一定限于本文描述的具体特征、动作或介质。相反,这些具体特征、动作以及介质是作为实现权利要求的示例形式而公开的。
[0064]以上所述的主题仅作为说明提供,并且不应被解释为限制。可对本文中所描述的主题作出各种修改和改变,而不必遵循示出和描述的示例实施例和应用且不背离所附权利要求书中所阐述的本发明的真正精神和范围。
【权利要求】
1.一种用于生成二进制切換文件的计算机实现的方法,所述方法包括以下计算机实现的操作: 由具有处理器和存储器的计算机生成二进制切換文件中的多个动画结构,所述多个动画结构定义三维网格的序列; 由所述计算机生成所述二进制切換文件中的头部,所述头部定义被应用到所述三维网格的幻灯片以产生所述幻灯片之间的切換;以及 由所述计算机用所述二进制切換文件来修改演示程序应用,所述演示程序应用在所述修改后适于提供所述切換。
2.如权利要求1所述的计算机实现的方法,其特征在于,生成二进制切換文件中的多个动画结构包括以下计算机实现的操作: 由所述计算机生成所述二进制切換文件中的第一动画结构,所述第一动画结构定义所述三维网格的序列中的第一三维网格。
3.如权利要求2所述的计算机实现的方法,其特征在干,生成所述二进制切換文件中的第一动画结构包括以下计算机实现的操作: 由所述计算机生成所述第一动画结构中的索引计数,所述索引计数指定所述第一三维网格中的索引的数量;以及 由所述计算机生成所述第一动画结构中的索引数组,所述索引数组包括多个元素,所述多个元素中的每个元素存储所述索引中的ー个索引。
4.如权利要求3所述的计 算机实现的方法,其特征在干,生成所述二进制切換文件中的第一动画结构还包括以下计算机实现的操作: 由所述计算机生成所述第一动画结构中的顶点计数,所述顶点计数指定所述第一三维网格中的顶点的数量;以及 由所述计算机生成所述第一动画结构中的顶点数据数组,所述顶点数据数组包括多个顶点数据结构,所述多个顶点数据结构中的每个顶点数据结构存储所述顶点中的ー个顶点。
5.如权利要求4所述的计算机实现的方法,其特征在于,所述顶点数据结构中的每ー个顶点数据结构包括所述顶点中的一个顶点的X轴值和所述顶点中的一个顶点的y轴值。
6.如权利要求5所述的计算机实现的方法,其特征在干,生成所述二进制切換文件中的第一动画结构还包括以下计算机实现的操作: 由所述计算机生成所述第一动画结构中的帧计数,所述帧计数指定所述切换的呈现有所述第一三维网格的动画帧的数量;以及 由所述计算机生成所述第一动画结构中的增量结构数组,所述增量结构数组包括多个増量数据结构,所述多个増量数据结构中的每个增量数据结构与所述动画帧中的一个动画帧对应。
7.如权利要求6所述的计算机实现的方法,其特征在于,所述多个増量数据结构中的每个增量数据结构包括指定跨所述动画帧之一中的顶点的多个增量值中的最小增量值的最小值、指定跨所述动画帧之一中顶点的多个增量值的范围的范围值、以及増量数据结构数组。
8.如权利要求7所述的计算机实现的方法,其中所述增量数据结构数组包括多个增量数据数据结构,所述多个増量数据数据结构中的每个增量数据数据结构与所述顶点中的一个对应;并且其中所述多个増量数据数据结构中的每个增量数据数据结构包括X轴增量值、y轴增量值和Z轴增量值。
9. 一种其上存储有计算机可执行指令的计算机可读存储介质,所述计算机可执行指令在由计算机执行时使得所述计算机: 生成二进制切换文件中的多个动画结构,所述多个动画结构定义三维网格的序列,所述多个动画结构指定形成所述三维网格的顶点和索引; 生成所述二进制切換文件中的头部,所述头部定义被应用到所述三维网格的幻灯片以产生所述幻灯片之间的切換;以及 用所述二进制切換文件来修改演示程序应用,所述演示程序应用在所述修改后适于提供所述切換。
10.一种计算机系统,包括: 处理器; 在通信上耦合到所述处理器的存储器;以及 程序模块,所述程序模块通过所述存储器在所述处理器中执行,并且所述程序模块在由所述处理器执行时使得所述计算机系统: 生成二进制切换文件中的多个动画结构,所述多个动画结构定义三维网格的序列,所述多个动画结构指定形成所述三维网格的顶点和索引; 生成所述二进制切換文件中的头部,所述头部定义被应用到所述三维网格的幻灯片以产生所述幻灯片之间的切換,所述二进制切换文件存储所述顶点在所述切换中的各帧之间的増量值;以及 用所述二进制切換文件来修改演示程序应用,所述演示程序应用在所述修改后适于提供所述切換。
【文档编号】G06F17/00GK103597467SQ201280027126
【公开日】2014年2月19日 申请日期:2012年5月30日 优先权日:2011年6月3日
【发明者】C·马洛尼, R·C·希尔 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1