|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Objectcom.nttdocomo.ui.graphics3d.Object3D
com.nttdocomo.ui.graphics3d.DrawableObject3D
com.nttdocomo.ui.graphics3d.Primitive
プリミティブ図形群の頂点データなどを保持する、
プリミティブクラスを定義します。
プリミティブオブジェクトは、レンダリング機能のメソッド
プリミティブオブジェクトは、以下のレンダリング用の情報を保持します。
Graphics3D.renderObject3D(DrawableObject3D, Transform)
において、描画対象となるポリゴン等の形状に関する情報を保持します。
各種パラメータは、初期状態では以下のようになります。
パラメータ 初期状態 テクスチャ歪み補正
無効
setPerspectiveCorrectionEnabled(false)
が呼ばれた状態図形用ブレンドモード
無設定 ( DrawableObject3D.BLEND_NORMAL
)透明度
100 パーセント(不透明)
プリミティブオブジェクトの
透明度は、設定されている図形用ブレンドモードが
DrawableObject3D.BLEND_ALPHA
,
DrawableObject3D.BLEND_ADD
のどちらかのときに有効になります。
このとき、プリミティブの型のすべて
(点・線・三角形・四角形・ポイントスプライト)に該当する図形
の描画について、設定されている透明度は影響を与えます。
プリミティブオブジェクトは、 頂点・法線・色・テクスチャ座標・ポイントスプライト情報を それぞれ配列として格納することができます。 頂点情報を格納することは必須ですが、 それ以外の情報は個別に格納するかどうかを指定できます。
プリミティブオブジェクトに、テクスチャ座標の情報を設定するときには、
一つの
モデル用の
テクスチャ
オブジェクトを、
setTexture(Texture)
メソッドにより
設定する必要があります。
一つのプリミティブオブジェクトが利用できる
モデル用の
テクスチャ
オブジェクトはただ一つです。
初期状態では、テクスチャ
オブジェクトは設定されていません。
setTime(int)
メソッド呼び出しによって
現在時刻が変更されても、保持しているデータ内容は変化しません。
プリミティブ図形の型ごとの、プリミティブ情報(属性)と配列との対応を 以下の表に示します。 各情報の値の範囲や制限等については、このクラスで定義されている 各プリミティブ情報の配列を扱うメソッドの説明を参照してください。
プリミティブオブジェクトを実際に描画するときは、
Graphics3D.renderObject3D(DrawableObject3D, Transform)
メソッドを利用します。
PRIMITIVE_POINTS
)プリミティブ情報(属性) | パラメータの値 | 配列のフォーマット |
頂点 | ---- | プリミティブ一個につき頂点一個を格納します。 頂点一個につき (x, y, z) の順で三個の整数値を格納しますので、 配列の長さはプリミティブ数 x 3 となります。 |
法線情報 | ---- | 使用しません。 |
色情報 | ||
COLOR_PER_PRIMITIVE |
プリミティブの個数に関わらず、共通に使われる色情報一個を格納します。 色情報一個につきRGB値を表す一個の整数値を格納しますので、配列の長さは常に 1 となります。 | |
COLOR_PER_FACE |
プリミティブ一個につき色情報一個を格納します。 色情報一個につき RGB 値を表す一個の整数値を格納しますので、 配列の長さはプリミティブ数 x 1 となります。 | |
テクスチャ座標情報 | ---- | 使用しません。 |
ポイントスプライト情報 | ---- | 使用しません。 |
PRIMITIVE_LINES
)プリミティブ情報(属性) | パラメータの値 | 配列のフォーマット |
頂点 | ---- | プリミティブ一個につき頂点二個を格納します。 頂点一個につき (x, y, z) の順で三個の整数値を格納しますので、 配列の長さはプリミティブ数 x 6 となります。 |
法線情報 | ---- | 使用しません。 |
色情報 | ||
COLOR_PER_PRIMITIVE |
プリミティブの個数に関わらず、共通に使われる色情報一個を格納します。 色情報一個につき RGB 値を表す一個の整数値を格納しますので、配列の長さは常に 1 となります。 | |
COLOR_PER_FACE |
プリミティブ一個につき色情報一個を格納します。 色情報一個につき RGB 値を表す一個の整数値を格納しますので、 配列の長さはプリミティブ数 x 1 となります。 | |
テクスチャ座標情報 | ---- | 使用しません。 |
ポイントスプライト情報 | ---- | 使用しません。 |
PRIMITIVE_TRIANGLES
)プリミティブ情報(属性) | パラメータの値 | 配列のフォーマット |
頂点 | ---- | プリミティブ一個につき頂点三個を格納します。 頂点一個につき (x, y, z) の順で三個の整数値を格納しますので、 配列の長さはプリミティブ数 x 9 となります。 |
法線情報 | NORMAL_NONE |
なし。 |
NORMAL_PER_FACE |
プリミティブ一個につき法線情報一個を格納します。 法線情報一個につき (x, y, z) の順で三個の整数値を格納しますので、 配列の長さはプリミティブ数 x 3 となります。 | |
NORMAL_PER_VERTEX |
プリミティブ一個につき法線情報三個(頂点一個につき法線情報一個)を格納します。 法線情報一個につき (x, y, z) の順で三個の整数値を格納しますので、 配列の長さはプリミティブ数 x 9 となります。 | |
色情報 | COLOR_NONE |
なし。 |
COLOR_PER_PRIMITIVE |
プリミティブの個数に関わらず、共通に使われる色情報一個を格納します。 色情報一個につき RGB 値を表す一個の整数値を格納しますので、配列の長さは常に 1 となります。 | |
COLOR_PER_FACE |
プリミティブ一個につき色情報一個を格納します。 色情報一個につき RGB 値を表す一個の整数値を格納しますので、 配列の長さはプリミティブ数 x 1 となります。 | |
テクスチャ座標情報 | TEXTURE_COORD_NONE |
なし。 |
TEXTURE_COORD_PER_VERTEX |
プリミティブ一個につきテクスチャ座標情報三個 (頂点一個につきテクスチャ座標一個)を格納します。 テクスチャ座標情報一個につき (u, v) の順で二個の整数値を格納しますので、 配列の長さはプリミティブ数 x 6 となります。 | |
ポイントスプライト情報 | ---- | 使用しません。 |
PRIMITIVE_QUADS
)プリミティブ情報(属性) | パラメータの値 | 配列のフォーマット |
頂点 | ---- | プリミティブ一個につき頂点四個を格納します。 頂点一個につき (x, y, z) の順で三個の整数値を格納しますので、 配列の長さはプリミティブ数 x 12 となります。 |
法線情報 | NORMAL_NONE |
なし。 |
NORMAL_PER_FACE |
プリミティブ一個につき法線情報一個を格納します。 法線情報一個につき (x, y, z) の順で三個の整数値を格納しますので、 配列の長さはプリミティブ数 x 3 となります。 | |
NORMAL_PER_VERTEX |
プリミティブ一個につき法線情報四個(頂点一個につき法線情報一個)を格納します。 法線情報一個につき (x, y, z) の順で三個の整数値を格納しますので、 配列の長さはプリミティブ数 x 12 となります。 | |
色情報 | COLOR_NONE |
なし。 |
COLOR_PER_PRIMITIVE |
プリミティブの個数に関わらず、共通に使われる色情報一個を格納します。 色情報一個につき RGB 値を表す一個の整数値を格納しますので、配列の長さは常に 1 となります。 | |
COLOR_PER_FACE |
プリミティブ一個につき色情報一個を格納します。 色情報一個につき RGB 値を表す一個の整数値を格納しますので、 配列の長さはプリミティブ数 x 1 となります。 | |
テクスチャ座標情報 | TEXTURE_COORD_NONE |
なし。 |
TEXTURE_COORD_PER_VERTEX |
プリミティブ一個につきテクスチャ座標情報四個 (頂点一個につきテクスチャ座標一個)を格納します。 テクスチャ座標情報一個につき (u, v) の順で二個の整数値を格納しますので、 配列の長さはプリミティブ数 x 8 となります。 | |
ポイントスプライト情報 | ---- | 使用しません。 |
PRIMITIVE_POINT_SPRITES
)プリミティブ情報(属性) | パラメータの値 | 配列のフォーマット |
頂点 | ---- | プリミティブ一個につき頂点一個を格納します。 頂点一個につき (x, y, z) の順で三個の整数値を格納しますので、 配列の長さはプリミティブ数 x 3 となります。 |
法線情報 | ---- | 使用しません。 |
色情報 | ---- | 使用しません。 |
テクスチャ座標情報 | ---- | 使用しません。 |
ポイントスプライト情報 | POINT_SPRITE_PER_PRIMITIVE |
プリミティブの個数に関わらず、共通に使われるプリミティブ情報(属性) 一個を格納します。 ポイントスプライト情報一個につき、 ポイントスプライトの幅・高さ・回転角・ポイントスプライト の左上に対応するテクスチャ位置情報 (u0, v0) ・右下に対応するテクスチャ位置情報 (u1, v1) ・表示フラグの八個の整数値を格納しますので、 配列の長さは常に 8 となります。 |
POINT_SPRITE_PER_VERTEX |
プリミティブ一個につきポイントスプライト情報一個を格納します。 ポイントスプライト情報一個につき、 ポイントスプライトの幅・高さ・回転角・ポイントスプライト の左上に対応するテクスチャ位置情報 (u0, v0) ・右下に対応するテクスチャ位置情報 (u1, v1) ・フラグの八個の整数値を格納しますので、配列の長さはプリミティブ数 x 8 となります。 |
ポリゴンのプリミティブ(三角形・四角形)に関して、特記事項を以下に 示します。
プリミティブ型のうち、ポリゴンではない特殊プリミティブ (点・線・ポイントスプライト)については、以下の制限事項があります。
カラーキーに関して、特記事項を以下に示します。
フィールドの概要 | |
static int |
COLOR_NONE
プリミティブが色情報を持たないことを表します(=0)。 |
static int |
COLOR_PER_FACE
プリミティブが面単位で色情報を持つことを表します (=0x0800)。 |
static int |
COLOR_PER_PRIMITIVE
プリミティブが 同じ色情報を持つことを表します (=0x0400)。 |
static int |
NORMAL_NONE
プリミティブが法線情報を持たないことを表します (=0)。 |
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_PRIMITIVE
プリミティブが 同じポイントスプライト情報を持つことを表します (=0x1000)。 |
static int |
POINT_SPRITE_PER_VERTEX
プリミティブが頂点単位でポイントスプライト情報を持つことを表します (=0x3000)。 |
static int |
PRIMITIVE_LINES
線の描画を表すプリミティブの型です(=2)。 |
static int |
PRIMITIVE_POINT_SPRITES
ポイントスプライトの描画を表すプリミティブの型です(=5)。 |
static int |
|