イミーディエイトモードの頂点配列は、ImmBegin()/ImmVertex()/ImmEnd()などのOpenGLスタイルのインターフェースを使い、どのフレームでも描画できます。 [詳細]
Public メソッド | |
ImmediateMode (GraphicsContextAlpha gl, uint max_vertices, ushort[] indices, int vertices_per_primitive, int indices_per_primitive, params VertexFormat[] formats) | |
ImmediateModeのコンストラクタです。 | |
void | Dispose () |
Disposeの実装。 | |
void | ImmBegin (DrawMode mode, uint max_vertices_intended) |
描画プリミティブの開始。 | |
void | ImmVertex (T vertex) |
頂点を追加します。ImmBeginとImmEndの間で呼ぶ必要があります。 | |
void | ImmEnd () |
描画プリミティブを終了し、描画処理を行います。 | |
void | ImmEndIndexing () |
ImmediateMode のコンストラクタに渡される引数'vertices_per_primitive' and 'indices_per_primitive' を使った、ImmEndの特別なバージョンです。すべてのプリミティブは同じ数の頂点を消費することを想定しています。 | |
プロパティ | |
bool | Disposed [get] |
このオブジェクトが破棄されている場合、trueを返します。 | |
bool | ImmActive [get] |
ImmBegin()/ImmEnd()の間で呼ばれると、trueを返します。 | |
uint | MaxVertices [get] |
フレームごとに追加可能な、最大(合計)頂点数を返します。 |
イミーディエイトモードの頂点配列は、ImmBegin()/ImmVertex()/ImmEnd()などのOpenGLスタイルのインターフェースを使い、どのフレームでも描画できます。
void ImmBegin | ( | DrawMode | mode, |
uint | max_vertices_intended | ||
) |
描画プリミティブの開始。
mode | 描画プリミティブのタイプ。 |
max_vertices_intended | 描画予定の最大頂点数。 |
ImmediateMode | ( | GraphicsContextAlpha | gl, |
uint | max_vertices, | ||
ushort[] | indices, | ||
int | vertices_per_primitive, | ||
int | indices_per_primitive, | ||
params VertexFormat[] | formats | ||
) |
ImmediateModeのコンストラクタです。
インデックスがnullでない場合は、vertices_per_primitiveとindices_per_primitiveは、以下の制約に従う必要があります。
これらの制約のいずれかが満たされていない場合、コンストラクタは警告を出します。
ImmediateModeは、Common.OnSwap() でインクリメントされるフレームカウンタに依存していることに注意してください。 GameEngine2D.Directorを使用する流れでは、Common.OnSwap()はDirector.Instance.PostSwap()の内部で呼ばれてるようになっています。 ImmediateModeを "スタンドアローン"を使用する場合でも、GameEngine2Dのフレームカウンタがインクリメントされているか確認するため、毎フレームCommon.OnSwap()を呼び出す必要があります。(呼び出されないと、メモリリークが発生します)。
gl | コアグラフィックスのコンテキスト。 |
max_vertices | 1フレームあたりの最大頂点数。 |
indices | インデックスの配列 (nullでも可)。静的な設定を仮定しています。 |
vertices_per_primitive | インデックスがnullでない場合、これは各ImmBeginが持つ予定の頂点数に設定する必要があります。インデックスがnullの場合は、0に設定されています。 |
indices_per_primitive | インデックスがnullでない場合、これは各プリミティブごとに描画したいインデックスの数に設定する必要があります。インデックスがnullの場合は、0に設定されています。 |
formats | VertexBufferに渡される頂点フォーマット。 |