com.nttdocomo.ui.graphics3d
クラス Primitive

Object
  拡張com.nttdocomo.ui.graphics3d.Object3D
      拡張com.nttdocomo.ui.graphics3d.DrawableObject3D
          拡張com.nttdocomo.ui.graphics3d.Primitive

public class Primitive
extends DrawableObject3D

プリミティブ図形群の頂点データなどを保持する、 プリミティブクラスを定義します。

プリミティブオブジェクトは、レンダリング機能のメソッド Graphics3D.renderObject3D(DrawableObject3D, Transform) において、描画対象となるポリゴン等の形状に関する情報を保持します。

プリミティブオブジェクトは、以下のレンダリング用の情報を保持します。

各種パラメータは、初期状態では以下のようになります。
パラメータ初期状態
テクスチャ歪み補正 無効
setPerspectiveCorrectionEnabled(false) が呼ばれた状態
図形用ブレンドモード 無設定 ( DrawableObject3D.BLEND_NORMAL )
透明度 100 パーセント(不透明)

プリミティブオブジェクトの 透明度は、設定されている図形用ブレンドモードが DrawableObject3D.BLEND_ALPHA, DrawableObject3D.BLEND_ADD のどちらかのときに有効になります。 このとき、プリミティブの型のすべて (点・線・三角形・四角形・ポイントスプライト)に該当する図形 の描画について、設定されている透明度は影響を与えます。

プリミティブオブジェクトは、 頂点・法線・色・テクスチャ座標・ポイントスプライト情報を それぞれ配列として格納することができます。 頂点情報を格納することは必須ですが、 それ以外の情報は個別に格納するかどうかを指定できます。

プリミティブオブジェクトに、テクスチャ座標の情報を設定するときには、 一つの モデル用の テクスチャ オブジェクトを、 setTexture(Texture) メソッドにより 設定する必要があります。 一つのプリミティブオブジェクトが利用できる モデル用の テクスチャ オブジェクトはただ一つです。 初期状態では、テクスチャ オブジェクトは設定されていません。

setTime(int) メソッド呼び出しによって 現在時刻が変更されても、保持しているデータ内容は変化しません。

プリミティブ図形の型ごとの、プリミティブ情報(属性)と配列との対応を 以下の表に示します。 各情報の値の範囲や制限等については、このクラスで定義されている 各プリミティブ情報の配列を扱うメソッドの説明を参照してください。

プリミティブオブジェクトを実際に描画するときは、 Graphics3D.renderObject3D(DrawableObject3D, Transform) メソッドを利用します。

ポリゴンのプリミティブ(三角形・四角形)に関して、特記事項を以下に 示します。

プリミティブ型のうち、ポリゴンではない特殊プリミティブ (点・線・ポイントスプライト)については、以下の制限事項があります。

カラーキーに関して、特記事項を以下に示します。

導入されたバージョン:
DoJa-4.0 (901i)
関連項目:
数値演算に関する共通の定義

フィールドの概要
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