|
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||
Objectcom.docomostar.opt.ui.eruption.Graphics3D
public final class Graphics3D
レンダリング全般の機能を提供するクラスです。
レンダリングの対象として VertexBuffer と IndexBuffer の対、Figure、EffectSource を用います。これらは直接レンダリングを行わずに一旦描画用の描画キューに入れておき、後でまとめて描画することもできます。
ただし、描画キューが空ではないときに直接レンダリングすることはできません。なお、描画キューはresetDrawQueue()、またはflushDrawQueue(int) が呼ばれたときに空にされます。
Figure の描画では、Figure にセットされた Camera や Light を使ってレンダリングをすることができますが、そういったものがセットされていない場合や、Figure 以外のものをレンダリングする際に使用する
Camera や Light の設定もします。
描画に際しては、パラメータを付与することで、フラスタムカリングやカメラからの距離を元にしたソートを行うことができます。フラスタムカリングは、GeometricShape を用いて、カメラの視錐台に入らないものを描画対象からはずす機能です。
カメラからの距離を元にしたソートは、同じ描画順位を持ったサブメッシュの場合、ブレンド属性を持っているものは奥から、そうでないものは手前から描画する機能です。
端末によって、本クラスはサポートされていない場合があります。未サポートの場合、メソッドが呼び出された時点で UnsupportedOperationException が発生します。
| フィールドの概要 | |
|---|---|
static int |
MCE_CAMERA_SORT
カメラソート:サブメッシュ単位のソートを表します(=0x00000001)。 |
static int |
MCE_CLEAR_COLOR
カラーバッファのクリア指定を表します(=0x00000002)。 |
static int |
MCE_CLEAR_DEPTH
デプスバッファのクリア指定を表します(=0x00000001)。 |
static int |
MCE_CONTEXT_TYPE_ES1
コンテキストタイプ:OpenGL® ES 1.X 向けコンテキストを表します(=0)。 |
static int |
MCE_EXT_TEXTURE_FORMAT_ATITC
使用可能な拡張テクスチャフォーマット(ビットフラグ)を表します(=0x00000001)。 |
static int |
MCE_EXT_TEXTURE_FORMAT_NONE
使用可能な拡張テクスチャフォーマットが無いことを表します(=0)。 |
static int |
MCE_EXT_TEXTURE_FORMAT_PVRTC
使用可能な拡張テクスチャフォーマット(ビットフラグ)を表します(=0x00000002)。 |
static int |
MCE_FRUSTUM_CULLING
フラスタムカリング:サブメッシュ単位でのカリングを表します(=0x00000002)。 |
static int |
MCE_FRUSTUM_CULLING_FIGURE_GS
Figure に関連付けられた GeometricShape によるフラスタムカリングを表します(=0x00000008)。 |
static int |
MCE_FRUSTUM_CULLING_INDEXBUFFER_GS
IndexBuffer に関連付けられた GeometricShape によるフラスタムカリングを表します(=0x00000004)。 |
static int |
MCE_MAX_LIGHT
光源の最大数を表します(=8)。 |
static int |
MCE_PROPERTIES_EXT_TEXTURE_FORMATS
使用可能な拡張テクスチャフォーマットを表します(=9)。 |
static int |
MCE_PROPERTIES_FALSE
Texture へのレンダリング機能がサポートされていないことを表します(=0)。 |
static int |
MCE_PROPERTIES_MAX_LIGHT_NUM
ライトの最大個数を表します(=3)。 |
static int |
MCE_PROPERTIES_MAX_PALETTE_MATRIX
マトリクスパレット(スキニング計算)使用時のボーン用の行列最大数を表します(=6)。 |
static int |
MCE_PROPERTIES_MAX_TEXTURE_SIZE
テクスチャの最大の幅、高さを表します(=4)。 |
static int |
MCE_PROPERTIES_MAX_TEXTURE_UNITS
テクスチャユニットの最大数を表します(=5)。 |
static int |
MCE_PROPERTIES_MAX_VERTEX_UNITS
マトリクスパレット(スキニング計算)使用時の頂点ウエイトの最大数を表します(=7)。 |
static int |
MCE_PROPERTIES_MAX_VIEWPORT_HEIGHT
ビューポートの最大の高さを表します(=2)。 |
static int |
MCE_PROPERTIES_MAX_VIEWPORT_WIDTH
ビューポートの最大の幅を表します(=1)。 |
static int |
MCE_PROPERTIES_RENDER_TEXTURE
Texture へのレンダリング機能がサポートされているかどうかを表します(=10)。 |
static int |
MCE_PROPERTIES_TRUE
Texture へのレンダリング機能がサポートされていることを表します(=1)。 |
static int |
MCE_RESOURCE_TYPE_ALL
全ての GL 資源の強制破棄を表します(=0)。 |
static int |
MCE_RESOURCE_TYPE_BUFFER_OBJECT
VBO の GL 資源の強制破棄を表します(=0x00000002)。 |
static int |
MCE_RESOURCE_TYPE_TEXTURE
Texture GL 資源の強制破棄を表します(=0x00000001)。 |
static int |
MCE_SHOW_DEBUG_ALL_GS
GS のshowMesh のフラグに依存せず、必ず描画対象であることを表します(=0x80000000)。 |
static int |
MCE_SHOW_DEBUG_GS
GS のshowMesh のフラグに依存する、描画対象であることを表します(=0x40000000)。 |
| メソッドの概要 | |
|---|---|
void |
addDrawQueueEffectSource(EffectSource effect,
Transform transform)
EffectSource を描画キューに追加します。 |
void |
addDrawQueueFigure(Figure figure,
Transform transform)
設定されているフレーム値で Figure を描画キューに追加します。 |
void |
addDrawQueueVertexBuffer(VertexBuffer vb,
IndexBuffer ib,
Transform transform)
VertexBuffer を描画キューに追加します。 |
void |
bindRenderTarget(Texture texture)
レンダリングターゲットを設定します。 |
void |
clear(int flag,
int abgr)
描画領域をクリアします。 |
void |
dispose()
Native 資源を破棄します。 |
void |
drawEffectSource(EffectSource effect,
Transform transform)
EffectSource を描画します。 |
void |
drawFigure(Figure figure,
Transform transform,
int param)
設定されているフレーム値で Figure を描画します。 |
void |
drawRect(short x,
short y,
short width,
short height,
float roll,
int abgr,
Appearance appearance,
RegionF[] regions)
Appearance オブジェクトを指定して、矩形領域を描画します。 |
void |
drawVertexBuffer(VertexBuffer vb,
IndexBuffer ib,
Transform transform)
VertexBuffer を描画します。 |
void |
finish()
OpenGL® ES の glFinish() を呼び出し、描画完了処理を行います。 |
void |
flush()
OpenGL® ES の glFlush() を呼び出し、描画完了処理を行います。 |
void |
flushDrawQueue(int param)
描画キューの内容を描画し、完了処理を行います。 |
int |
getAttribute()
レンダリング属性を取得します。 |
static Graphics3D |
getInstance(com.docomostar.ui.Canvas canvas)
シングルトンである Graphics3D を取得します。 |
int |
getLightNum()
設定されているライトの数を取得します。 |
void |
getProjectedPoint(Vector3D point,
Vector3D result)
3次元座標を2次元座標に変換します。 |
void |
getProjectedPointRev(Camera camera,
Vector3D point,
Vector3D result)
指定カメラでスクリーン座標(X,Y)、ビュー座標(Z)の位置ベクトルをワールド座標に変換します 。 |
int |
getProperties(int param)
プロパティを取得します。 |
float |
getStereoReduceFactor()
立体視の効き具合を取得します。 |
void |
purgeGLobject(int resource)
This で生成された指定の GL 資源を強制破棄します。 |
void |
releaseRenderTarget()
レンダリングターゲットをデフォルトに戻します。 |
void |
resetDrawQueue()
描画キューをリセットします。 |
void |
resetDrawQueueSize()
描画キューのサイズをリセットします。 |
void |
setAttribute(int param)
レンダリング属性を設定します。 |
void |
setCamera(Camera camera,
Transform transform)
デフォルトカメラを設定します。 |
void |
setCamera(Camera camera,
Vector3D pos,
Vector3D look,
Vector3D up)
デフォルトカメラを設定します。 |
void |
setClip(int xp,
int yp,
int width,
int height)
クリッピング領域を設定します。 |
void |
setLight(int ix,
Light light,
Transform transform)
ライトを設定します。 |
void |
setProjectorTransform(int ix,
Transform transform)
プロジェクタのワールド変換を行います。 |
void |
setStereoCameraParam(float hpd,
float focus)
立体視用のレンダリングを行うためのカメラパラメータを設定します。 |
void |
setStereoCameraParam2(float rth,
float focus)
立体視用のレンダリングを行うためのカメラパラメータを設定します。 |
void |
setStereoReduceFactor(float factor)
立体視の効き具合を設定します。 |
void |
setViewport(int xp,
int yp,
int width,
int height)
ビューポートを設定します。 |
void |
setViewport2D(int xp,
int yp,
int width,
int height)
2D 描画機能のビューポートを指定します。 |
void |
syncContext()
GraphicsOGL のレンダリングコンテキストと Graphics3D の状態を同期します。 |
| クラス Object から継承されたメソッド |
|---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| フィールドの詳細 |
|---|
public static final int MCE_CLEAR_DEPTH
public static final int MCE_CLEAR_COLOR
public static final int MCE_CAMERA_SORT
public static final int MCE_FRUSTUM_CULLING
public static final int MCE_FRUSTUM_CULLING_INDEXBUFFER_GS
IndexBuffer に関連付けられた GeometricShape によるフラスタムカリングを表します(=0x00000004)。
public static final int MCE_FRUSTUM_CULLING_FIGURE_GS
Figure に関連付けられた GeometricShape によるフラスタムカリングを表します(=0x00000008)。
public static final int MCE_PROPERTIES_MAX_VIEWPORT_WIDTH
public static final int MCE_PROPERTIES_MAX_VIEWPORT_HEIGHT
public static final int MCE_PROPERTIES_MAX_LIGHT_NUM
public static final int MCE_PROPERTIES_MAX_TEXTURE_SIZE
public static final int MCE_PROPERTIES_MAX_TEXTURE_UNITS
public static final int MCE_PROPERTIES_MAX_PALETTE_MATRIX
public static final int MCE_PROPERTIES_MAX_VERTEX_UNITS
public static final int MCE_PROPERTIES_EXT_TEXTURE_FORMATS
public static final int MCE_PROPERTIES_RENDER_TEXTURE
Texture へのレンダリング機能がサポートされているかどうかを表します(=10)。
public static final int MCE_PROPERTIES_TRUE
Texture へのレンダリング機能がサポートされていることを表します(=1)。
public static final int MCE_PROPERTIES_FALSE
Texture へのレンダリング機能がサポートされていないことを表します(=0)。
public static final int MCE_EXT_TEXTURE_FORMAT_NONE
public static final int MCE_EXT_TEXTURE_FORMAT_ATITC
public static final int MCE_EXT_TEXTURE_FORMAT_PVRTC
public static final int MCE_SHOW_DEBUG_ALL_GS
public static final int MCE_SHOW_DEBUG_GS
public static final int MCE_MAX_LIGHT
public static final int MCE_RESOURCE_TYPE_ALL
public static final int MCE_RESOURCE_TYPE_TEXTURE
Texture GL 資源の強制破棄を表します(=0x00000001)。
public static final int MCE_RESOURCE_TYPE_BUFFER_OBJECT
public static final int MCE_CONTEXT_TYPE_ES1
| メソッドの詳細 |
|---|
public static final Graphics3D getInstance(com.docomostar.ui.Canvas canvas)
Graphics3D を取得します。
このメソッドは、常に同じオブジェクトを返しますが、設定されている情報は、最後に渡された Canvas の設定値となります。
ここで指定する Canvas オブジェクトと、GraphicsEruption を実装した Graphics オブジェクトを取得するために使用する Canvas オブジェクトは必ず一致させる必要があります。同じオブジェクトを指定しなかった場合の動作は不定です。
特に、立体視機能を使う場合、GraphicsEruption を実装した Graphics オブジェクトが、StereoscopicCanvas オブジェクトから生成されていない場合、本 API に別途 StereoscopicCanvas オブジェクトを引数として指定しても、立体視は有効となりません。
// (1)と(2)で指定するCanvasは、同じオブジェクトである必要があります。
GraphicsEruption ge = (GraphicsEruption)canvas.getGraphics(); // (1)
ge.beginEruption();
Graphics3D g3d = Graphics3D.getInstance(canvas); // (2)
・・・
初期値は以下の通りです。
null
null
canvas - 描画対象の Canvas オブジェクトを指定します。null を指定することはできません。
Graphics3D オブジェクトを返します。
NullPointerException -
canvas が null の場合に発生します。
com.docomostar.lang.IllegalStateException -
GraphicsEruption.beginEruption() 〜GraphicsEruption.endEruption() 間以外でこのメソッドが呼び出された場合に発生します。public final int getProperties(int param)
param - プロパティを指定します。指定できる値は、以下の通りです。
MCE_PROPERTIES_MAX_VIEWPORT_WIDTH
MCE_PROPERTIES_MAX_VIEWPORT_HEIGHT
MCE_PROPERTIES_MAX_LIGHT_NUM
MCE_PROPERTIES_MAX_TEXTURE_SIZE
MCE_PROPERTIES_MAX_TEXTURE_UNITS
MCE_PROPERTIES_MAX_PALETTE_MATRIX
MCE_PROPERTIES_MAX_VERTEX_UNITS
MCE_PROPERTIES_EXT_TEXTURE_FORMATS
Texture へのレンダリング機能がサポートされているかどうか - MCE_PROPERTIES_RENDER_TEXTURE
Graphics3D オブジェクトに設定されている param で指定されたプロパティの数を返します。
MCE_PROPERTIES_EXT_TEXTURE_FORMATS が指定された場合、機種依存で使用できる拡張テクスチャフォーマットを以下のマスク値で返します。返す値は以下の通りです。
MCE_EXT_TEXTURE_FORMAT_NONE
MCE_EXT_TEXTURE_FORMAT_ATITC
MCE_EXT_TEXTURE_FORMAT_PVRTC
MCE_PROPERTIES_RENDER_TEXTURE が指定された場合、返す値は以下の通りです。
MCE_PROPERTIES_TRUE
MCE_PROPERTIES_FALSE
param が上記以外の場合は -1 を返します。
com.docomostar.lang.IllegalStateException -
GraphicsEruption.beginEruption() 〜GraphicsEruption.endEruption()間以外でこのメソッドが呼び出された場合に発生します。public final void syncContext()
GraphicsOGL のレンダリングコンテキストと Graphics3D の状態を同期します。
状態を合わせるだけで Texture オブジェクトの復旧は行いません。
エンジンとは別に GraphicsOGL API を独自に使用した場合、再び エンジンを使用する前に必ずこの API を呼ぶ必要があります。
com.docomostar.lang.IllegalStateException -
GraphicsEruption.beginEruption() 〜GraphicsEruption.endEruption()間以外でこのメソッドが呼び出された場合に発生します。
public final void clear(int flag,
int abgr)
flag - クリアフラグを指定します。指定できる値は、以下の通りです。
MCE_CLEAR_DEPTH
MCE_CLEAR_COLOR
abgr - クリアカラー(0xAABBGGRR) を指定します。
com.docomostar.lang.IllegalStateException -
GraphicsEruption.beginEruption() 〜GraphicsEruption.endEruption()間以外でこのメソッドが呼び出された場合に発生します。
public final void setViewport(int xp,
int yp,
int width,
int height)
xp - 左を指定します。yp - 上を指定します。width - 幅を指定します。height - 高さを指定します。
IllegalArgumentException -
width が 0 未満の場合に発生します。
IllegalArgumentException -
height が 0 未満の場合に発生します。
com.docomostar.lang.IllegalStateException -
GraphicsEruption.beginEruption() 〜GraphicsEruption.endEruption()間以外でこのメソッドが呼び出された場合に発生します。
public final void setClip(int xp,
int yp,
int width,
int height)
xp - 左を指定します。yp - 上を指定します。width - 幅を指定します。height - 高さを指定します。
IllegalArgumentException -
width が 0 未満の場合に発生します。
IllegalArgumentException -
height が 0 未満の場合に発生します。
com.docomostar.lang.IllegalStateException -
GraphicsEruption.beginEruption() 〜GraphicsEruption.endEruption()間以外でこのメソッドが呼び出された場合に発生します。
public final void setStereoCameraParam(float hpd,
float focus)
デフォルトは立体視レンダリング解除状態です。焦点距離とは右カメラと左カメラの視線ベクトルが交差する位置までの距離を示します。立体視機能が無い MascotCapsule eruption ではエラーは返さず設定値は常に無視します。
hpd - 右カメラ左カメラの間の距離の 1 / 2 の値を指定します。focus - 焦点距離を指定します (0.0 で平行設定になります)。
IllegalArgumentException -
hpd、focus のどちらかが 0 未満の場合に発生します。
com.docomostar.lang.IllegalStateException -
GraphicsEruption.beginEruption() 〜GraphicsEruption.endEruption()間以外でこのメソッドが呼び出された場合に発生します。
public final void setStereoCameraParam2(float rth,
float focus)
デフォルトは立体視レンダリング解除状態です。焦点距離とは右カメラと左カメラの視線ベクトルが交差する位置までの距離を示します。立体視機能が無い MascotCapsule eruption ではエラーは返さず設定値は常に無視します。左カメラは rth * -1.0 の値を使用します。
rth - 右カメラの角度を指定します。focus - 焦点距離を指定します (0.0 で平行設定になりません)。
IllegalArgumentException -
rth が [0, 0.25) 以外の場合に発生します。
IllegalArgumentException -
focus が 0 未満の場合に発生します。
com.docomostar.lang.IllegalStateException -
GraphicsEruption.beginEruption() 〜GraphicsEruption.endEruption()間以外でこのメソッドが呼び出された場合に発生します。public final void setStereoReduceFactor(float factor)
デフォルトの効き具合は 1.0 です。
factor - 効き具合の調整値を指定します。(1.0 で setStereoCameraParam(float, float) または setStereoCameraParam2(float, float) の設定値通りの効果になります。)
IllegalArgumentException -
factor が [0, 1] 以外の場合に発生します。
com.docomostar.lang.IllegalStateException -
GraphicsEruption.beginEruption() 〜GraphicsEruption.endEruption()間以外でこのメソッドが呼び出された場合に発生します。public final float getStereoReduceFactor()
com.docomostar.lang.IllegalStateException -
GraphicsEruption.beginEruption() 〜GraphicsEruption.endEruption()間以外でこのメソッドが呼び出された場合に発生します。
public final void setCamera(Camera camera,
Transform transform)
camera - Camera オブジェクトを指定します。transform - Transform オブジェクトを指定します。null の場合は恒等変換になります。
ArithmeticException -
com.docomostar.lang.IllegalStateException -
GraphicsEruption.beginEruption() 〜GraphicsEruption.endEruption()間以外でこのメソッドが呼び出された場合に発生します。
public final void setCamera(Camera camera,
Vector3D pos,
Vector3D look,
Vector3D up)
camera - Camera オブジェクトを指定します。pos - 視点位置を表す Vector3D オブジェクトを指定します。look - 視線方向を表す Vector3D オブジェクトを指定します。up - 上方向を表す Vector3D オブジェクトを指定します。
NullPointerException -
pos, look, up のいずれかが null の場合に発生します。
com.docomostar.lang.IllegalStateException -
GraphicsEruption.beginEruption() 〜GraphicsEruption.endEruption()間以外でこのメソッドが呼び出された場合に発生します。
public final void getProjectedPoint(Vector3D point,
Vector3D result)
point - 3次元座標を表すVector3D を指定します。result - 2次元座標を表すVector3D を指定します。
x、y 要素はスクリーン座標を指定します。z 要素は、Near クリップ面を -1 、Far クリップ面を 1 とする値で表します。
NullPointerException -
point が null の場合に発生します。
NullPointerException -
result が null の場合に発生します。
com.docomostar.lang.IllegalStateException -
Graphics3D に Camera が関連付けがない場合に発生します。
ArithmeticException -
com.docomostar.lang.IllegalStateException -
GraphicsEruption.beginEruption() 〜GraphicsEruption.endEruption()間以外でこのメソッドが呼び出された場合に発生します。
public final void getProjectedPointRev(Camera camera,
Vector3D point,
Vector3D result)
camera - 座標変換に指定するカメラを指定します。 null の場合は Graphics3D オブジェクトにセットしたカメラを使用します。point - 変換する位置ベクトルを指定します。
X,Y=スクリーン座標
Z=ビュー座標result - 変換後のワールド座標を入れる Vector3D オブジェクトを指定します。
NullPointerException -
point に null が指定された場合に発生します。
NullPointerException -
result に null が指定された場合に発生します。
com.docomostar.lang.IllegalStateException -
camera に null が指定されていて Graphics3D に camera が指定されていない場合に発生します。
ArithmeticException -
com.docomostar.lang.IllegalStateException -
com.docomostar.lang.IllegalStateException -
Figure を介して参照する TransformTree が、存在しない場合に発生します。
com.docomostar.lang.IllegalStateException -
com.docomostar.lang.IllegalStateException -
Figure を介して参照する TransformTree が、存在しない場合に発生します。
com.docomostar.lang.IllegalStateException -
com.docomostar.lang.IllegalStateException -
Figure を介して参照する TransformTree が、存在しない場合に発生します。
com.docomostar.lang.IllegalStateException -
GraphicsEruption.beginEruption() 〜GraphicsEruption.endEruption()間以外でこのメソッドが呼び出された場合に発生します。
public final void setLight(int ix,
Light light,
Transform transform)
API 上は 7 個までライトを設定できますが実際に有効な数は実行環境に依存します。
ix - ライトのインデックス([0, 7]で指定可)を指定します。light - 設定する Light オブジェクトを指定します。transform - 設定するTransform オブジェクトを指定します。null の場合は恒等変換になります。
IllegalArgumentException -
ix が [0, 7] 以外の場合に発生します。
com.docomostar.lang.IllegalStateException -
GraphicsEruption.beginEruption() 〜GraphicsEruption.endEruption()間以外でこのメソッドが呼び出された場合に発生します。public final int getLightNum()
com.docomostar.lang.IllegalStateException -
GraphicsEruption.beginEruption() 〜GraphicsEruption.endEruption()間以外でこのメソッドが呼び出された場合に発生します。public final void bindRenderTarget(Texture texture)
テクスチャをレンダリングターゲットにするには、ピクセルフォーマットをディスプレイ互換 (Texture.MCE_PIXEL_FORMAT_DPY) にして作成したテクスチャを用います。
本API がサポートされるか否かは環境に依存します。サポートされているかは、getProperties(int) で調べることができます。
texture - ターゲットとなる Texture オブジェクトを指定します。
NullPointerException -
texture が null の場合に発生します。
com.docomostar.lang.IllegalStateException -
IllegalArgumentException -
texture のピクセルフォーマットがディスプレイ互換 (Texture.MCE_PIXEL_FORMAT_DPY) ではないため、レンダリングターゲットにできない場合に発生します。
com.docomostar.lang.UnsupportedOperationException -
Texture へのレンダリング機能がサポートされていない場合に発生します。
com.docomostar.lang.IllegalStateException -
GraphicsEruption.beginEruption() 〜GraphicsEruption.endEruption()間以外でこのメソッドが呼び出された場合に発生します。public final void releaseRenderTarget()
本API がサポートされるか否かは環境に依存します。
com.docomostar.lang.IllegalStateException -
GraphicsEruption.beginEruption() 〜GraphicsEruption.endEruption()間以外でこのメソッドが呼び出された場合に発生します。
public final void drawRect(short x,
short y,
short width,
short height,
float roll,
int abgr,
Appearance appearance,
RegionF[] regions)
Appearance オブジェクトを指定して、矩形領域を描画します。
重ね合わせは Appearance.MCE_DEPTH_TEST , Appearance.MCE_DEPTH_WRITE を無効にして、
任意の描画順により決定する必要があります。例えば、必ず手前に描画したい場合は、最後に描画する等です。
regions の要素数は使用するテクスチャの枚数分必要になります。
regions が null の場合はすべてのテクスチャ全体が矩形領域に貼られます。
このAPIを使用して描画した矩形領域は、setViewport(int, int, int, int) の設定の影響を受けません。
x - 描画左位置を指定します。y - 描画上位置指定を指定します。width - 描画幅指定を指定します。height - 描画高さ指定を指定します。roll - 回転を指定します(反時計回り。1.0=360度)。abgr - 塗りつぶし色(0xAABBGGRR) を指定します。appearance - 描画に用いる Appearance オブジェクトを指定します。ただし、Appearance オブジェクトの色は用いられずに引数の abgr が有効となります。regions - 描画対象となる Texture オブジェクトの矩形領域を指定します(null指定時は全領域が対象)。Texture オブジェクト描画時のみ指定できます。
IllegalArgumentException -
width が 0 以下の場合に発生します。
IllegalArgumentException -
height が 0 以下の場合に発生します。
IllegalArgumentException -
width > 32767 の場合に発生します。
IllegalArgumentException -
height < -32768,もしくは((フレームバッファ高さ/2)-y) > 32767 の場合に発生します。
IllegalArgumentException -
regions の配列長が 1 以下の場合に発生します。
IllegalArgumentException -
IllegalArgumentException -
regions の要素が null の場合に発生します。
com.docomostar.lang.IllegalStateException -
GraphicsEruption.beginEruption() 〜GraphicsEruption.endEruption()間以外でこのメソッドが呼び出された場合に発生します。
public final void drawVertexBuffer(VertexBuffer vb,
IndexBuffer ib,
Transform transform)
VertexBuffer を描画します。
ポイントスプライトには 0 枚目のテクスチャのみ適用できます。 法線マップの使用時には頂点カラーと、法線マップ用テクスチャ以前のステージにあるテクスチャを使用することはできません。
vb - 描画対象の VertexBuffer を指定します。ib - 描画対象の IndexBuffer を指定します。transform - vb のワールド座標系への変換行列を指定します。 ( null の場合は恒等変換になります。)
尚、行列演算で発生した例外は環境依存となります。
NullPointerException -
vb が null の場合に発生します。
NullPointerException -
ib が null の場合に発生します。
com.docomostar.lang.IllegalStateException -
Graphics3D に Camera が設定されていない場合に発生します。
IllegalArgumentException -
ib が vb の範囲外を参照する場合に発生します。
com.docomostar.lang.IllegalStateException -
com.docomostar.lang.IllegalStateException -
VertexBuffer に対してスフィアマップ、もしくはライトマップを適用した場合に発生します。
com.docomostar.lang.IllegalStateException -
VertexBuffer に対して法線マップを適用した場合に発生します。
com.docomostar.lang.IllegalStateException -
com.docomostar.lang.IllegalStateException -
ArithmeticException -
true、投影方法が平行投影以外の状態でスフィアマップを使用し、描画対象モデルのmodel-view 変換が非正則である場合に発生します。
com.docomostar.lang.IllegalStateException -
Appearance.MCE_TEXTURE_TYPE_COLORMAP 以外のテクスチャを適用した場合に発生します。
com.docomostar.lang.IllegalStateException -
com.docomostar.lang.IllegalStateException -
ArithmeticException -
com.docomostar.lang.IllegalStateException -
GraphicsEruption.beginEruption() 〜GraphicsEruption.endEruption()間以外でこのメソッドが呼び出された場合に発生します。
public final void addDrawQueueVertexBuffer(VertexBuffer vb,
IndexBuffer ib,
Transform transform)
VertexBuffer を描画キューに追加します。
vb - 描画対象の VertexBuffer を指定します。ib - 描画対象の IndexBuffer を指定します。transform - vb のワールド座標系への変換行列を指定します。 ( null の場合は恒等変換になります。)
NullPointerException -
vb が null の場合に発生します。
NullPointerException -
ib が null の場合に発生します。
com.docomostar.lang.IllegalStateException -
Graphics3D に Camera が設定されていない場合に発生します。
IllegalArgumentException -
ib が vb の範囲外を参照する場合に発生します。
IllegalArgumentException -
com.docomostar.lang.IllegalStateException -
GraphicsEruption.beginEruption() 〜GraphicsEruption.endEruption()間以外でこのメソッドが呼び出された場合に発生します。
public final void drawFigure(Figure figure,
Transform transform,
int param)
Figure を描画します。
Figure の深さは 4 段までになります。
ポイントスプライトには 0 枚目のテクスチャのみ適用できます。
Figure に設定されているカメラを使用する場合、transform は無効になります。
法線マップの使用時には頂点カラーと、法線マップ用テクスチャ以前のステージにあるテクスチャを使用することはできません。
フラスタムカリングの優先度は MCE_FRUSTUM_CULLING_FIGURE_GS, MCE_FRUSTUM_CULLING_INDEXBUFFER_GS, MCE_FRUSTUM_CULLING の順です。
尚、行列演算で発生した例外は環境依存となります。
figure - 描画対象の Figure を指定します。transform - figure のワールド座標系への変換行列を指定します。 (null の場合は恒等変換になります。)param - パラメータを指定します。指定できる値は、以下の通りです。(複数指定可)
MCE_CAMERA_SORT
MCE_FRUSTUM_CULLING
GeometricShape によるフラスタムカリング- MCE_FRUSTUM_CULLING_INDEXBUFFER_GS
Figure に関連付けられた GeometricShape によるフラスタムカリング - MCE_FRUSTUM_CULLING_FIGURE_GS
com.docomostar.lang.IllegalStateException -
Figure に関連された NodeDeformer と Camera に関連された NodeDeformer が不整合である場合に発生します。
IllegalArgumentException -
com.docomostar.lang.IllegalStateException -
Camera が設定されていない場合に発生します。
NullPointerException -
figure が null の場合に発生します。
com.docomostar.lang.IllegalStateException -
com.docomostar.lang.IllegalStateException -
Figure が持つ TransformTree が更新されており、かつ循環が存在する場合に発生します。
com.docomostar.lang.IllegalStateException -
Figure が持つ NodeDeformer に属する投影テクスチャ用プロジェクタ、およびアクティブな Camera のターゲットが NodeDeformer に属していない場合に発生します。
com.docomostar.lang.IllegalStateException -
Camera のターゲットの親ノードが Figure を介して参照する TransformTree が、存在しない場合に発生します。
com.docomostar.lang.IllegalStateException -
Figure が持つ NodeDeformer に属する投影テクスチャ用プロジェクタ、およびアクティブな Camera の上方向を示すオブジェクトが NodeDeformer に属していない場合に発生します。
com.docomostar.lang.IllegalStateException -
com.docomostar.lang.IllegalStateException -
Camera の上方向を示すオブジェクトの親ノードが Figure を介して参照する TransformTree が、存在しない場合に発生します。
com.docomostar.lang.IllegalStateException -
Figure が持つ NodeDeformer に属するアクティブな Light のターゲットが NodeDeformer に属していない場合に発生します。
com.docomostar.lang.IllegalStateException -
Light のターゲットの親ノードが Figure を介して参照する TransformTree が、存在しない場合に発生します。
com.docomostar.lang.IllegalStateException -
VertexBuffer に対してスフィアマップ、もしくはライトマップを適用した場合に発生します。
com.docomostar.lang.IllegalStateException -
VertexBuffer に対して法線マップを適用した場合に発生します。
com.docomostar.lang.IllegalStateException -
ArithmeticException -
true、投影方法が平行投影以外の状態でスフィアマップを使用し、描画対象モデルのmodel-view 変換が非正則である場合に発生します。
com.docomostar.lang.IllegalStateException -
Appearance.MCE_TEXTURE_TYPE_COLORMAP 以外のテクスチャを適用した場合に発生します。
com.docomostar.lang.IllegalStateException -
com.docomostar.lang.IllegalStateException -
ArithmeticException -
com.docomostar.lang.IllegalStateException -
Figure に Camera が設定されているが、Camera の親ノードが存在しない場合に発生します。
com.docomostar.lang.IllegalStateException -
Figure に Camera が設定されているが、Camera の親ノードが Figure を介して参照する TransformTree が、存在しない場合に発生します。
com.docomostar.lang.IllegalStateException -
GraphicsEruption.beginEruption() 〜GraphicsEruption.endEruption()間以外でこのメソッドが呼び出された場合に発生します。
public final void addDrawQueueFigure(Figure figure,
Transform transform)
Figure を描画キューに追加します。
Figure の深さは 4 段までになります。
figure - 描画対象の Figure を指定します。transform - figure のワールド座標系への変換行列 ( null の場合は恒等変換になります。)
NullPointerException -
figure が null の場合に発生します。
com.docomostar.lang.IllegalStateException -
Figure / Graphics3D に Camera が設定されていない、または無効な場合に発生します。
com.docomostar.lang.IllegalStateException -
Figure が持つ TransformTree が更新されており、かつ循環が存在する場合に発生します。
com.docomostar.lang.IllegalStateException -
Figure が持つ NodeDeformer に属する投影テクスチャ用プロジェクタ、およびアクティブな Camera のターゲットが NodeDeformer に属していない場合に発生します。
com.docomostar.lang.IllegalStateException -
Camera のターゲットの親ノードが Figure を介して参照する TransformTree が、存在しない場合に発生します。
com.docomostar.lang.IllegalStateException -
Figure が持つ NodeDeformer に属する投影テクスチャ用プロジェクタ、およびアクティブな Camera の上方向を示すオブジェクトが NodeDeformer に属していない場合に発生します。
com.docomostar.lang.IllegalStateException -
Camera の上方向を示すオブジェクトの親ノードが Figure を介して参照する TransformTree が、存在しない場合に発生します。
com.docomostar.lang.IllegalStateException -
Figure が持つ NodeDeformer に属するアクティブな Light のターゲットが NodeDeformer に属していない場合に発生します。
com.docomostar.lang.IllegalStateException -
Light のターゲットの親ノードが Figure を介して参照する TransformTree が、存在しない場合に発生します。
ArithmeticException -
com.docomostar.lang.IllegalStateException -
Figure に関連された NodeDeformer と Camera に関連された NodeDeformer が不整合である場合に発生します。
com.docomostar.lang.IllegalStateException -
Figure に Camera が設定されているが、Camera の親ノードが Figure を介して参照する TransformTree が、存在しない場合に発生します。
com.docomostar.lang.IllegalStateException -
Figure に Camera が設定されているが、Camera の親ノードが存在しない場合に発生します。
com.docomostar.lang.IllegalStateException -
GraphicsEruption.beginEruption() 〜GraphicsEruption.endEruption()間以外でこのメソッドが呼び出された場合に発生します。
public final void drawEffectSource(EffectSource effect,
Transform transform)
EffectSource を描画します。
transform をワールド変換に用いて、effect が発生させるエフェクトと effect 自身を描画します。
エフェクトのモデルにポイントスプライトを使用している場合には 0 枚目のテクスチャのみ適用できます。
エフェクトのアップデートをするには描画前に EffectSource.updateParticles() を呼んでおく必要があります。
effect - 描画対象の EffectSource オブジェクトを指定します。transform - effect のワールド座標系への変換行列 (null の場合は恒等変換になります。)
NullPointerException -
effect が null の場合に発生します。
com.docomostar.lang.IllegalStateException -
com.docomostar.lang.IllegalStateException -
ArithmeticException -
com.docomostar.lang.IllegalStateException -
GraphicsEruption.beginEruption() 〜GraphicsEruption.endEruption()間以外でこのメソッドが呼び出された場合に発生します。
public final void addDrawQueueEffectSource(EffectSource effect,
Transform transform)
EffectSource を描画キューに追加します。
エフェクトのモデルにポイントスプライトを使用している場合には 0 枚目のテクスチャのみ適用できます。
エフェクトのアップデートをするには描画キューへの追加前に EffectSource.updateParticles() を呼んでおく必要があります。
effect - 描画対象の EffectSource オブジェクトを指定します。transform - effect のワールド座標系への変換行列を指定します。 (null の場合は恒等変換になります。)
NullPointerException -
effect が null の場合に発生します。
com.docomostar.lang.IllegalStateException -
Camera が設定されていない場合に発生します。
com.docomostar.lang.IllegalStateException -
GraphicsEruption.beginEruption() 〜GraphicsEruption.endEruption()間以外でこのメソッドが呼び出された場合に発生します。public final void flushDrawQueue(int param)
ポイントスプライトには 0 枚目のテクスチャのみ適用できます。
法線マップの使用時には頂点カラーと、法線マップ用テクスチャ以前のステージにあるテクスチャを使用することはできません。
フラスタムカリングの優先度は MCE_FRUSTUM_CULLING_FIGURE_GS, MCE_FRUSTUM_CULLING_INDEXBUFFER_GS, MCE_FRUSTUM_CULLING の順です。
描画キューを使って Figure を描画する場合、カメラを持つ Figure の中で最後に描画キューに登録されたもののカメラが使用されます。
尚、行列演算で発生した例外は環境依存となります。
param - パラメータを指定します。指定できる値は、以下の通りです(複数指定可)。
MCE_CAMERA_SORT
MCE_FRUSTUM_CULLING
GeometricShape によるフラスタムカリング- MCE_FRUSTUM_CULLING_INDEXBUFFER_GS
Figure に関連付けられた GeometricShape によるフラスタムカリング - MCE_FRUSTUM_CULLING_FIGURE_GS
com.docomostar.lang.IllegalStateException -
Camera が設定されていない場合に発生します。
com.docomostar.lang.IllegalStateException -
VertexBuffer に対してスフィアマップ、もしくはライトマップを適用した場合に発生します。
com.docomostar.lang.IllegalStateException -
VertexBuffer に対して法線マップを適用した場合に発生します。
com.docomostar.lang.IllegalStateException -
com.docomostar.lang.IllegalStateException -
ArithmeticException -
true、投影方法が平行投影以外の状態でスフィアマップを使用し、描画対象モデルのmodel-view 変換が非正則である場合に発生します。
com.docomostar.lang.IllegalStateException -
Appearance.MCE_TEXTURE_TYPE_COLORMAP 以外のテクスチャを適用した場合に発生します。
com.docomostar.lang.IllegalStateException -
com.docomostar.lang.IllegalStateException -
ArithmeticException -
com.docomostar.lang.IllegalStateException -
Figure に Camera が設定されているが、Camera の親ノードが存在しない場合に発生します。
com.docomostar.lang.IllegalStateException -
Figure に Camera が設定されているが、Camera の親ノードが Figure を介して参照する TransformTree が、存在しない場合に発生します。
com.docomostar.lang.IllegalStateException -
GraphicsEruption.beginEruption() 〜GraphicsEruption.endEruption()間以外でこのメソッドが呼び出された場合に発生します。public final void flush()
com.docomostar.lang.IllegalStateException -
GraphicsEruption.beginEruption() 〜GraphicsEruption.endEruption()間以外でこのメソッドが呼び出された場合に発生します。public final void finish()
com.docomostar.lang.IllegalStateException -
GraphicsEruption.beginEruption() 〜GraphicsEruption.endEruption()間以外でこのメソッドが呼び出された場合に発生します。public final void resetDrawQueue()
描画処理を行わず、描画キューを空にします。
com.docomostar.lang.IllegalStateException -
GraphicsEruption.beginEruption() 〜GraphicsEruption.endEruption()間以外でこのメソッドが呼び出された場合に発生します。public final void setAttribute(int param)
param - レンダリング属性を指定します(複数指定可)。指定できる値は、以下の通りです。
GeometricShape を全て表示 - MCE_SHOW_DEBUG_ALL_GS
GeometricShape のみを表示 - MCE_SHOW_DEBUG_GS
com.docomostar.lang.IllegalStateException -
GraphicsEruption.beginEruption() 〜GraphicsEruption.endEruption()間以外でこのメソッドが呼び出された場合に発生します。public final int getAttribute()
setAttribute(int) で設定したレンダリング属性を返します。
com.docomostar.lang.IllegalStateException -
GraphicsEruption.beginEruption() 〜GraphicsEruption.endEruption()間以外でこのメソッドが呼び出された場合に発生します。
public final void setProjectorTransform(int ix,
Transform transform)
NodeDeformer の配下にないカメラをプロジェクタとして用いて投影テクスチャを適用する際の、
プロジェクタに対するワールド変換を設定します。
ix - テクスチャのインデックスを指定します。([0, 1]で指定可)transform - プロジェクタのワールド座標系への変換行列を指定します(null の場合は恒等変換になります)。
IllegalArgumentException -
ix が [0, 1] 以外の場合に発生します。
ArithmeticException -
com.docomostar.lang.IllegalStateException -
GraphicsEruption.beginEruption() 〜GraphicsEruption.endEruption()間以外でこのメソッドが呼び出された場合に発生します。public final void resetDrawQueueSize()
com.docomostar.lang.IllegalStateException -
GraphicsEruption.beginEruption() 〜GraphicsEruption.endEruption()間以外でこのメソッドが呼び出された場合に発生します。
public final void setViewport2D(int xp,
int yp,
int width,
int height)
この設定値は 2D 描画機能の drawRect(short, short, short, short, float, int, Appearance, RegionF[]) にのみ効果があります。
xp - 矩形領域の左上 x 座標を指定します。yp - 矩形領域の左上 y 座標を指定します。width - 矩形領域の幅を指定します。height - 矩形領域の高さを指定します。
IllegalArgumentException -
com.docomostar.lang.IllegalStateException -
GraphicsEruption.beginEruption() 〜GraphicsEruption.endEruption()間以外でこのメソッドが呼び出された場合に発生します。public final void purgeGLobject(int resource)
This で生成された指定の GL 資源を強制破棄します。
resource - 破棄対象の資源をフラグで指定します。指定できる値は、以下の通りです。
MCE_RESOURCE_TYPE_ALL
Texture の資源を破棄する。- MCE_RESOURCE_TYPE_TEXTURE
MCE_RESOURCE_TYPE_BUFFER_OBJECT
com.docomostar.lang.IllegalStateException -
GraphicsEruption.beginEruption() 〜GraphicsEruption.endEruption()間以外でこのメソッドが呼び出された場合に発生します。public final void dispose()
com.docomostar.lang.IllegalStateException -
GraphicsEruption.beginEruption() 〜GraphicsEruption.endEruption()間以外でこのメソッドが呼び出された場合に発生します。
|
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||
NTT DOCOMO,INC.
本製品または文書は著作権法により保護されており、その使用、複製、再頒布および逆コンパイルを制限するライセンスのもとにおいて頒布されます。NTTドコモ(その他に許諾者がある場合は当該許諾者も含めて)の書面による事前の許可なく、本製品および関連する文書のいかなる部分も、いかなる方法によっても複製することが禁じられます。フォントを含む第三者のソフトウェアは、著作権法により保護されており、その提供者からライセンスを受けているものです。
Sun、Sun Microsystems、Java、J2MEおよびJ2SEは、米国およびその他の国における米国 Sun Microsystems,Inc.の商標または登録商標です。サンのロゴマークは、米国 Sun Microsystems, Inc.の登録商標です。
FeliCaは、ソニー株式会社が開発した非接触ICカードの技術方式です。FeliCaは、ソニー株式会社の登録商標です。
「iモード」、「iアプリ/アイアプリ」、「i-αppli」ロゴ、「DoJa」はNTTドコモの商標または登録商標です。
その他記載された会社名、製品名などは該当する各社の商標または登録商標です。