|
||||||||
| フレームあり フレームなし | ||||||||
| 概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||
java.lang.Object | +--com.jblend.graphics.m3d.CommandList
コマンドリストのクラスです。
このクラスを利用することで、次の例のような 3D Engine のコマンドで描画などができます。
// 320x240のサイズでクリップして、その中央を原点とする
int[] commnd = {
VERSION_1 ,
SCREEN_CENTER ,
160 , 120 ,
CLIP_RECT ,
0 , 0 , 320 , 240 ,
END
}
// 光源処理と半透明処理を有効にする
int[] commnd = {
VERSION_1 ,
ATTRIBUTE | LIGHTING | TRANSPARENT ,
END
}
// threshold = 120, hight = 255, low = 150 として設定する
int[] commnd = {
VERSION_1 ,
TOON_PARAM ,
120 , 255 , 150 ,
END
}
// setTexture() で設定したテクスチャの0番目を利用する
int[] commnd = {
VERSION_1 ,
TEXTURE_INDEX | 0 ,
END
}
// setViewTrans() で設定した視野座標への変換行列の0番目を利用する
int[] commnd = {
VERSION_1 ,
VIEW_TRANS_INDEX | 0 ,
END
}
// 投影面の幅と高さを指定して平行投影を設定する
int[] commnd = {
VERSION_1 ,
PARALLEL_SCALE ,
4096 , 4096 ,
END
}
// 視野角を指定して透視投影を設定する
int[] commnd = {
VERSION_1 ,
PERSPECTIVE_FOV ,
200 , 10000 ,
4096 * 70 / 360 ,
END
}
// 環境光と上方からの平行光を 50% ずつ設定する
int[] commnd = {
VERSION_1 ,
AMBIENT_LIGHT ,
4096 * 50 / 100 ,
DIRECTION_LIGHT ,
0 , 1 , 0 ,
4096 * 50 / 100 ,
END
}
// 赤色の四角形の平面を 光源処理をおこない、半透明 ( 50%のブレンド ) で描画する。
int[] commnd = {
VERSION_1 ,
PRIMITIVE_QUADS | ( 1 << 16 ) | BLEND_HALF | LIGHTING | NORMAL_PER_FACE | COLOR_PER_FACE ,
-2048 , -2048 , 0 ,
-2048 , +2048 , 0 ,
+2048 , +2048 , 0 ,
+2048 , -2048 , 0 ,
0 , 0 , 4096 ,
0x00FF0000 ,
END
}
| フィールドの概要 | |
static int |
AMBIENT_LIGHT
環境光の設定を表すコマンドです。 |
static int |
ATTRIBUTE
環境属性を設定することを表すコマンドです。 |
static int |
BLEND_ADD
加算モードで描画を行うことを表すプリミティブの属性です。 |
static int |
BLEND_HALF
50%ブレンドモードで描画を行うことを表すプリミティブの属性です。 |
static int |
BLEND_NORMAL
通常の描画処理を行うことを表すプリミティブの属性です。 |
static int |
BLEND_SUB
減算モードで描画を行うことを表すプリミティブの属性です。 |
static int |
CLIP_RECT
クリッピングを表すコマンドです。 |
static int |
COLOR_KEY
カラーキーを用いた透過処理を行うことを表すプリミティブの属性です。 |
static int |
COLOR_NONE
プリミティブが色情報を持たないことを表します。 |
static int |
COLOR_PER_COMMAND
プリミティブがコマンド単位で同じ色情報を持つことを表します。 |
static int |
COLOR_PER_FACE
プリミティブが面単位で色情報を持つことを表します。 |
static int |
COLOR_PER_VERTEX
プリミティブが頂点単位で色情報を持つことを表します。 |
static int |
DIRECTION_LIGHT
平行光の設定を表すコマンドです。 |
static int |
END
コマンドリストの終了を表すコマンドです。 |
static int |
LIGHTING
光源対応処理を行うことを表すプリミティブとレンダラの属性です。 |
static int |
NOP
何もしないことを表すコマンドです。 |
static int |
NORMAL_NONE
プリミティブが法線情報を持たないことを表します。 |
static int |
NORMAL_PER_FACE
プリミティブが面単位で法線情報を持つことを表します。 |
static int |
NORMAL_PER_VERTEX
プリミティブが頂点単位で法線情報を持つことを表します。 |
static int |
PARALLEL_SCALE
平行投影の設定を表すコマンドです。 |
static int |
PARALLEL_WH
平行投影の設定を表すコマンドです。 |
static int |
PERSPECTIVE_FOV
透視投影の設定を表すコマンドです。 |
static int |
PERSPECTIVE_WH
透視投影の設定を表すコマンドです。 |
static int |
POINT_SPRITE_FLAG_LOCAL_SIZE
モデル座標系でのサイズを指定することを表すポイントスプライトフラグです。 |
static int |
POINT_SPRITE_FLAG_NO_PERSPECTIVE
パースを無効にすることを表すポイントスプライトフラグです。 |
static int |
POINT_SPRITE_FLAG_PERSPECTIVE
パースを有効にすることを表すポイントスプライトフラグです。 |
static int |
POINT_SPRITE_FLAG_PIXEL_SIZE
スクリーン座標系でのサイズを指定することを表すポイントスプライトフラグです。 |
static int |
POINT_SPRITE_PER_COMMAND
プリミティブがコマンド単位で同じポイントスプライト情報を持つことを表します。 |
static int |
POINT_SPRITE_PER_VERTEX
プリミティブが頂点単位でポイントスプライト情報を持つことを表します。 |
static int |
POINT_SPRITES
ポイントスプライトの描画を表すプリミティブの型です。 |
static int |
PRIMITIVE_LINES
線の描画を表すプリミティブの型です。 |
static int |
PRIMITIVE_POINTS
点の描画を表すプリミティブの型です。 |
static int |
PRIMITIVE_QUADS
四角形の描画を表すプリミティブの型です。 |
static int |
PRIMITIVE_TRIANGLES
三角形の描画を表すプリミティブの型です。 |
static int |
SCREEN_CENTER
スクリーンの中心設定を表すコマンドです。 |
static int |
SPHERE_MAP
環境マッピング処理を行うことを表すプリミティブとレンダラの属性です。 |
static int |
TEXTURE_COORD_NONE
プリミティブがテクスチャ情報を持たないことを表します。 |
static int |
TEXTURE_COORD_PER_VERTEX
プリミティブが頂点単位でテクスチャ情報を持つことを表します。 |
static int |
TEXTURE_INDEX
テクスチャ配列のインデックス設定を表すコマンドです。 |
static int |
TOON_PARAM
トーンシェーディングの設定を表すコマンドです。 |
static int |
TOON_SHADER
トゥーンシェーディングを行うことを表すレンダラの属性です。 |
static int |
TRANSPARENT
半透明処理を行うことを表すレンダラの属性です。 |
static int |
VERSION_1
コマンドリストのバージョンを表すコマンドです。 |
static int |
VIEW_TRANS_INDEX
視点変換行列の設定を表すコマンドです。 |
| コンストラクタの概要 | |
CommandList(int[] list)
コマンドリストを生成します。 |
|
| メソッドの概要 | |
Texture[] |
getTexture()
テクスチャの配列を返します。 |
AffineTrans3D[] |
getViewTrans()
視線座標系への行列の配列を返します。 |
void |
setTexture(Texture[] textures)
テクスチャの配列を設定します。 |
void |
setViewTrans(AffineTrans3D[] view_trans)
視線座標系への行列の配列を設定します。 |
| クラス java.lang.Object から継承したメソッド |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| フィールドの詳細 |
public static final int PRIMITIVE_POINTS
public static final int PRIMITIVE_LINES
public static final int PRIMITIVE_TRIANGLES
public static final int PRIMITIVE_QUADS
public static final int POINT_SPRITES
public static final int NORMAL_NONE
public static final int NORMAL_PER_FACE
public static final int NORMAL_PER_VERTEX
public static final int COLOR_NONE
public static final int COLOR_PER_COMMAND
public static final int COLOR_PER_FACE
public static final int COLOR_PER_VERTEX
public static final int TEXTURE_COORD_NONE
public static final int TEXTURE_COORD_PER_VERTEX
public static final int POINT_SPRITE_PER_COMMAND
public static final int POINT_SPRITE_PER_VERTEX
public static final int POINT_SPRITE_FLAG_LOCAL_SIZE
public static final int POINT_SPRITE_FLAG_PIXEL_SIZE
public static final int POINT_SPRITE_FLAG_PERSPECTIVE
public static final int POINT_SPRITE_FLAG_NO_PERSPECTIVE
public static final int BLEND_NORMAL
public static final int BLEND_HALF
public static final int BLEND_ADD
public static final int BLEND_SUB
public static final int COLOR_KEY
public static final int LIGHTING
public static final int SPHERE_MAP
public static final int TOON_SHADER
public static final int TRANSPARENT
public static final int VERSION_1
public static final int END
public static final int NOP
public static final int ATTRIBUTE
public static final int CLIP_RECT
public static final int SCREEN_CENTER
public static final int TEXTURE_INDEX
public static final int VIEW_TRANS_INDEX
public static final int PARALLEL_SCALE
public static final int PARALLEL_WH
public static final int PERSPECTIVE_FOV
public static final int PERSPECTIVE_WH
public static final int AMBIENT_LIGHT
public static final int DIRECTION_LIGHT
public static final int TOON_PARAM
| コンストラクタの詳細 |
public CommandList(int[] list)
引数として渡されるコマンド配列は、 "VERSION_1" で始まり、"END" で終わる必要があります。
list - コマンドリストの配列java.lang.IllegalArgumentException - "VERSION_1" で始まり "END" で終わるコマンドではない場合に発生する| メソッドの詳細 |
public void setTexture(Texture[] textures)
このメソッドで指定した配列のどの部分を利用するかは、 コマンドで指定します。
textures - テクスチャの配列public Texture[] getTexture()
public void setViewTrans(AffineTrans3D[] view_trans)
このメソッドで指定した配列のどの部分を利用するかは、 コマンドで指定します。
view_trans - 行列の配列public AffineTrans3D[] getViewTrans()
|
||||||||
| フレームあり フレームなし | ||||||||
| 概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||