com.nttdocomo.opt.ui.j3d
インタフェース Graphics3D


public interface Graphics3D

3Dグラフィクスを提供するインタフェースです。
3DをサポートするGraphics クラスは、 このインタフェースを実装しなければなりません。

端末によってサポートされていない場合があります。未サポートの場合、 メソッドが呼び出された時点でUnsupportedOperationExceptionを発生します。

導入されたバージョン:
DoJa-2.0

フィールドの概要
static int ATTR_BLEND_ADD
           加算モードで描画を行うことを表すプリミティブ属性です(=0x40)。
static int ATTR_BLEND_HALF
           50%ブレンドモードで描画を行うことを表すプリミティブ属性です(=0x20)。
static int ATTR_BLEND_NORMAL
           通常の描画処理を行うことを表すプリミティブ属性です(=0x00)。
static int ATTR_BLEND_SUB
           減算モードで描画を行うことを表すプリミティブ属性です(=0x60)。
static int ATTR_COLOR_KEY
           カラーキーを用いた透過処理を行うことを表すプリミティブ属性です(=0x10)。
static int ATTR_LIGHT
           光源対応処理を行うことを表すプリミティブ属性です(=0x01)。
static int ATTR_SPHERE_MAP
           環境マッピング処理を行うことを表すプリミティブ属性です(=0x02)。
static int COLOR_NONE
           プリミティブが色情報を持たないことを表します(=0x0000)。
static int COLOR_PER_COMMAND
           プリミティブがコマンド単位で同じ色情報を持つことを表します(=0x0400)。
static int COLOR_PER_FACE
           プリミティブが面単位で色情報を持つことを表します(=0x0800)。
static int COMMAND_AMBIENT_LIGHT
           setAmbientLight(int) に相当するコマンドです(=0xa0000000)。
static int COMMAND_ATTRIBUTE
           環境属性を設定することを表すコマンドです(=0x83000000)。
static int COMMAND_CLIP_RECT
           setClipRect3D(int, int, int, int) に相当するコマンドです(=0x84000000)。
static int COMMAND_DIRECTION_LIGHT
           setDirectionLight(Vector3D, int) に相当するコマンドです(=0xa1000000)。
static int COMMAND_END
           コマンドリストの終了を表すコマンドです(=0x80000000)。
static int COMMAND_FLUSH
           flush() に相当するコマンドです(=0x82000000)。
static int COMMAND_LIST_VERSION_1
           コマンドリストのバージョンを表すコマンドです(=0xfe000001)。
static int COMMAND_NOP
           何もしないことを表すコマンドです(=0x81000000)。
static int COMMAND_PERSPECTIVE1
           setPerspective(int, int, int) に相当するコマンドです(=0x92000000)。
static int COMMAND_PERSPECTIVE2
           setPerspective(int, int, int, int) に相当するコマンドです(=0x93000000)。
static int COMMAND_RENDER_LINES
           線を描画することを表すコマンドです(=0x02000000)。
static int COMMAND_RENDER_POINT_SPRITES
           ポイントスプライトを描画することを表すコマンドです(=0x05000000)。
static int COMMAND_RENDER_POINTS
           点を描画することを表すコマンドです(=0x01000000)。
static int COMMAND_RENDER_QUADS
           四角形を描画することを表すコマンドです(=0x04000000)。
static int COMMAND_RENDER_TRIANGLES
           三角形を描画することを表すコマンドです(=0x03000000)。
static int COMMAND_SCREEN_CENTER
           setScreenCenter(int, int) に相当するコマンドです(=0x85000000)。
static int COMMAND_SCREEN_SCALE
           setScreenScale(int, int) に相当するコマンドです(=0x90000000)。
static int COMMAND_SCREEN_VIEW
           setScreenView(int, int) に相当するコマンドです(=0x91000000)。
static int COMMAND_TEXTURE
           setPrimitiveTexture(int) に相当するコマンドです(=0x86000000)。
static int COMMAND_TOON_PARAM
           setToonParam(int, int, int) に相当するコマンドです(=0xaf000000)。
static int COMMAND_VIEW_TRANS
           setViewTrans(int) に相当するコマンドです(=0x87000000)。
static int ENV_ATTR_LIGHT
           光源対応処理を行うことを表す環境属性です(=1)。
static int ENV_ATTR_SEMI_TRANSPARENT
           半透明処理を行うことを表す環境属性です(=8)。
static int ENV_ATTR_SPHERE_MAP
           環境マッピング処理を行うことを表す環境属性です(=2)。
static int ENV_ATTR_TOON_SHADER
           トゥーンシェーディングを行うことを表す環境属性です(=4)。
static int NORMAL_NONE
           プリミティブが法線情報を持たないことを表します(=0x0000)。
static int NORMAL_PER_FACE
           プリミティブが面単位で法線情報を持つことを表します(=0x0200)。
static int NORMAL_PER_VERTEX
           プリミティブが頂点単位で法線情報を持つことを表します(=0x0300)。
static int POINT_SPRITE_FLAG_LOCAL_SIZE
           モデル座標系でのサイズを指定することを表すポイントスプライトフラグです(=0)。
static int POINT_SPRITE_FLAG_NO_PERSPECTIVE
           パースを無効にすることを表すポイントスプライトフラグです(=2)。
static int POINT_SPRITE_FLAG_PERSPECTIVE
           パースを有効にすることを表すポイントスプライトフラグです(=0)。
static int POINT_SPRITE_FLAG_PIXEL_SIZE
           スクリーン座標系でのサイズを指定することを表すポイントスプライトフラグです(=1)。
static int POINT_SPRITE_PER_COMMAND
           プリミティブがコマンド単位で同じポイントスプライト情報を持つことを表します(=0x1000)。
static int POINT_SPRITE_PER_VERTEX
           プリミティブが頂点単位でポイントスプライト情報を持つことを表します(=0x3000)。
static int PRIMITIVE_LINES
           線の描画を表すプリミティブの型です(=2)。
static int PRIMITIVE_POINT_SPRITES
           ポイントスプライトの描画を表すプリミティブの型です(=5)。
static int PRIMITIVE_POINTS
           点の描画を表すプリミティブの型です(=1)。
static int PRIMITIVE_QUADS
           四角形の描画を表すプリミティブの型です(=4)。
static int PRIMITIVE_TRIANGLES
           三角形の描画を表すプリミティブの型です(=3)。
static int TEXTURE_COORD_NONE
           プリミティブがテクスチャ座標情報を持たないことを表します(=0x0000)。
static int TEXTURE_COORD_PER_VERTEX
           プリミティブが頂点単位でテクスチャ座標情報を持つことを表します(=0x3000)。
 
メソッドの概要
 void drawFigure(Figure figure)
          モデルをクリッピング領域内に描画します。
 void enableLight(boolean b)
          光源対応処理の有効化/無効化を行います。
 void enableSemiTransparent(boolean flag)
          半透明処理の有効化/無効化を行います。
 void enableSphereMap(boolean b)
          環境マッピング処理の有効化/無効化を行います。
 void enableToonShader(boolean b)
           トゥーンシェーディングの有効化/無効化を行います。
 void executeCommandList(int[] commandlist)
           コマンド配列によってレンダリングの演算や描画を行います。
 void flush()
           レンダリング演算の結果を実際に描画に反映します。
 void renderFigure(Figure figure)
           モデルデータを設定し、レンダリングの演算を実行します。
 void renderPrimitives(PrimitiveArray primitives, int attr)
           プリミティブデータを設定し、レンダリングの演算を行います。
 void renderPrimitives(PrimitiveArray primitives, int offset, int length, int attr)
           プリミティブデータを設定し、レンダリングの演算を行います。}
 void setAmbientLight(int intensity)
          環境光の強さ設定します。
 void setClipRect3D(int x, int y, int width, int height)
          キャンバス全体描画領域のうち3D描画のためのクリッピング領域を設定します。
 void setDirectionLight(Vector3D direction, int intensity)
          平行光源の強さと方向を設定します。
 void setPerspective(int zNear, int zFar, int angle)
           視野角を指定して透視投影の設定を行います。
 void setPerspective(int zNear, int zFar, int width, int height)
           ニアクリップ面における投影面の幅および高さを指定して透視投影の設定を行います。
 void setPrimitiveTexture(int index)
           プリミティブ描画において参照されるテクスチャを設定します。
 void setPrimitiveTextureArray(Texture texture)
           プリミティブ描画のためのテクスチャ配列を設定します。
 void setPrimitiveTextureArray(Texture[] textures)
           プリミティブ描画のためのテクスチャ配列を設定します。
 void setScreenCenter(int cx, int cy)
          スクリーンの中心を設定します。
 void setScreenScale(int sx, int sy)
          視点座標からスクリーンへのスケールを指定して平行投影の設定を行います。
 void setScreenView(int width, int height)
           投影面の幅と高さを指定して平行投影の設定を行います。
 void setSphereTexture(Texture texture)
          環境マッピング用のテクスチャを設定します。
 void setToonParam(int threshold, int high, int low)
           レンダリングをトゥーンシェーディングで行うための情報を設定します。
 void setViewTrans(AffineTrans at)
          視点座標への変換行列を設定します。
 void setViewTrans(int index)
           視点座標への変換行列を設定します。
 void setViewTransArray(AffineTrans[] ats)
           視点座標への変換行列の配列を設定します。
 

フィールドの詳細

PRIMITIVE_POINTS

public static final int PRIMITIVE_POINTS
点の描画を表すプリミティブの型です(=1)。
点のプリミティブの描画では、頂点と色の情報と、プリミティブ属性の設定が反映されます。

導入されたバージョン:
DoJa-3.0
関連項目:
PrimitiveArray, 定数フィールド値

PRIMITIVE_LINES

public static final int PRIMITIVE_LINES
線の描画を表すプリミティブの型です(=2)。
線のプリミティブの描画では、頂点と色の情報と、プリミティブ属性の設定が反映されます。

導入されたバージョン:
DoJa-3.0
関連項目:
PrimitiveArray, 定数フィールド値

PRIMITIVE_TRIANGLES

public static final int PRIMITIVE_TRIANGLES
三角形の描画を表すプリミティブの型です(=3)。
三角形のプリミティブの描画では、頂点と法線(光源対応処理を行う場合)と、色またはテクスチャ座標の情報と、プリミティブ属性の設定が反映されます。 色情報とテクスチャ座標情報とを同時に指定することはできません。

導入されたバージョン:
DoJa-3.0
関連項目:
PrimitiveArray, 定数フィールド値

PRIMITIVE_QUADS

public static final int PRIMITIVE_QUADS
四角形の描画を表すプリミティブの型です(=4)。
四角形のプリミティブの描画では、頂点と法線(光源対応処理を行う場合)と、色またはテクスチャ座標の情報と、プリミティブ属性の設定が反映されます。 色情報とテクスチャ座標情報とを同時に指定することはできません。

なお、四角形の頂点は、同一平面上にあり、凸状の四角形を構成していなければなりません。 頂点が同一平面上になかったり、凸状の四角形ではなかったりした場合のレンダリング結果は機種依存です。

導入されたバージョン:
DoJa-3.0
関連項目:
PrimitiveArray, 定数フィールド値

PRIMITIVE_POINT_SPRITES

public static final int PRIMITIVE_POINT_SPRITES
ポイントスプライトの描画を表すプリミティブの型です(=5)。
ポイントスプライトのプリミティブの描画では、頂点とポイントスプライトの情報と、プリミティブ属性の設定が反映されます。

導入されたバージョン:
DoJa-3.0
関連項目:
PrimitiveArray, 定数フィールド値

NORMAL_NONE

public static final int NORMAL_NONE
プリミティブが法線情報を持たないことを表します(=0x0000)。

導入されたバージョン:
DoJa-3.0
関連項目:
定数フィールド値

NORMAL_PER_FACE

public static final int NORMAL_PER_FACE
プリミティブが面単位で法線情報を持つことを表します(=0x0200)。

導入されたバージョン:
DoJa-3.0
関連項目:
定数フィールド値

NORMAL_PER_VERTEX

public static final int NORMAL_PER_VERTEX
プリミティブが頂点単位で法線情報を持つことを表します(=0x0300)。

導入されたバージョン:
DoJa-3.0
関連項目:
定数フィールド値

COLOR_NONE

public static final int COLOR_NONE
プリミティブが色情報を持たないことを表します(=0x0000)。

導入されたバージョン:
DoJa-3.0
関連項目:
定数フィールド値

COLOR_PER_COMMAND

public static final int COLOR_PER_COMMAND
プリミティブがコマンド単位で同じ色情報を持つことを表します(=0x0400)。

導入されたバージョン:
DoJa-3.0
関連項目:
定数フィールド値

COLOR_PER_FACE

public static final int COLOR_PER_FACE
プリミティブが面単位で色情報を持つことを表します(=0x0800)。

導入されたバージョン:
DoJa-3.0
関連項目:
定数フィールド値

TEXTURE_COORD_NONE

public static final int TEXTURE_COORD_NONE
プリミティブがテクスチャ座標情報を持たないことを表します(=0x0000)。

導入されたバージョン:
DoJa-3.0
関連項目:
定数フィールド値

TEXTURE_COORD_PER_VERTEX

public static final int TEXTURE_COORD_PER_VERTEX
プリミティブが頂点単位でテクスチャ座標情報を持つことを表します(=0x3000)。

導入されたバージョン:
DoJa-3.0
関連項目:
定数フィールド値

POINT_SPRITE_PER_COMMAND

public static final int POINT_SPRITE_PER_COMMAND
プリミティブがコマンド単位で同じポイントスプライト情報を持つことを表します(=0x1000)。

導入されたバージョン:
DoJa-3.0
関連項目:
定数フィールド値

POINT_SPRITE_PER_VERTEX

public static final int POINT_SPRITE_PER_VERTEX
プリミティブが頂点単位でポイントスプライト情報を持つことを表します(=0x3000)。

導入されたバージョン:
DoJa-3.0
関連項目:
定数フィールド値

POINT_SPRITE_FLAG_LOCAL_SIZE

public static final int POINT_SPRITE_FLAG_LOCAL_SIZE
モデル座標系でのサイズを指定することを表すポイントスプライトフラグです(=0)。 ポイントスプライト情報の幅と高さは、モデル座標系での幅と高さであるとみなされます。 すなわち、モデル座標系の指定された頂点位置に指定された幅と高さのポイントスプライトがあるとしてレンダリングが行われます。
POINT_SPRITE_FLAG_PIXEL_SIZE と同時に指定することはできません。

導入されたバージョン:
DoJa-3.0
関連項目:
定数フィールド値

POINT_SPRITE_FLAG_PIXEL_SIZE

public static final int POINT_SPRITE_FLAG_PIXEL_SIZE
スクリーン座標系でのサイズを指定することを表すポイントスプライトフラグです(=1)。 ポイントスプライト情報の幅と高さは、スクリーン座標系での幅と高さであるとみなされます。 すなわち、モデル座標系の指定された頂点位置をスクリーンにマップした位置に、指定された幅と高さでポイントスプライトのレンダリングが行われます。
POINT_SPRITE_FLAG_LOCAL_SIZE と同時に指定することはできません。

導入されたバージョン:
DoJa-3.0
関連項目:
定数フィールド値

POINT_SPRITE_FLAG_PERSPECTIVE

public static final int POINT_SPRITE_FLAG_PERSPECTIVE
パースを有効にすることを表すポイントスプライトフラグです(=0)。 透視投影に設定されている場合のみ有効で、平行投影に設定されている場合は無視されます。
ポイントスプライトフラグを (POINT_SPRITE_FLAG_PIXEL_SIZE | POINT_SPRITE_FLAG_PERSPECTIVE) とした場合は、ポイントスプライトがニアクリップ面上にあるときに指定された幅と高さになるようにパースをつけてレンダリングされます。
POINT_SPRITE_FLAG_NO_PERSPECTIVE と同時に指定することはできません。

導入されたバージョン:
DoJa-3.0
関連項目:
定数フィールド値

POINT_SPRITE_FLAG_NO_PERSPECTIVE

public static final int POINT_SPRITE_FLAG_NO_PERSPECTIVE
パースを無効にすることを表すポイントスプライトフラグです(=2)。 透視投影に設定されている場合のみ有効で、平行投影に設定されている場合は無視されます。
ポイントスプライトフラグを (POINT_SPRITE_FLAG_LOCAL_SIZE | POINT_SPRITE_FLAG_NO_PERSPECTIVE) とした場合にどのようにレンダリングされるかは機種依存です。
POINT_SPRITE_FLAG_PERSPECTIVE と同時に指定することはできません。

導入されたバージョン:
DoJa-3.0
関連項目:
定数フィールド値

ATTR_LIGHT

public static final int ATTR_LIGHT
光源対応処理を行うことを表すプリミティブ属性です(=0x01)。
プリミティブに光源対応処理の指定を行うのに加えて、 enableLight(boolean) メソッドによって Graphics3D オブジェクトの光源対応処理が有効化されている必要があります。

導入されたバージョン:
DoJa-3.0
関連項目:
定数フィールド値

ATTR_SPHERE_MAP

public static final int ATTR_SPHERE_MAP
環境マッピング処理を行うことを表すプリミティブ属性です(=0x02)。
プリミティブに環境マッピング処理の指定を行うのに加えて、 enableSphereMap(boolean) メソッドと setSphereTexture(Texture) メソッドによって Graphics3D オブジェクトの環境マッピング処理が有効化されている必要があります。

導入されたバージョン:
DoJa-3.0
関連項目:
定数フィールド値

ATTR_COLOR_KEY

public static final int ATTR_COLOR_KEY
カラーキーを用いた透過処理を行うことを表すプリミティブ属性です(=0x10)。 テクスチャにおいて色番号0の部分が抜き色としてレンダリングされます。

導入されたバージョン:
DoJa-3.0
関連項目:
定数フィールド値

ATTR_BLEND_NORMAL

public static final int ATTR_BLEND_NORMAL
通常の描画処理を行うことを表すプリミティブ属性です(=0x00)。 ATTR_BLEND_HALF, ATTR_BLEND_ADD, ATTR_BLEND_SUB と同時に指定することはできません。
プリミティブにブレンド処理の指定を行うのに加えて、 enableSemiTransparent(boolean) メソッドによって Graphics3D オブジェクトの半透明処理が有効化されている必要があります。

導入されたバージョン:
DoJa-3.0
関連項目:
定数フィールド値

ATTR_BLEND_HALF

public static final int ATTR_BLEND_HALF
50%ブレンドモードで描画を行うことを表すプリミティブ属性です(=0x20)。 描画結果は、(背景 x 50% + プリミティブ x 50%) となります。 ATTR_BLEND_NORMAL, ATTR_BLEND_ADD, ATTR_BLEND_SUB と同時に指定することはできません。
プリミティブにブレンド処理の指定を行うのに加えて、 enableSemiTransparent(boolean) メソッドによって Graphics3D オブジェクトの半透明処理が有効化されている必要があります。

導入されたバージョン:
DoJa-3.0
関連項目:
定数フィールド値

ATTR_BLEND_ADD

public static final int ATTR_BLEND_ADD
加算モードで描画を行うことを表すプリミティブ属性です(=0x40)。 描画結果は、(背景 x 100% + プリミティブ x 100%) となります。 ATTR_BLEND_NORMAL, ATTR_BLEND_HALF, ATTR_BLEND_SUB と同時に指定することはできません。
プリミティブにブレンド処理の指定を行うのに加えて、 enableSemiTransparent(boolean) メソッドによって Graphics3D オブジェクトの半透明処理が有効化されている必要があります。

導入されたバージョン:
DoJa-3.0
関連項目:
定数フィールド値

ATTR_BLEND_SUB

public static final int ATTR_BLEND_SUB
減算モードで描画を行うことを表すプリミティブ属性です(=0x60)。 描画結果は、(背景 x 100% - プリミティブ x 100%) となります。 ATTR_BLEND_NORMAL, ATTR_BLEND_HALF, ATTR_BLEND_ADD と同時に指定することはできません。
プリミティブにブレンド処理の指定を行うのに加えて、 enableSemiTransparent(boolean) メソッドによって Graphics3D オブジェクトの半透明処理が有効化されている必要があります。

導入されたバージョン:
DoJa-3.0
関連項目:
定数フィールド値

COMMAND_LIST_VERSION_1

public static final int COMMAND_LIST_VERSION_1
コマンドリストのバージョンを表すコマンドです(=0xfe000001)。 コマンドリストの先頭には必ずバージョンを指定する必要があります。

導入されたバージョン:
DoJa-3.0
関連項目:
定数フィールド値

COMMAND_END

public static final int COMMAND_END
コマンドリストの終了を表すコマンドです(=0x80000000)。
コマンド配列では、COMMAND_END に続く配列の要素は処理されません。

導入されたバージョン:
DoJa-3.0
関連項目:
定数フィールド値

COMMAND_NOP

public static final int COMMAND_NOP
何もしないことを表すコマンドです(=0x81000000)。
コマンド配列では、COMMAND_NOP とそれに続いてスキップする配列の要素数とを論理和で組み合わせて指定します。

例 : コマンド配列に COMMAND_CENTER と COMMAND_SCREEN_SCALE が設定されており、COMMAND_CENTER のみをスキップする場合

int command[] = {COMMAND_CENTER, 120, 120,
                 COMMAND_SCREEN_SCALE, 4096, 4096};
command[0] = COMMAND_NOP | 2;

導入されたバージョン:
DoJa-3.0
関連項目:
定数フィールド値

COMMAND_FLUSH

public static final int COMMAND_FLUSH
flush() に相当するコマンドです(=0x82000000)。

導入されたバージョン:
DoJa-3.0
関連項目:
定数フィールド値

COMMAND_ATTRIBUTE

public static final int COMMAND_ATTRIBUTE
環境属性を設定することを表すコマンドです(=0x83000000)。 enableLight(boolean), enableSphereMap(boolean), enableToonShader(boolean), enableSemiTransparent(boolean) に相当します。
コマンド配列では、COMMAND_ATTRIBUTE と ENV_ATTR_LIGHT, ENV_ATTR_SPHERE_MAP, ENV_ATTR_TOON_SHADER, ENV_ATTR_SEMI_TRANSPARENT を 論理和で組み合わせて指定します。

例 : 光源対応処理と環境マッピング処理を有効に、トゥーンシェーディングと半透明処理を無効にする場合

int command[] = {COMMAND_ATTRIBUTE | ENV_ATTR_LIGHT | ENV_ATTR_SPHERE_MAP};

導入されたバージョン:
DoJa-3.0
関連項目:
定数フィールド値

COMMAND_AMBIENT_LIGHT

public static final int COMMAND_AMBIENT_LIGHT
setAmbientLight(int) に相当するコマンドです(=0xa0000000)。 コマンド配列では、COMMAND_AMBIENT_LIGHT に続いて環境光の強さを指定します。

例 : 環境光の強さを 4096 に設定する場合

int command[] = {COMMAND_AMBIENT_LIGHT, 4096};

導入されたバージョン:
DoJa-3.0
関連項目:
定数フィールド値

COMMAND_DIRECTION_LIGHT

public static final int COMMAND_DIRECTION_LIGHT
setDirectionLight(Vector3D, int) に相当するコマンドです(=0xa1000000)。
コマンド配列では、COMMAND_DIRECTION_LIGHT に続いて平行光源の方向と強さを x, y, z, intensity の順で指定します。

例 : 平行光源を、方向 (1, 2, 3)、強さ 4096 に設定する場合

int command[] = {COMMAND_DIRECTION_LIGHT, 1, 2, 3, 4096};

導入されたバージョン:
DoJa-3.0
関連項目:
定数フィールド値

COMMAND_TOON_PARAM

public static final int COMMAND_TOON_PARAM
setToonParam(int, int, int) に相当するコマンドです(=0xaf000000)。
コマンド配列では、COMMAND_TOON_PARAM に続いてトゥーンシェーディングのパラメータを threshold, high, low の順で指定します。

例 : トゥーンシェーディングの閾値を 128、hight の値を 255, low の値を 0 に設定する場合

int command[] = {COMMAND_TOON_PARAM, 128, 255, 0};

導入されたバージョン:
DoJa-3.0
関連項目:
定数フィールド値

COMMAND_CLIP_RECT

public static final int COMMAND_CLIP_RECT
setClipRect3D(int, int, int, int) に相当するコマンドです(=0x84000000)。
コマンド配列では、COMMAND_CLIP_RECT に続いてクリッピング領域の座標を left, top, right, bottom の順で指定します。 setClipRect3D(int, int, int, int) では x, y, width, height の順で指定しますが、それとはパラメータの指定の仕方が異なっている点に注意してください。 setClip(x, y, width, height) に対して、COMMAND_CLIP_RECT で指定する場合は x, y, (x + width), (y + height) という値を指定します。

例 : クリッピング領域を画面の (10, 20)-(230, 200) に設定する場合

int command[] = {COMMAND_CLIP_RECT, 10, 20, 230, 220};

導入されたバージョン:
DoJa-3.0
関連項目:
定数フィールド値

COMMAND_SCREEN_CENTER

public static final int COMMAND_SCREEN_CENTER
setScreenCenter(int, int) に相当するコマンドです(=0x85000000)。
コマンド配列では、COMMAND_CENTER に続いてスクリーンの中心の座標を x, y の順で指定します。

例 : スクリーンの中心を (120, 120) に設定する場合

int command[] = {COMMAND_CENTER, 120, 120};

導入されたバージョン:
DoJa-3.0
関連項目:
定数フィールド値

COMMAND_SCREEN_SCALE

public static final int COMMAND_SCREEN_SCALE
setScreenScale(int, int) に相当するコマンドです(=0x90000000)。
コマンド配列では、COMMAND_SCREEN_SCALE に続いて視点座標からスクリーンへのスケールを sx, sy の順で指定します。

例 : 視点座標からスクリーンへのスケールを (4096, 4096) に設定する場合

int command[] = {COMMAND_SCREEN_SCALE, 4096, 4096};

導入されたバージョン:
DoJa-3.0
関連項目:
定数フィールド値

COMMAND_SCREEN_VIEW

public static final int COMMAND_SCREEN_VIEW
setScreenView(int, int) に相当するコマンドです(=0x91000000)。
コマンド配列では、COMMAND_SCREEN_VIEW に続いて投影面の幅と高さを width, height の順で指定します。

例 : 投影面の幅と高さを (4096, 4096) に設定する場合

int command[] = {COMMAND_SCREEN_VIEW, 4096, 4096};

導入されたバージョン:
DoJa-3.0
関連項目:
定数フィールド値

COMMAND_PERSPECTIVE1

public static final int COMMAND_PERSPECTIVE1
setPerspective(int, int, int) に相当するコマンドです(=0x92000000)。
コマンド配列では、COMMAND_PERSPECTIVE1 に続いて透視投影のパラメータを zNear, zFar, angle の順で指定します。

例 : ニアクリップ面までの距離を 4096、ファークリップ面までの距離を 40960、視野角を 1024 に設定する場合

int command[] = {COMMAND_PERSPECTIVE1, 4096, 40960, 1024};

導入されたバージョン:
DoJa-3.0
関連項目:
定数フィールド値

COMMAND_PERSPECTIVE2

public static final int COMMAND_PERSPECTIVE2
setPerspective(int, int, int, int) に相当するコマンドです(=0x93000000)。
コマンド配列では、COMMAND_PERSPECTIVE2 に続いて透視投影のパラメータを zNear, zFar, width, height の順で指定します。

例 : ニアクリップ面までの距離を 4096、ファークリップ面までの距離を 40960、投影面の幅と高さを (2048, 2048) に設定する場合

int command[] = {COMMAND_PERSPECTIVE2, 4096, 40960, 2048, 2048};

導入されたバージョン:
DoJa-3.0
関連項目:
定数フィールド値

COMMAND_TEXTURE

public static final int COMMAND_TEXTURE
setPrimitiveTexture(int) に相当するコマンドです(=0x86000000)。
コマンド配列では、COMMAND_TEXTURE とテクスチャ配列中のインデックスを論理和で組み合わせて指定します。

例 : テクスチャ配列中のインデックス 1 のテクスチャを参照するよう設定する場合

int command[] = {COMMAND_TEXTURE | 1};

導入されたバージョン:
DoJa-3.0
関連項目:
定数フィールド値

COMMAND_VIEW_TRANS

public static final int COMMAND_VIEW_TRANS
setViewTrans(int) に相当するコマンドです(=0x87000000)。
コマンド配列では、COMMAND_VEW_TRANS と視点座標への変換行列の配列中のインデックスとを論理和で組み合わせて指定します。

例 : 視点座標への変換行列の配列中のインデックス 1 の行列を視点座標への変換行列として設定する場合

int command[] = {COMMAND_VIEW_TRANS | 1};

導入されたバージョン:
DoJa-3.0
関連項目:
定数フィールド値

COMMAND_RENDER_POINTS

public static final int COMMAND_RENDER_POINTS
点を描画することを表すコマンドです(=0x01000000)。
コマンド配列では、COMMAND_POINTS と、使用するプリミティブ情報を表すパラメータと、プリミティブ属性と、(プリミティブ数 << 16)とを論理和で組み合わせて指定します。 それに続いて、プリミティブ情報を指定します。 プリミティブ情報の指定の仕方は PrimitiveArray と同様で、 頂点情報、色情報の順で必要なものを指定します。

例 :

int command[] = {COMMAND_RENDER_POINTS | COLOR_PER_FACE | ATTR_LIGHT | (10 << 16), ...};

導入されたバージョン:
DoJa-3.0
関連項目:
定数フィールド値

COMMAND_RENDER_LINES

public static final int COMMAND_RENDER_LINES
線を描画することを表すコマンドです(=0x02000000)。
コマンド配列では、COMMAND_LINES と、使用するプリミティブ情報を表すパラメータと、プリミティブ属性と、(プリミティブ数 << 16)とを論理和で組み合わせて指定します。 それに続いて、プリミティブ情報を指定します。 プリミティブ情報の指定の仕方は PrimitiveArray と同様で、 頂点情報、法線情報、色情報、テクスチャ座標情報、ポイントスプライト情報の順で必要なものを指定します。

例 :

int command[] = {COMMAND_RENDER_LINES | COLOR_PER_FACE | ATTR_LIGHT | (10 << 16), ...};

導入されたバージョン:
DoJa-3.0
関連項目:
定数フィールド値

COMMAND_RENDER_TRIANGLES

public static final int COMMAND_RENDER_TRIANGLES
三角形を描画することを表すコマンドです(=0x03000000)。
コマンド配列では、COMMAND_TRIANGLES と、使用するプリミティブ情報を表すパラメータと、プリミティブ属性と、(プリミティブ数 << 16)とを論理和で組み合わせて指定します。 それに続いて、プリミティブ情報を指定します。 プリミティブ情報の指定の仕方は PrimitiveArray と同様で、 頂点情報、法線情報、色情報、テクスチャ座標情報の順で必要なものを指定します。

例 :

int command[] = {COMMAND_RENDER_TRIANGLES | COLOR_PER_FACE | ATTR_LIGHT | (10 << 16), ...};

導入されたバージョン:
DoJa-3.0
関連項目:
定数フィールド値

COMMAND_RENDER_QUADS

public static final int COMMAND_RENDER_QUADS
四角形を描画することを表すコマンドです(=0x04000000)。
コマンド配列では、COMMAND_QUADS と、使用するプリミティブ情報を表すパラメータと、プリミティブ属性と、(プリミティブ数 << 16)とを論理和で組み合わせて指定します。 それに続いて、プリミティブ情報を指定します。 プリミティブ情報の指定の仕方は PrimitiveArray と同様で、 頂点情報、法線情報、色情報、テクスチャ座標情報の順で必要なものを指定します。

例 :

int command[] = {COMMAND_RENDER_QUADS | COLOR_PER_FACE | ATTR_LIGHT | (10 << 16), ...};

導入されたバージョン:
DoJa-3.0
関連項目:
定数フィールド値

COMMAND_RENDER_POINT_SPRITES

public static final int COMMAND_RENDER_POINT_SPRITES
ポイントスプライトを描画することを表すコマンドです(=0x05000000)。
コマンド配列では、COMMAND_POINT_SPRITES と、使用するプリミティブ情報を表すパラメータと、プリミティブ属性と、(プリミティブ数 << 16)とを論理和で組み合わせて指定します。 それに続いて、プリミティブ情報を指定します。 プリミティブ情報の指定の仕方は PrimitiveArray と同様で、 頂点情報、ポイントスプライト情報の順で指定します。

例 :

int command[] = {COMMAND_RENDER_POINT_SPRITES | POINT_SPRITE_PER_VERTEX | ATTR_LIGHT | (10 << 16), ...};

導入されたバージョン:
DoJa-3.0
関連項目:
定数フィールド値

ENV_ATTR_LIGHT

public static final int ENV_ATTR_LIGHT
光源対応処理を行うことを表す環境属性です(=1)。

導入されたバージョン:
DoJa-3.0
関連項目:
COMMAND_ATTRIBUTE, 定数フィールド値

ENV_ATTR_SPHERE_MAP

public static final int ENV_ATTR_SPHERE_MAP
環境マッピング処理を行うことを表す環境属性です(=2)。

導入されたバージョン:
DoJa-3.0
関連項目:
COMMAND_ATTRIBUTE, 定数フィールド値

ENV_ATTR_TOON_SHADER

public static final int ENV_ATTR_TOON_SHADER
トゥーンシェーディングを行うことを表す環境属性です(=4)。

導入されたバージョン:
DoJa-3.0
関連項目:
COMMAND_ATTRIBUTE, 定数フィールド値

ENV_ATTR_SEMI_TRANSPARENT

public static final int ENV_ATTR_SEMI_TRANSPARENT
半透明処理を行うことを表す環境属性です(=8)。

導入されたバージョン:
DoJa-3.0
関連項目:
COMMAND_ATTRIBUTE, 定数フィールド値
メソッドの詳細

setViewTrans

public void setViewTrans(AffineTrans at)
視点座標への変換行列を設定します。
このメソッドでは変換行列の要素を内部でコピーするため、 メソッドから戻った後に変換行列を変更したりしても視点は移動しません。

初期状態では、このメソッドで AffineTrans(4096,0,0,0, 0,4096,0,0, 0,0,4096,0)が設定された状態になっています。

[DoJa-3.0]
このメソッドが呼び出される前に setViewTrans(int) メソッドで視点座標への変換行列が設定されていた場合、その設定はこのメソッドの呼び出しによって上書きされます。

パラメータ:
at - 視点座標への変換行列を指定します。
例外:
NullPointerException - 引数 at に null が指定された場合に発生します。

setViewTransArray

public void setViewTransArray(AffineTrans[] ats)
視点座標への変換行列の配列を設定します。 このメソッドでは配列を Graphics3D オブジェクトに設定するだけで、 視点座標への変換行列の設定は行いません。 実際に視点座標への変換行列を設定するには、このメソッドを呼び出した後に setViewTrans(int) メソッドを呼び出します。

引数で指定された配列は、 このメソッドが呼び出された時点で Graphics3D オブジェクトにコピーされます。 そのため、このメソッドを呼び出した後に配列の要素の AffineTrans を変更しても setViewTrans(int) メソッドの呼び出しには反映されません。

パラメータ:
ats - 視点座標への変換行列の配列を指定します。
例外:
NullPointerException - 引数 ats または引数 ats の配列の要素に null が指定された場合に発生します。
導入されたバージョン:
DoJa-3.0
関連項目:
setViewTrans(int)

setViewTrans

public void setViewTrans(int index)
視点座標への変換行列を設定します。 このメソッドでは、Graphics3D オブジェクトに設定されている視点座標への変換行列の配列の中から、指定されたインデックの要素を視点座標への変換行列として設定します。 あらかじめ setViewTransArray(AffineTrans[]) メソッドを呼び出して視点座標への変換行列の配列を設定しておき、 このメソッドを呼び出して配列のインデックスを指定することで視点座標への変換行列の設定を行います。
このメソッドでは変換行列の要素を内部でコピーするため、 メソッドから戻った後に変換行列を変更したりしても視点は移動しません。

このメソッドが呼び出される前に setViewTrans(AffineTrans) メソッドで視点座標への変換行列が設定されていた場合、その設定はこのメソッドの呼び出しによって上書きされます。

パラメータ:
index - 視点座標への変換行列の配列中のインデックスを指定します。
例外:
NullPointerException - 視点座標への変換行列の配列が未設定の場合に発生します。
ArrayIndexOutOfBoundsException - 引数 index に負の値または視点座標への変換行列の配列の要素数以上の値が指定された場合に発生します。
導入されたバージョン:
DoJa-3.0
関連項目:
setViewTransArray(AffineTrans[])

setScreenCenter

public void setScreenCenter(int cx,
                            int cy)
スクリーンの中心を設定します。
視点座標からスクリーン座標に変換する際のスクリーン中心パラメータをセットします。 視点座標における(0,0,0)がスクリーン上のこの座標に来るように描画されます。 再度このメソッドを呼び出すまでパラメータは保持されます。

初期状態では、このメソッドで (0,0) が設定された状態になっています。

パラメータ:
cx - スクリーンの中心の X 座標を指定します。
cy - スクリーンの中心の Y 座標を指定します。

setScreenScale

public void setScreenScale(int sx,
                           int sy)
視点座標からスクリーンへのスケールを指定して平行投影の設定を行います。
視点座標からスクリーン座標に変換する際のスケールパラメータをセットします。 スケールを大きくすると、モデルやプリミティブはより大きくレンダリングされることになります。 再度このメソッドを呼び出すまでパラメータは保持されます。

初期状態では、このメソッドで (4096,4096) が設定された状態になっています。

このメソッドの引数に負の値を指定した場合、 レンダリング対象の頂点の座標が X 方向あるいは Y 方向に反転した形でレンダリングされます。
モデルを構成するポリゴンには両面ポリゴンと片面ポリゴンとがありますが、 X 方向と Y 方向の両方に負の値が指定された場合はどちらのポリゴンでも X 方向、Y 方向の両方で反転された位置に描画されます。 X 方向か Y 方向のいずれか一方にのみ負の値が指定された場合は、 位置としては X 方向か Y 方向のいずれかの方向に反転された位置になりますが、 それに加えてポリゴンの法線の方向が変わるためにポリゴンを裏から見たような形でレンダリングされます。 両面ポリゴンは裏から見た形で描画されますが、 片面ポリゴンは法線の方向の影響で描画される・されないが反転します。

[DoJa-3.0]
このメソッドは setPerspective(int, int, int) メソッドおよび setPerspective(int, int, int, int) メソッドとは排他的な関係です。 このメソッドを呼び出した後は、レンダリングは全て平行投影で処理されます。 同様に、setPerspective(int, int, int) メソッドおよび setPerspective(int, int, int, int) メソッドを呼び出した後は、レンダリングは全て透視投影で処理されます。

パラメータ:
sx - X 方向のスケールを指定します。
sy - Y 方向のスケールを指定します。

setScreenView

public void setScreenView(int width,
                          int height)
投影面の幅と高さを指定して平行投影の設定を行います。
投影面の、視点座標系での幅と高さをセットします。 投影面の幅と高さを大きくすると、レンダリングの対象となる領域が広がるため、結果としてモデルやプリミティブはより小さくレンダリングされることになります。

このメソッドは setPerspective(int, int, int) メソッドおよび setPerspective(int, int, int, int) メソッドとは排他的な関係です。 このメソッドを呼び出した後は、レンダリングは全て平行投影で処理されます。 同様に、setPerspective(int, int, int) メソッドおよび setPerspective(int, int, int, int) メソッドを呼び出した後は、レンダリングは全て透視投影で処理されます。

パラメータ:
width - 投影面の幅を指定します。
height - 投影面の高さを指定します。
例外:
IllegalArgumentException - 引数 width, height のいずれかまたは両方に負の値が指定された場合に発生します。
導入されたバージョン:
Doja-3.0

setPerspective

public void setPerspective(int zNear,
                           int zFar,
                           int angle)
視野角を指定して透視投影の設定を行います。 ニアクリップ面からファークリップ面までのモデルとプリミティブがレンダリングされます。 パラメータは、視点座標系での距離を指定します。

このメソッドは setScreenScale(int, int) メソッドおよび setScreenView(int, int) メソッドとは排他的な関係です。 このメソッドを呼び出した後は、レンダリングは全て透視投影で処理されます。 同様に、setScreenScale(int, int) メソッドおよび setScreenView(int, int) メソッドを呼び出した後は、レンダリングは全て平行投影で処理されます。

パラメータ:
zNear - カメラからニアクリップ面までの距離を指定します。
zFar - カメラからファークリップ面までの距離を指定します。
angle - 視野角を指定します。 視野角の値は4096分周円表現で、有効範囲は1〜2047、すなわち0度 < 視野角 < 180度です。
例外:
IllegalArgumentException - 引数 zNear, zFar に、0 < zNear < zFar < 32768 の関係を満たしていない値が指定された場合に発生します。
IllegalArgumentException - 引数 angle に 0 以下の値か 2048 以上の値が指定された場合に発生します。
導入されたバージョン:
DoJa-3.0

setPerspective

public void setPerspective(int zNear,
                           int zFar,
                           int width,
                           int height)
ニアクリップ面における投影面の幅および高さを指定して透視投影の設定を行います。 ニアクリップ面からファークリップ面までのモデルとプリミティブがレンダリングされます。 パラメータは、視点座標系での距離や幅・高さを指定します。

このメソッドは setScreenScale(int, int) メソッドおよび setScreenView(int, int) メソッドとは排他的な関係です。 このメソッドを呼び出した後は、レンダリングは全て透視投影で処理されます。 同様に、setScreenScale(int, int) メソッドおよび setScreenView(int, int) メソッドを呼び出した後は、レンダリングは全て平行投影で処理されます。

パラメータ:
zNear - カメラからニアクリップ面までの距離を指定します。
zFar - カメラからファークリップ面までの距離を指定します。
width - ニアクリップ面における投影面の幅を指定します。
height - ニアクリップ面における投影面の高さを指定します。
例外:
IllegalArgumentException - 引数 zNear, zFar に、0 < zNear < zFar < 32768 の関係を満たしていない値が指定された場合に発生します。
IllegalArgumentException - 引数 width, height のいずれかまたは両方に0以下の値が指定された場合に発生します。
導入されたバージョン:
DoJa-3.0

drawFigure

public void drawFigure(Figure figure)
モデルをクリッピング領域内に描画します。 このメソッドを呼び出した際に、テクスチャや光源処理、 視点などの各種パラメータをもとに実際の描画処理が行われます。

[DoJa-3.0]
DoJa-2.0 との互換性のため、 このメソッドでモデルを描画した時には、モデルに設定されているテクスチャの陰影設定が反映されます。 すなわち、テクスチャのトゥーンシェーディングの設定に応じて、 内部で enableToonShader(boolean) メソッドと setToonParam(int, int, int) メソッドが呼び出された状態となります。
テクスチャの陰影設定が反映される以外は、 renderFigure(Figure) メソッドと flush() メソッドを続けて呼び出したのと同様の振る舞いとなります。

パラメータ:
figure - 描画するモデルオブジェクトを指定します。
例外:
NullPointerException - 引数 figure が null の場合に発生します。
com.nttdocomo.ui.UIException - 引数figureのモデルにテクスチャが設定されていない場合に発生します(ILLEGAL_STATE)。
[DoJa-3.0] モデルを全てカラーポリゴンで構築した場合はテクスチャは必要ないため、 引数figureのモデルにテクスチャが設定されていなくても例外は発生しません。
RuntimeException - 描画に失敗した場合に発生します。

renderFigure

public void renderFigure(Figure figure)
モデルデータを設定し、レンダリングの演算を実行します。
drawFigure(Figure) メソッドとは異なり、 このメソッドを呼び出しても実際の描画は実行されず、 レンダリングの演算のみが行われます。 このメソッドを複数回呼び出すことで、複数体のモデルを描画することが可能になります。 このメソッドを呼び出した後に flush() メソッドを呼び出すことで実際の描画が行われます。

このメソッドでモデルを描画した時には、 enableToonShader(boolean) メソッドと setToonParam(int,int,int) メソッドによる陰影設定が反映されます。 モデルに設定されているテクスチャの陰影設定は反映されません。

パラメータ:
figure - レンダリングを行うモデルオブジェクトを指定します。
例外:
NullPointerException - 引数 figure に null が指定された場合に発生します。
com.nttdocomo.ui.UIException - 引数 figure のモデルにテクスチャが設定されていない場合に発生します(ILLEGAL_STATE)。 ただし、モデルを全てカラーポリゴンで構築した場合はテクスチャは必要ないため、 引数figureのモデルにテクスチャが設定されていなくても例外は発生しません。
RuntimeException - レンダリングに失敗した場合に発生します。
導入されたバージョン:
DoJa-3.0

flush

public void flush()
レンダリング演算の結果を実際に描画に反映します。

例外:
RuntimeException - 描画に失敗した場合に発生します。
導入されたバージョン:
DoJa-3.0
関連項目:
renderFigure(Figure), renderPrimitives(PrimitiveArray, int), renderPrimitives(PrimitiveArray, int, int, int)

enableSphereMap

public void enableSphereMap(boolean b)
環境マッピング処理の有効化/無効化を行います。 初期状態では無効になっています。
環境マッピング関係の各APIはこのメソッドの実行とは無関係に常時正常に実行可能です。 実際に環境マッピングが行われるためには、環境マッピング用のテクスチャ データを用意して setSphereTexture(Texture) メソッドで設定するとともに、 モデルデータにおいても反射光(Specular)が有効なっている必要があります。

パラメータ:
b - 環境マッピング処理を有効にする場合は true を、無効にする場合は false を指定します。

setSphereTexture

public void setSphereTexture(Texture texture)
環境マッピング用のテクスチャを設定します。
設定されたテクスチャは、球形環境マッピングの手法で描画されます。

パラメータ:
texture - テクスチャオブジェクトを指定します。 テクスチャオブジェトは環境マッピング用に生成されたものでなければなりません。
例外:
NullPointerException - 引数 texture が null の場合に発生します。
IllegalArgumentException - 引数 texture が不正(モデルマッピング用に生成されたもの)な場合に発生します。

enableLight

public void enableLight(boolean b)
光源対応処理の有効化/無効化を行います。 初期状態では無効になっています。
光源対応の各APIはこのメソッドの実行とは無関係に常時正常に実行可能です。
光源対応処理が無効の場合には、モデルにマッピングされたテクスチャの色が そのまま描画されます。

パラメータ:
b - 光源対応処理を有効にする場合は true を、無効にする場合は false を指定します。

setAmbientLight

public void setAmbientLight(int intensity)
環境光の強さ設定します。
光源対応処理が有効になっている場合、環境光は常に有効です。
初期状態では強さ 0 に設定されています。

パラメータ:
intensity - 環境光の強さを指定します。 4096 を指定した時に 1.00 (100%) となります。 なお、強さ 1.00 (100%) とは、真正面から光を当てた場合にテクスチャの RGB 値そのものになることを表します。
例外:
IllegalArgumentException - 引数 intensity に負の値か、4096 より大きい値が指定された場合に発生します。

setDirectionLight

public void setDirectionLight(Vector3D direction,
                              int intensity)
平行光源の強さと方向を設定します。
光源対応処理が有効になっている場合、平行光源は常に有効です。
このメソッドでは方向ベクトルの要素を内部でコピーするため、メソッドから戻った後に 方向ベクトルを変更したりしても光源方向は変化しません。 初期状態では、方向 (0,0,1)、強さ 4096 に設定されています。

パラメータ:
direction - 平行光源の方向を表す、視点座標系でのベクトルを指定します。
intensity - 平行光源の強さを指定します。 4096 を指定した時に 1.00 (100%) となります。 なお、強さ 1.00 (100%) とは、真正面から光を当てた場合にテクスチャの RGB 値そのものになることを表します。
例外:
NullPointerException - 引数 direction が null の場合に発生します。
IllegalArgumentException - 引数 direction が零ベクトルの場合に発生します。
IllegalArgumentException - 引数 intensity に負の値か、4096 より大きい値が指定された場合に発生します。

enableSemiTransparent

public void enableSemiTransparent(boolean flag)
半透明処理の有効化/無効化を行います。 初期状態では無効になっています。
光源対応機能の有効/無効(enableLight(boolean))とは無関係に半透明効果が得られます。 ただし、半透明効果を得るには、モデルデータ自体の「半透明属性」が有効になっている必要があります。

[DoJa-3.0]
プリミティブの描画において半透明効果を得るには、 プリミティブ自体にブレンドに関するプリミティブ属性 (ATTR_BLEND_HALF, ATTR_BLEND_ADD, ATTR_BLEND_SUB) が設定されている必要があります。


setClipRect3D

public void setClipRect3D(int x,
                          int y,
                          int width,
                          int height)
キャンバス全体描画領域のうち3D描画のためのクリッピング領域を設定します。

パラメータ:
x - クリッピング領域の矩形の左上の X 座標を指定します。
y - クリッピング領域の矩形の左上の Y 座標を指定します。
width - クリッピング領域の矩形の幅を指定します。
height - クリッピング領域の矩形の高さを指定します。
例外:
IllegalArgumentException - 引数 width, height のいずれかまたは両方に0未満の値が指定された場合に発生します。

enableToonShader

public void enableToonShader(boolean b)
トゥーンシェーディングの有効化/無効化を行います。 初期状態では無効になっています。

drawFigure(Figure)メソッド以外の描画ではこのメソッドの設定がレンダリングに影響します。

パラメータ:
b - トゥーンシェーディングを有効にする場合は true を、無効にする場合は false を指定します。
導入されたバージョン:
DoJa-3.0
関連項目:
setToonParam(int,int,int)

setToonParam

public void setToonParam(int threshold,
                         int high,
                         int low)
レンダリングをトゥーンシェーディングで行うための情報を設定します。 シェーディング対象となる任意の点に対して、 通常の(グロー)シェーディングの結果として、その点の明るさが 元のテクスチャの明るさのd %と計算されたとすると、 このメソッド呼び出しにより、実際に描画される明るさは、 以下のようになります。
  • d > threshold の時、 high % の明るさ。
  • dthresholdの時、 low % の明るさ。

パラメータ:
threshold - 上記threasholdの値を指定します。 区間[0, 255]の値を指定することができ、 255が100%を表します。
high - 上記highの値を指定します。 区間[0, 255]の値を指定することができ、 255が100%を表します。
low - 上記lowの値を指定します。 区間[0, 255]の値を指定することができ、 255が100%を表します。
例外:
IllegalArgumentException - 引数のいずれかが区間[0, 255]に収まっていない場合に発生します。
導入されたバージョン:
DoJa-3.0
関連項目:
enableToonShader(boolean)

setPrimitiveTextureArray

public void setPrimitiveTextureArray(Texture texture)
プリミティブ描画のためのテクスチャ配列を設定します。 このメソッドは、setPrimitiveTextureArray(Texture[]) メソッドで長さ1のテクスチャ配列を引数に指定するのと同じです。
このメソッドでは配列を Graphics3D オブジェクトに設定するだけで、 実際にプリミティブ描画の際に参照されるテクスチャの設定は行いません。 実際に参照されるテクスチャを設定するには、このメソッドを呼び出した後に setPrimitiveTexture(int) メソッドを呼び出します。

パラメータ:
texture - テクスチャを指定します。
例外:
NullPointerException - 引数 texture に null が指定された場合に発生します。
IllegalArgumentException - 引数 texture が不正(環境マッピング用に生成されたもの)な場合に発生します。
導入されたバージョン:
DoJa-3.0

setPrimitiveTextureArray

public void setPrimitiveTextureArray(Texture[] textures)
プリミティブ描画のためのテクスチャ配列を設定します。
このメソッドでは配列を Graphics3D オブジェクトに設定するだけで、 実際にプリミティブ描画の際に参照されるテクスチャの設定は行いません。 実際に参照されるテクスチャを設定するには、このメソッドを呼び出した後に setPrimitiveTexture(int) メソッドを呼び出します。

パラメータ:
textures - テクスチャ配列を指定します。
例外:
NullPointerException - 引数 textures または引数 textures の配列の要素に null が指定された場合に発生します。
IllegalArgumentException - 引数 textures のいずれかの要素が不正(環境マッピング用に生成されたもの)な場合に発生します。
導入されたバージョン:
DoJa-3.0

setPrimitiveTexture

public void setPrimitiveTexture(int index)
プリミティブ描画において参照されるテクスチャを設定します。
このメソッドでは、Graphics3D オブジェクトに設定されているテクスチャ配列の中から、指定されたインデックの要素をプリミティブ描画の際に参照されるテクスチャとして設定します。 あらかじめ setPrimitiveTextureArray(Texture) メソッドまたは setPrimitiveTextureArray(Texture[]) メソッドを呼び出してテクスチャ配列を設定しておき、 このメソッドを呼び出して配列のインデックスを指定することでテクスチャの設定を行います。

パラメータ:
index - テクスチャ配列中のインデックスを指定します。
例外:
NullPointerException - テクスチャ配列が未設定の場合に発生します。
ArrayIndexOutOfBoundsException - 引数 index に負の値またはテクスチャ配列の要素数以上の値が指定された場合に発生します。
導入されたバージョン:
DoJa-3.0

renderPrimitives

public void renderPrimitives(PrimitiveArray primitives,
                             int attr)
プリミティブデータを設定し、レンダリングの演算を行います。
プリミティブにテクスチャ座標情報が含まれている場合、 あらかじめ setPrimitiveTextureArray(Texture) メソッドまたは setPrimitiveTextureArray(Texture[]) メソッドと、 setPrimitiveTexture(int) メソッドによってプリミティブから参照されるテクスチャを設定しておく必要があります。
プリミティブ属性は、 ATTR_LIGHT, ATTR_SPHERE_MAP, ATTR_COLOR_KEY, ATTR_BLEND_NORMAL, ATTR_BLEND_HALF, ATTR_BLEND_ADD, ATTR_BLEND_SUB を論理和で組み合わせて指定します。

このメソッドを呼び出しても実際の描画は実行されず、レンダリングの演算のみが行われます。 このメソッドを呼び出した後に flush() メソッドを呼び出すことで実際の描画が行われます。

パラメータ:
primitives - レンダリングの演算を行うプリミティブ情報を格納したプリミティブ配列オブジェクトを指定します。
attr - レンダリングの演算を行う際に使用するプリミティブ属性を指定します。
例外:
NullPointerException - 引数 primitives に null が指定された場合に発生します。
IllegalArgumentException - 引数 attr に不正な値が指定された場合に発生します。
IllegalArgumentException - 引数 primitives にテクスチャを必要とするプリミティブ配列オブジェクトが指定されたのに、Graphics3D オブジェクトに setPrimitiveTexture(int) メソッドでプリミティブ描画に使用するテクスチャが設定されていない場合に発生します。
RuntimeException - レンダリングに失敗した場合に発生します。
導入されたバージョン:
DoJa-3.0

renderPrimitives

public void renderPrimitives(PrimitiveArray primitives,
                             int offset,
                             int length,
                             int attr)
プリミティブデータを設定し、レンダリングの演算を行います。}
プリミティブにテクスチャ座標情報が含まれている場合、 あらかじめ setPrimitiveTextureArray(Texture) メソッドまたは setPrimitiveTextureArray(Texture[]) メソッドと、 setPrimitiveTexture(int) メソッドによってプリミティブから参照されるテクスチャを設定しておく必要があります。
プリミティブ属性は、 ATTR_LIGHT, ATTR_SPHERE_MAP, ATTR_COLOR_KEY, ATTR_BLEND_NORMAL, ATTR_BLEND_HALF, ATTR_BLEND_ADD, ATTR_BLEND_SUB を論理和で組み合わせて指定します。

このメソッドを呼び出しても実際の描画は実行されず、レンダリングの演算のみが行われます。 このメソッドを呼び出した後に flush() メソッドを呼び出すことで実際の描画が行われます。

パラメータ:
primitives - レンダリングの演算を行うプリミティブ情報を格納したプリミティブ配列オブジェクトを指定します。
offset - プリミティブ配列オブジェクトの中で使用するプリミティブの先頭のオフセットを指定します。
length - プリミティブ配列オブジェクトの中で使用するプリミティブの数を指定します。
attr - レンダリングの演算を行う際に使用するプリミティブ属性を指定します。
例外:
NullPointerException - 引数 primitives に null が指定された場合に発生します。
IllegalArgumentException - 引数 attr に不正な値が指定された場合に発生します。
ArrayIndexOutOfBoundsException - 引数 offset に負の値が指定された場合、引数 length に負の値が指定された場合、引数 offset または引数 offset + length の値がプリミティブ配列オブジェクトのプリミティブ数を超える場合に発生します。
IllegalArgumentException - 引数 primitives にテクスチャを必要とするプリミティブ配列オブジェクトが指定されたのに、Graphics3D オブジェクトに setPrimitiveTexture(int) メソッドでプリミティブ描画に使用するテクスチャが設定されていない場合に発生します。
RuntimeException - レンダリングに失敗した場合に発生します。
導入されたバージョン:
DoJa-3.0

executeCommandList

public void executeCommandList(int[] commandlist)
コマンド配列によってレンダリングの演算や描画を行います。 コマンド配列の設定が煩雑である代わりに、 メソッド呼び出しのオーバヘッドの分だけ高速な処理が可能となります。

コマンド配列に視点座標への変換行列の指定が含まれている場合、 あらかじめ setViewTransArray(AffineTrans[]) メソッドによって視点座標への変換行列の配列を設定しておく必要があります。
コマンド配列にテクスチャの指定が含まれている場合、 あらかじめ setPrimitiveTextureArray(Texture) メソッドまたは setPrimitiveTextureArray(Texture[]) メソッドによってテクスチャの配列を設定しておく必要があります。

コマンド配列は、例えば以下のような形で使用します。

int commandlist[] = {
   COMMAND_LIST_VERSION_1,
   COMMAND_SCREEN_CENTER, 120, 120,
   COMMAND_SCREEN_SCALE, 4096, 4096,
   COMMAND_RENDER_TRIANGLES | COLOR_PER_FACE | ATTR_LIGHT | 1 << 16,
     0, 0, 0, 1024,1024,1024, 2048, 2048, 2048, 0x00112233,
   COMMAND_FLUSH,
   COMMAND_END
 };
 g3d.executeCommandList(commandlist);

パラメータ:
commandlist - コマンド配列を指定します。
例外:
NullPointerException - 引数 commandlist に null が指定された場合に発生します。
IllegalArgumentException - 引数 commandlist の先頭の要素が、端末がサポートしているコマンドリストのバージョン以外だった場合に発生します。
RuntimeException - コマンド配列の実行に失敗した場合に発生します。
導入されたバージョン:
DoJa-3.0


NTT DoCoMo,Inc.

本製品または文書は著作権法により保護されており、その使用、複製、再頒布および逆コンパイルを制限するライセンスのもとにおいて頒布されます。NTTドコモ(その他に許諾者がある場合は当該許諾者も含めて)の書面による事前の許可なく、本製品および関連する文書のいかなる部分も、いかなる方法によっても複製することが禁じられます。フォントを含む第三者のソフトウェアは、著作権法により保護されており、その提供者からライセンスを受けているものです。

Sun、Sun Microsystems、Java、J2MEおよびJ2SEは、米国およびその他の国における米国 Sun Microsystems,Inc.の商標または登録商標です。サンのロゴマークは、米国 Sun Microsystems, Inc.の登録商標です。

「iモード」、「iアプリ/アイアプリ」、「i-αppli」ロゴ、「DoJa」はNTTドコモの商標または登録商標です。