WEB开发网
开发学院软件开发Java 在Mascot Capsule v3中使用多个纹理 阅读

在Mascot Capsule v3中使用多个纹理

 2007-12-23 12:29:52 来源:WEB开发网   
核心提示:原文地址链接 Mascot Capsule v3支持在轮廓上使用多个纹理,然而,在Mascot Capsule v3中使用多个纹理,重复纹理却是不支持的,例如,请注意:在一个轮廓中使用一张图片里的两种不同的纹理是可能实现的, 下面的纹理坐标是用来控制在一个面显示乌龟图象的,你不能在一个纹理上再添加另一个纹理,请记住

原文地址链接

 

Mascot Capsule v3支持在轮廓上使用多个纹理,然而,重复纹理却是不支持的,例如,你不能在一个纹理上再添加另一个纹理。请记住,在Mascot Capsule v3里,所有纹理都是以256x256的图象存放在堆里的,并不考虑原始大小。

    下面我将创建一个使用两个独立纹理的MIDlet

 

下载源代码

在Mascot Capsule v3中使用多个纹理(图一)在这个立方体上使用了两个独立的纹理 

 

    当一个轮廓从3D authoring程序中导出时,一个BAC文件被创建。这个BAC文件是一个文本文件,它存储了轮廓数据。文件里的这些数据可以用PAC工具或手工编辑。

    在Mascot Capsule v3 API中,这个BAC文件不能以轮廓的形式被装载和使用。因此,我们得使用Micro3DConv_sony_EriCSSon工具冲BAC文件中创建一个mbac文件。在使用MIDlet以前,可以使用PVMicro工具预览轮廓的最终效果。

    如果我们关注BAC文件,我们可以看纹理坐标说明书,接下来我们可以知道如何如何使用这些坐标来创建轮廓。

 

( TextureCoords
   ( f2   0.0005 0.9995 )
   ( f2   0.9995 0.9995 )
   ( f2   0.9995 0.0005 )
   ( f2   0.0005 0.0005 )
  ) ; TextureCoords 
 
 ( Polygons; number of faces: 6
  ;     mat vertex indices  texture coord. indices
   ( face   0 ( i4 0 1 2 3  ) ( i4 2 3 0 1 )  )
   ( face   0 ( i4 4 5 6 7  ) ( i4 2 1 0 3 )  )
   ( face   0 ( i4 8 9 10 11  ) ( i4 2 1 0 3 )  )
   ( face   0 ( i4 12 13 14 15  ) ( i4 2 3 0 1 )  )
   ( face   0 ( i4 16 17 18 19  ) ( i4 0 3 2 1 )  )
   ( face   1 ( i4 20 21 22 23  ) ( i4 1 0 3 2 )  )
  )


 

在上面的表中,除了最后一个值为一以外,所有面的”mat”(材质)值为零,就是这个值为一的材质的纹理与其他的不同。

    当我们装载这些纹理信息时,必须使用一个数组来存储这些信息。下面是实现的代码:

 

cubeFigure = new Figure("/cube.mbac");
textures = new Texture[] {new Texture("/image.bmp", true),
        new Texture("/se_turtle.bmp", true)};

cubeFigure.setTexture(textures);

 

g3d.renderFigure(cubeFigure, 0, 0, layout, effect);

 

    为了之前的想法,我们必须把两张图象合并成一张图象。在这个例子中,两张96x96的图象被合并成一张192x96的图象。请注意:在一个轮廓中使用一张图片里的两种不同的纹理是可能实现的。

在Mascot Capsule v3中使用多个纹理(图二)

 

    下面的纹理坐标是用来控制在一个面显示乌龟图象的。

 

PRivate int[] tex = {
       192, 0,   96, 0,   96, 96,   192, 96,
       0, 96,    96, 96,  96, 0,    0, 0,
       0, 96,    96, 96,  95, 0,    0, 0,
       0, 96,    96, 96,  95, 0,    0, 0,
       0, 96,    96, 96,  95, 0,    0, 0,
       0, 96,    96, 96,  95, 0,    0, 0};

 


    上面提到的一些工具可以在这里下载。

 

(出处:http://www.cncms.com)


Tags:Mascot Capsule 使用

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接