原文地址链接
mascot capsule v3支持在轮廓上使用多个纹理,然而,重复纹理却是不支持的,例如,你不能在一个纹理上再添加另一个纹理。请记住,在mascot capsule v3里,所有纹理都是以256x256的图象存放在堆里的,并不考虑原始大小。
下面我将创建一个使用两个独立纹理的midlet
下载源代码
html/uploadpic/2005-12/2005122331842453.gif" width=106 onload=javascript:resizepic(this) border=0>在这个立方体上使用了两个独立的纹理
当一个轮廓从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的图象。请注意:在一个轮廓中使用一张图片里的两种不同的纹理是可能实现的。
html/uploadpic/2005-12/2005122331842154.gif" width=192 onload=javascript:resizepic(this) border=0>
下面的纹理坐标是用来控制在一个面显示乌龟图象的。
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};
上面提到的一些工具可以在这里下载。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器