`
izuoyan
  • 浏览: 9223528 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

使用Mascot Capsule Micro3D V3 API实现透明效果

阅读更多

作者:mydeman 文章来源:http://www.j2medev.com/Article/ShowArticle.asp?ArticleID=810

Mascot Capsule Micro3D V3 API支持颜色掩盖和四种纹理与背景颜色混合模式。

当混合颜色时,来自背景RGB值和来自纹理的RGB颜色单独的混合。请注意,Half(一半)、Addition(相加)和Subtract(相减)模式不能同时作用于同一个多边形。

下面的表格显示了背景和纹理的颜色是如何混合在一起的。

属性

背景

纹理

Normal(正常)

0%

+100%

Half(一半)

50%

+50%

Add(相加)

100%

+100%

Sub(相减)

100%

-100%

可以使用下面命令中的一个来完成颜色混合:

Graphics3D.PATTR_BLEND_NORMAL

Graphics3D.PATTR_BLEND_HALF

Graphics3D.PATTR_BLEND_ADD

Graphics3D.PATTR_BLEND_SUB

// 示例命令

private final int COMMAND = Graphics3D.PDATA_NORMAL_NONE |

Graphics3D.PDATA_TEXURE_COORD |

Graphics3D.PRIMITVE_QUADS |

Graphics3D.PATTR_BLEND_HALF;

别忘了使用透明度设置效果:

effect.setTransparency (true);

掩盖的实现同样简单。只需使用Graphics3D.PATTR_COLORKEY命令,然后结合在图片所使用的调色板中的一个给定值0,就可以掩盖出第一种颜色。

当掩盖颜色时,你不能使用透明度设置效果。

下面的Ghost图片展示了当分别使用1)Normal、2)PATTR_COLORKEY和3)PATTR_BLEND_HALF | PATTR_COLORKEY时不同的效果。

Normal(正常,没有混合) 使用掩盖(ColorKey)

使用一半混合和掩盖(ColorKey

本文以及例子都比较简单,不再做分析。另外,我们可以修改keyPressed()方法,观察每一种混合属性和PATTR_COLORKEY的单独效果,修改后程序如下:

public void keyPressed(int key) {

if (key == -6) {

index = index == 4 ? 0 : index + 1;

if (index == 0) {

// 去掉前一种的混合效果

COMMAND ^= Graphics3D.PATTR_BLEND_ADD;

// 正常模式

COMMAND |= Graphics3D.PATTR_BLEND_NORMAL;

} else if (index == 1) {

COMMAND ^= Graphics3D.PATTR_BLEND_NORMAL;

// 使用COLORKEY

COMMAND |= Graphics3D.PATTR_COLORKEY;

} else if (index == 2){

COMMAND ^= Graphics3D.PATTR_COLORKEY;

// 一半的混合模式

COMMAND |= Graphics3D.PATTR_BLEND_HALF;

} else if (index == 3){

COMMAND ^= Graphics3D.PATTR_BLEND_HALF;

// 相减的混合模式

COMMAND |= Graphics3D.PATTR_BLEND_SUB;

} else if (index == 4){

COMMAND ^= Graphics3D.PATTR_BLEND_SUB;

// 相加的混合模式

COMMAND |= Graphics3D.PATTR_BLEND_ADD;

}

}

}

下载范例程序和源代码

下载范例程序和源代码

分享到:
评论

相关推荐

    J2ME的3D开发教程

    Mascot Capsule v3是一款专为移动设备优化的3D引擎,提供了更为高级的图形处理能力,如高级光影效果、动态阴影、粒子系统等。相比JSR-184,它更适合于开发大型、复杂度高的3D游戏。教程将深入探讨Mascot Capsule v3...

    J2ME的3d开发教程.doc

    教程内容源自Sony Ericsson Mobile Communications AB,涵盖了JSR-184和Mascot Capsule v3两个关键标准,它们都是为了在J2ME平台上实现3D图形支持而制定的。 **JSR-184(Mobile 3D Graphics API)** 是Java ...

    Java ME CLDC 3D图形开发指南

    文中详细介绍了如何在索尼爱立信的一系列手机上利用Java ME实现3D图形处理,以及如何使用Mascot Capsule Micro 3D Version 3 和 JSR 184 Mobile 3D Graphics API 来开发Java 3D应用程序。 #### 二、目标受众 - **...

    JSR184规范封装照相机的lookat方法

    而Mascot Capsule v3依靠”look-at”方法,这是在某些3D API里的通用方法。look-at方法从一个position,一个 look-at direction和一个up vector创建一个照相机转换矩阵,为了方便Mascot Capsule v3与JSR-184之间的...

    移动Java 3D开发指南(PDF).zip

    Mascot Capsule v3是另一个关键概念,它是JSR-184的实现之一,由索尼爱立信(现合并为索尼移动通信)开发。Mascot Capsule提供了一个高效、可移植的框架,让开发者能够利用JSR-184的功能。它包括了3D渲染引擎、纹理...

    J2ME 3D手机游戏开发详解

    Mascot Capsule篇介绍了Mascot Capsule技术,这是一种用于创建3D模型和动画的特殊技术,包括3D模型的绘制、3D变换和透明纹理精灵的实现,以及几个实例演示,如动画机器人、跳舞的男孩和旋转的飞机。 总的来说,这...

    J2ME的开发教程.pdf

    Mascot Capsule v3则是Sony Ericsson提供的一套用于创建高质量3D图形的软件库。这些技术使开发者能够在移动设备上创建出具有复杂3D效果的应用程序和游戏,满足了市场对于高质量移动娱乐的需求。 #### 五、J2ME开发...

    M3G 的快速模式编程

    Mascot Capsule API在日本及其他地区有广泛应用,而JSR 239(Java Bindings for OpenGL ES)为OpenGL ES提供了一个Java接口,简化了3D内容的移植。尽管M3G、OpenGL ES和Mascot Capsule API各有特点,但M3G获得了广泛...

    索爱手机的java平台和屏幕尺寸

    - Mascot Capsule V3 4. **Java平台4 (JP4)** - 特性: - MIDP 2.0 - CLDC 1.1 - JSR-185 - JSR-120 (WMA) - JSR-135 (MMAPI) - Nokia UI API 1.1 - JSR-184 (Mobile 3D) - Mascot Capsule V3 - JSR-75 ...

    J2ME 3D手机开发  PDF

    J2ME 3D通过提供一套API(如Mascot Capsule 3D)来支持3D图形渲染、动画等功能,从而使得开发者能够创建更为丰富和复杂的3D移动应用。 #### 二、开发环境的选择和配置 选择合适的开发工具对于提高开发效率至关重要...

    Mascot K-ON

    ★已经过安装测试,但使用者后果自负与本论坛无关。 [免责声明] ★本帖介绍的文本内容转自网络,如有出入则以官方站点公布之信息为准,凡摘自网络相关图文介绍内容的本帖不另行标注出处,原创作者如有异议可提出...

    TX Mascot Installer.exe

    TX Mascot Installer.exe

    MASCOT Generic Format (.mgf) files 的 MATLAB 阅读器:使用 MATLAB 读取 MASCOT 通用格式文件-matlab开发

    从 MASCOT 通用格式 (.mgf) 文件读取和提取数据的函数.mgf 格式包含最少的元数据(频谱标题、保留时间、前体质量、前体强度和电荷)和相应的MS2频谱( https://fiehnlab.ucdavis.edu/projects/lipidblast/mgf-files ...

    J2ME-Loader:适用于Android的J2ME模拟器

    它支持大多数2D游戏以及某些限制的3D(Mascot Capsule 3D游戏不起作用)。 仿真器具有虚拟键盘,每个应用程序的单独设置,扩展支持。 该项目是。 系统要求:Android 4.0+ 兼容性 提示 在某些情况下启用过滤会...

    mascotParser:R 包中 Mascot 搜索结果(PMF 和 MSMS)的解析器

    从 Github 使用 R: install.packages( " devtools " ) library( " devtools " ) install_github( " mascotParser " , " nghiavtr " ) library( " mascotParser " ) ##1。 解析 MSMS Mascot 搜索结果文件的示例: ...

Global site tag (gtag.js) - Google Analytics