|
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
3Dグラフィックスインターフェース
フィールドの概要 | |
static int |
COMMAND_AFFINE_INDEX
FigureLayout#selectAffineTrans( int ) に相当するコマンドです(=0x87000000)。 |
static int |
COMMAND_AMBIENT_LIGHT
Light#setAmbIntensity( int ) に相当するコマンドです(=0xa0000000)。 |
static int |
COMMAND_ATTRIBUTE
環境属性を設定することを表すコマンドです(=0x83000000)。 |
static int |
COMMAND_CENTER
FigureLayout#setCenter( int, int )に相当するコマンドです(=0x85000000)。 |
static int |
COMMAND_CLIP
クリップ座標を指定するためのコマンドです(=0x84000000)。 |
static int |
COMMAND_DIRECTION_LIGHT
Light#setDirection( Vector3D )、Light#setDirIntensity( int )に相当するコマンドです(=0xa1000000)。 |
static int |
COMMAND_END
コマンドリストの終了を表すコマンドです(=0x80000000)。 |
static int |
COMMAND_FLUSH
flush() に相当するコマンドです(=0x82000000)。 |
static int |
COMMAND_LIST_VERSION_1_0
コマンドリストのバージョンを表すコマンドです。 |
static int |
COMMAND_NOP
無処理を表すコマンドです(=0x81000000)。 |
static int |
COMMAND_PARALLEL_SCALE
FigureLayout#setScale( int, int )に相当するコマンドです(=0x90000000)。 |
static int |
COMMAND_PARALLEL_SIZE
FigureLayout#setParallelSize( int, int ) に相当するコマンドです(=0x91000000)。 |
static int |
COMMAND_PERSPECTIVE_FOV
FigureLayout#setPerspective( int, int, int ) に相当するコマンドです(=0x92000000)。 |
static int |
COMMAND_PERSPECTIVE_WH
FigureLayout#setPerspective( int, int, int, int ) に相当するコマンドです(=0x93000000)。 |
static int |
COMMAND_TEXTURE_INDEX
描画に使用するテクスチャ配列を切り換えるコマンドです(=0x86000000)。 |
static int |
COMMAND_THRESHOLD
Effect3D#setThreshold( int, int, int ) に相当するコマンドです(=0xaf000000)。 |
static int |
ENV_ATTR_LIGHTING
光源を有効とするための環境属性です(=1)。 |
static int |
ENV_ATTR_SEMI_TRANSPARENT
半透明処理(半透明、加算、減算)を有効とするための環境属性です(=8)。 |
static int |
ENV_ATTR_SPHERE_MAP
スフィアマップを有効とするための環境属性です(=2)。 |
static int |
ENV_ATTR_TOON_SHADING
トゥーンシェーディングを行うための環境属性です(=4)。 |
static int |
PATTR_BLEND_ADD
加算処理を行うためのプリミティブ属性です(=0x40)。 |
static int |
PATTR_BLEND_HALF
半透明処理を行うためのプリミティブ属性です(=0x20)。 |
static int |
PATTR_BLEND_NORMAL
ブレンド処理を行うためのプリミティブ属性です(=0x00)。 |
static int |
PATTR_BLEND_SUB
減算処理を行うためのプリミティブ属性です(=0x60)。 |
static int |
PATTR_COLORKEY
カラーキーによる透過処理を行うためのプリミティブ属性です(=0x10)。 |
static int |
PATTR_LIGHTING
光源を有効とするためのプリミティブ属性です(=0x01)。 |
static int |
PATTR_SPHERE_MAP
スフィアマップを有効とするためのプリミティブ属性です(=0x02)。 |
static int |
PDATA_COLOR_NONE
色情報を持たないプリミティブデータタイプです(=0x0000)。 |
static int |
PDATA_COLOR_PER_COMMAND
コマンド単位で色情報を持つプリミティブデータタイプです(=0x0400)。 |
static int |
PDATA_COLOR_PER_FACE
面単位で色情報を持つプリミティブデータタイプです(=0x0800)。 |
static int |
PDATA_NORMAL_NONE
法線情報を持たないプリミティブデータタイプです(=0x0000)。 |
static int |
PDATA_NORMAL_PER_FACE
面単位で法線情報を持つプリミティブデータタイプです(=0x0200)。 |
static int |
PDATA_NORMAL_PER_VERTEX
頂点単位で法線情報を持つプリミティブデータタイプです(=0x0300)。 |
static int |
PDATA_POINT_SPRITE_PARAMS_PER_CMD
コマンド単位でポイントスプライトの位置情報を持つプリミティブデータタイプです(=0x1000)。 |
static int |
PDATA_POINT_SPRITE_PARAMS_PER_FACE
面単位でポイントスプライトの位置情報を持つプリミティブデータタイプです(=0x2000)。 |
static int |
PDATA_POINT_SPRITE_PARAMS_PER_VERTEX
頂点単位でポイントスプライトの位置情報を持つプリミティブデータタイプです(=0x3000)。 |
static int |
PDATA_TEXURE_COORD
テクスチャ位置情報を持つプリミティブデータタイプです(=0x3000)。 |
static int |
PDATA_TEXURE_COORD_NONE
テクスチャ位置情報を持たないプリミティブデータタイプです(=0x0000)。 |
static int |
POINT_SPRITE_LOCAL_SIZE
モデル座標系におけるサイズを指定する、ポイントスプライト用のフラグです(=0)。 |
static int |
POINT_SPRITE_NO_PERS
透視投影においてパースを無効にする、ポイントスプライト用のフラグです(=2)。 |
static int |
POINT_SPRITE_PERSPECTIVE
透視投影においてパースを有効にする、ポイントスプライト用のフラグです(=0)。 |
static int |
POINT_SPRITE_PIXEL_SIZE
スクリーン座標系におけるサイズを指定する、ポイントスプライト用のフラグです(=1)。 |
static int |
PRIMITIVE_LINES
線を描画することを表すコマンドです(=0x02000000)。 |
static int |
PRIMITIVE_POINT_SPRITES
ポイントスプライトを描画することを表すコマンドです(=0x05000000)。 |
static int |
PRIMITIVE_POINTS
点を描画することを表すコマンドです(=0x01000000)。 |
static int |
PRIMITIVE_QUADS
四角形を描画することを表すコマンドです(=0x04000000)。 |
static int |
PRIMITIVE_TRIANGLES
三角形を描画することを表すコマンドです(=0x03000000)。 |
メソッドの概要 | |
void |
drawCommandList(Texture[] textures,
int x,
int y,
FigureLayout layout,
Effect3D effect,
int[] commandlist)
コマンド配列を指定して描画処理を行います。 |
void |
drawCommandList(Texture texture,
int x,
int y,
FigureLayout layout,
Effect3D effect,
int[] commandlist)
コマンド配列を指定して描画処理を行います。 |
void |
drawFigure(Figure figure,
int x,
int y,
FigureLayout layout,
Effect3D effect)
Figureを描画します。 |
void |
flush()
renderFigure() で設定されたモデルデータ、及び
drawCommandList() ,
renderPrimitives()
で設定された描画要素のレンダリング演算結果を実際に描画します。 |
void |
renderFigure(Figure figure,
int x,
int y,
FigureLayout layout,
Effect3D effect)
モデルデータを設定し、レンダリングの演算を実行します。 |
void |
renderPrimitives(Texture texture,
int x,
int y,
FigureLayout layout,
Effect3D effect,
int command,
int numPrimitives,
int[] vertexCoords,
int[] normals,
int[] textureCoords,
int[] colors)
プリミティブの描画を登録します。 |
フィールドの詳細 |
public static final int COMMAND_LIST_VERSION_1_0
public static final int COMMAND_END
public static final int COMMAND_NOP
public static final int COMMAND_FLUSH
public static final int COMMAND_ATTRIBUTE
public static final int COMMAND_CLIP
public static final int COMMAND_CENTER
public static final int COMMAND_TEXTURE_INDEX
public static final int COMMAND_AFFINE_INDEX
public static final int COMMAND_PARALLEL_SCALE
public static final int COMMAND_PARALLEL_SIZE
public static final int COMMAND_PERSPECTIVE_FOV
public static final int COMMAND_PERSPECTIVE_WH
public static final int COMMAND_AMBIENT_LIGHT
public static final int COMMAND_DIRECTION_LIGHT
public static final int COMMAND_THRESHOLD
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 PRIMITIVE_POINT_SPRITES
public static final int POINT_SPRITE_LOCAL_SIZE
public static final int POINT_SPRITE_PIXEL_SIZE
public static final int POINT_SPRITE_PERSPECTIVE
public static final int POINT_SPRITE_NO_PERS
public static final int ENV_ATTR_LIGHTING
public static final int ENV_ATTR_SPHERE_MAP
public static final int ENV_ATTR_TOON_SHADING
public static final int ENV_ATTR_SEMI_TRANSPARENT
public static final int PATTR_LIGHTING
public static final int PATTR_SPHERE_MAP
public static final int PATTR_COLORKEY
public static final int PATTR_BLEND_NORMAL
public static final int PATTR_BLEND_HALF
public static final int PATTR_BLEND_ADD
public static final int PATTR_BLEND_SUB
public static final int PDATA_NORMAL_NONE
public static final int PDATA_NORMAL_PER_FACE
public static final int PDATA_NORMAL_PER_VERTEX
public static final int PDATA_COLOR_NONE
public static final int PDATA_COLOR_PER_COMMAND
public static final int PDATA_COLOR_PER_FACE
public static final int PDATA_TEXURE_COORD_NONE
public static final int PDATA_POINT_SPRITE_PARAMS_PER_CMD
public static final int PDATA_POINT_SPRITE_PARAMS_PER_FACE
public static final int PDATA_POINT_SPRITE_PARAMS_PER_VERTEX
public static final int PDATA_TEXURE_COORD
メソッドの詳細 |
public void renderPrimitives(Texture texture, int x, int y, FigureLayout layout, Effect3D effect, int command, int numPrimitives, int[] vertexCoords, int[] normals, int[] textureCoords, int[] colors)
同じ種類のプリミティブを、複数個登録することができます。
登録後、flush()
を呼ぶことで実際に描画が実行されます。
以下の情報を登録する必要があります:
1.プリミティブの種類と属性、データタイプ
下記情報の論理和を指定します:
プリミティブの種類 | プリミティブの属性 | プリミティブのデータタイプ
(例)
PRIMITIVE_QUADS |
PDATA_NORMAL_PER_FACE | PDATA_COLOR_NONE | PDATA_TEXURE_COORD |
PATTR_LIGHTING | PATTR_SPHERE_MAP | PATTR_BLEND_HALF
2.プリミティブの総数
1〜255(個)が指定可能です。
3.プリミティブを描画する時に使用する頂点情報の配列
プリミティブの種類 | 必要な頂点の数 |
---|---|
点(PRIMITIVE_POINTS) | プリミティブ数 x 1 |
ライン(PRIMITIVE_LINES) | プリミティブ数 x 2 |
三角ポリゴン(PRIMITIVE_TRIANGLES) | プリミティブ数 x 3 |
四角ポリゴン(PRIMITIVE_QUADS) | プリミティブ数 x 4 |
ポイントスプライト(PRIMITIVE_POINT_SPRITES) | プリミティブ数 x 1 |
int[] vertexCoords = {x0, y0, z0, x1, y1, z1, ...}
4.プリミティブを描画する時に使用する法線情報の配列
プリミティブの種類 | プリミティブのデータタイプ | 必要な法線の数 |
---|---|---|
点(PRIMITIVE_POINTS) | n/a | 0 |
ライン(PRIMITIVE_LINES) | n/a | 0 |
三角ポリゴン(PRIMITIVE_TRIANGLES) | 法線情報を持たない (PDATA_NORMAL_NONE ) | 0 |
面単位で法線情報を持つ (PDATA_NORMAL_PER_FACE) | プリミティブ数 x 1 | |
頂点単位で法線情報を持つ (PDATA_NORMAL_PER_VERTEX) | プリミティブ数 x 3 | |
四角ポリゴン(PRIMITIVE_QUADS) | 法線情報を持たない (PDATA_NORMAL_NONE ) | 0 |
面単位で法線情報を持つ (PDATA_NORMAL_PER_FACE) | プリミティブ数 x 1 | |
頂点単位で法線情報を持つ (PDATA_NORMAL_PER_VERTEX) | プリミティブ数 x 4 | |
ポイントスプライト(PRIMITIVE_POINT_SPRITES) | n/a | 0 |
int[] normals = {x0, y0, z0, x1, y1, z1, ...}
5.プリミティブを描画する時に使用するテクスチャ位置情報の配列
プリミティブの種類 | プリミティブのデータタイプ | 必要なテクスチャ位置情報の数 |
---|---|---|
点(PRIMITIVE_POINTS) | n/a | 0 |
ライン(PRIMITIVE_LINES) | n/a | 0 |
三角ポリゴン(PRIMITIVE_TRIANGLES) | テクスチャ位置情報を持たない (PDATA_TEXURE_COORD_NONE) | 0 |
テクスチャ位置情報を持つ (PDATA_TEXURE_COORD) | プリミティブ数 x 3 | |
四角ポリゴン(PRIMITIVE_QUADS) | テクスチャ位置情報を持たない (PDATA_TEXURE_COORD_NONE) | 0 |
テクスチャ位置情報を持つ (PDATA_TEXURE_COORD) | プリミティブ数 x 4 | |
ポイントスプライト※(PRIMITIVE_POINT_SPRITES) | コマンド単位でポイントスプライトパラメータを持つ (PDATA_POINT_SPRITE_PARAMS_PER_CMD) | 1 (ポイントスプライトパラメータ) |
面単位でポイントスプライトパラメータを持つ (PDATA_POINT_SPRITE_PARAMS_PER_FACE) | プリミティブ数×1 (ポイントスプライトパラメータ) | |
頂点単位でポイントスプライトパラメータを持つ (PDATA_POINT_SPRITE_PARAMS_PER_VERTEX) | プリミティブ数×1 (ポイントスプライトパラメータ) |
int[] textureCoords = {x0, y0, x1, y1, ...}
※
ポイントスプライトの場合は、以下のポイントスプライトパラメータを指定します。
・ポイントスプライトの幅(w)
・ポイントスプライトの高さ(h)
・ポイントスプライトのアングル(360°=4096)(a)
・ポイントスプライトの左上に相当するテクスチャ位置情報(x,y)
・ポイントスプライトの右下に相当するテクスチャ位置情報(x,y)
・ポイントスプライトの表示フラグ(f)
(POINT_SPRITE_LOCAL_SIZE/POINT_SPRITE_PIXEL_SIZE/POINT_SPRITE_PERSPECTIVE/POINT_SPRITE_NO_PERS)
実際の配列の大きさは上記プリミティブ数x8 となります。
配列の格納順序:int[] textureCoords = {w0, h0, a0, x00, y00, x01, y01, f0, w1, h1, a1, x10, y10, x11, y11, f1, ...}
PDATA_POINT_SPRITE_PARAMS_PER_FACE と PDATA_POINT_SPRITE_PARAMS_PER_VERTEX は定義が異なりますが処理としては同じになります。
ポイントスプライトの表示フラグは、
POINT_SPRITE_LOCAL_SIZE,POINT_SPRITE_PIXEL_SIZE,POINT_SPRITE_PERSPECTIVE,POINT_SPRITE_NO_PERS の
論理和で表し、これによりポイントスプライトの幅と高さの数値の基準を指定します。
但し、POINT_SPRITE_LOCAL_SIZE は POINT_SPRITE_PIXEL_SIZE と、
POINT_SPRITE_PERSPECTIVE は POINT_SPRITE_NO_PERS とそれぞれ排他関係にあります。
各フラグの組み合わせは以下のとおりです。
投影方法 | 表示フラグ(サイズ) | 表示フラグ(パース) | 説明 |
透視投影 | POINT_SPRITE_LOCAL_SIZE | POINT_SPRITE_PERSPECTIVE | 視点座標系におけるサイズを指定 |
POINT_SPRITE_NO_PERS | 未定義 | ||
POINT_SPRITE_PIXEL_SIZE | POINT_SPRITE_PERSPECTIVE | ポイントスプライトがニアクリップ面にあるときのスクリーン座標系におけるサイズ | |
POINT_SPRITE_NO_PERS | スクリーン座標系におけるサイズ | ||
平行投影 | POINT_SPRITE_LOCAL_SIZE | POINT_SPRITE_PERSPECTIVE | 視点座標系におけるサイズ |
POINT_SPRITE_NO_PERS | |||
POINT_SPRITE_PIXEL_SIZE | POINT_SPRITE_PERSPECTIVE | スクリーン座標系におけるサイズ | |
POINT_SPRITE_NO_PERS |
6.プリミティブを描画する時に使用する色情報の配列
プリミティブの種類 | プリミティブのデータタイプ | 必要な色情報の数 |
---|---|---|
点(PRIMITIVE_POINTS) | コマンド単位で色情報を持つ (PDATA_COLOR_PER_COMMAND) | 1 |
面単位で色情報を持つ (PDATA_COLOR_PER_FACE) | プリミティブ数 x 1 | |
ライン(PRIMITIVE_LINES) | コマンド単位で色情報を持つ (PDATA_COLOR_PER_COMMAND) | 1 |
面単位で色情報を持つ (PDATA_COLOR_PER_FACE) | プリミティブ数 x 1 | |
三角ポリゴン(PRIMITIVE_TRIANGLES) | 色情報を持たない (PDATA_COLOR_NONE ) | 0 |
コマンド単位で色情報を持つ (PDATA_COLOR_PER_COMMAND) | 1 | |
面単位で色情報を持つ (PDATA_COLOR_PER_FACE) | プリミティブ数 x 1 | |
四角ポリゴン(PRIMITIVE_QUADS) | 色情報を持たない (PDATA_COLOR_NONE ) | 0 |
コマンド単位で色情報を持つ (PDATA_COLOR_PER_COMMAND) | 1 | |
面単位で色情報を持つ (PDATA_COLOR_PER_FACE) | プリミティブ数 x 1 | |
ポイントスプライト(PRIMITIVE_POINT_SPRITES) | 0 |
int[] colors = {((r0 << 16) | (g0 << 8) | (b0)), ((r1 << 16) | (g1 << 8) | (b1)), ...}
texture
- プリミティブ描画でテクスチャを使用する場合に指定します。x
- 描画位置のX座標y
- 描画位置のY座標layout
- 描画レイアウトeffect
- 描画効果command
- プリミティブの種類、属性、データタイプを論理和で組み合わせたものnumPrimitives
- プリミティブの総数vertexCoords
- プリミティブを描画する時に使用する頂点情報の配列normals
- プリミティブを描画する時に使用する法線情報の配列textureCoords
- プリミティブを描画する時に使用するテクスチャ位置情報の配列colors
- プリミティブを描画する時に使用する色情報の配列NullPointerException
- 以下の場合に発生します。
java.lang.IllegalArgumentException
- 以下の場合に発生します。
ArrayIndexOutOfBoundsException
- 描画内容に対して、vertexCoords、normals、textureCoords、colors に
指定された配列要素が不足している場合発生します。public void drawCommandList(Texture[] textures, int x, int y, FigureLayout layout, Effect3D effect, int[] commandlist)
renderPrimitives()
より複雑ですが、
実際の描画までのメソッドの呼び出し数を減らすことでオーバーヘッドを削減することを目的としています。
そのため一部メソッド(後述)の呼び出しはこのメソッドに対しては効果がなく、
代わりにコマンド配列の要素として指定する必要があります。
このメソッドの commandlist 中で指定した描画要素は、
コマンドでCOMMAND_FLUSHを指定するか、または flush()
メソッドを呼び出すまでは実際に描画されません。
引数textures で指定したテクスチャ配列は、16個までが有効です。17 個目以降は
COMMAND_TEXTURE_INDEX
で指定することはできません。
flush()
メソッドが呼び出されるまで解放されません。
そのため、ゲームなどのリアルタイムに描画を続ける Java アプリケーションにおいて、
flush()
メソッドを呼び出さないでこのメソッドを連続して実行していると、
Java ヒープの空きが減少していくことになります。
これを回避するために、 1 フレーム描画するごとに 1 度 flush()
を呼び出してください。
このメソッドの処理時に無効になるメソッドと、コマンド形式での書式を以下に示します。
FigureLayout#setCenter( x, y ) -> COMMAND_CENTER, x, y
FigureLayout#selectAffineTrans( index ) -> COMMAND_AFFINE_INDEX | index
FigureLayout#setScale( width, height ) -> COMMAND_PARALLEL_SCALE, width, height
FigureLayout#setParallelSize( width, height ) -> COMMAND_PARALLEL_SIZE, width, height
FigureLayout#setPerspective( zNear, zFar, angle ) -> COMMAND_PERSPECTIVE_FOV, zNear, zFar, angle
FigureLayout#setPerspective( zNear, zFar, width, height ) -> COMMAND_PERSPECTIVE_WH, zNear, zFar, width, height
Light#setDirection( Vector3D ) および Light#setDirIntensity( dirIntensity ) -> COMMAND_DIRECTION_LIGHT, Vector3D.x, Vector3D.y, Vector3D.z, dirIntensity
Effect3D#setThreshold( threshold, high, low ) -> COMMAND_THRESHOLD, threshold, high, low
コマンド配列の設定例を以下に示します。
int commandlist[] = {
// 説明上クラス名((Graphics3D)g)は省略しています
COMMAND_LIST_VERSION_1_0, // バージョン指定は必須
COMMAND_CENTER, cx, cy,
COMMAND_PERSPECTIVE_WH, 1024,4096,4096*150,4096*150,
COMMAND_AMBIENT_LIGHT, ambIntensity,
COMMAND_DIRECTION_LIGHT, -1024, 0, 0, dirIntensity,
COMMAND_TEXTURE_INDEX | 0, // textures[0] のテクスチャを描画に使用
COMMAND_AFFINE_INDEX | 2, // AffineTrans[] が設定されている場合
// 三角ポリゴン指定
PRIMITIVE_TRIANGLES |
PDATA_NORMAL_PER_FACE | PDATA_COLOR_PER_FACE |
ENV_ATTR_LIGHTING | ENV_ATTR_SPHERE_MAP | PATTR_BLEND_HALF | (2 <<16) ,
0,0,0, 0,0,100, 0,100,0,
0,100,100, 0,0,100, 0,100,0,
4096,0,0, 4096,0,0, // normal
255<<16 | 255<<8 | 0, // color
255<<16 | 128<<8 | 0, // color
// 四角ポリゴン指定
PRIMITIVE_QUADS |
PDATA_NORMAL_PER_FACE | PDATA_TEXURE_COORD |
ENV_ATTR_LIGHTING | ENV_ATTR_SPHERE_MAP | PATTR_BLEND_ADD | (1 <<16) ,
0,0,0, 100,0,0, 100,100,0, 0,100,0,
0,0,4096, // normal
128,0, 128,128, 0,128, 0,0, // texture
PRIMITIVE_QUADS |
PDATA_NORMAL_PER_FACE | PDATA_TEXURE_COORD |
ENV_ATTR_LIGHTING | ENV_ATTR_SPHERE_MAP | PATTR_BLEND_SUB | (1 <<16) ,
0,0,0, 0,0,100, 100,0,100, 100,0,0,
0,4096,0, // normal
128,0, 128,128, 0,128, 0,0, // texture
// 描画
COMMAND_FLUSH, // ここで実行せず、後でflush()を呼んでも良い
COMMAND_END,
};
drawCommandList(commandlist); // 説明上、他の引数は省略しています
textures
- コマンド配列による描画で使用するテクスチャの配列x
- 描画位置のX座標y
- 描画位置のY座標layout
- 描画レイアウトeffect
- 描画効果commandlist
- コマンド配列NullPointerException
- 以下の場合に発生します。
java.lang.IllegalArgumentException
- 以下の場合に発生します。
public void drawCommandList(Texture texture, int x, int y, FigureLayout layout, Effect3D effect, int[] commandlist)
このメソッドは、
drawCommandList(Texture[], int, int, FigureLayout, Effect3D, int[])
において、テクスチャの配列要素を1つだけ指定した場合と等価です。
texture
- コマンド配列による描画で使用するテクスチャx
- 描画位置のX座標y
- 描画位置のY座標layout
- 描画レイアウトeffect
- 描画効果commandlist
- コマンド配列NullPointerException
- layout,effect,commandlistがnullの場合に発生します。java.lang.IllegalArgumentException
- 以下の場合に発生します。
public void renderFigure(Figure figure, int x, int y, FigureLayout layout, Effect3D effect)
drawFigure()
とは異なり、flush()
を呼ぶまでは実際の描画は実行されず、
レンダリングの演算のみが実行されます。figure
- モデルデータx
- 描画位置のX座標y
- 描画位置のY座標layout
- 描画レイアウトeffect
- 描画効果NullPointerException
- 以下の場合に発生します。
public void flush()
renderFigure()
で設定されたモデルデータ、及び
drawCommandList()
,
renderPrimitives()
で設定された描画要素のレンダリング演算結果を実際に描画します。public void drawFigure(Figure figure, int x, int y, FigureLayout layout, Effect3D effect)
figure
- モデルデータx
- 描画位置のX座標y
- 描画位置のY座標layout
- 描画レイアウトeffect
- 描画効果NullPointerException
- 以下の場合に発生します。
|
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |