| 
 | ||||||||
| フレームあり フレームなし | ||||||||
| 概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||
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_HALF50%ブレンドモードで描画を行うことを表すプリミティブの属性です。 | 
| 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()
| 
 | ||||||||
| フレームあり フレームなし | ||||||||
| 概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||