クラス テンプレート ImmediateMode< T >

イミーディエイトモードの頂点配列は、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]
 フレームごとに追加可能な、最大(合計)頂点数を返します。

説明

template<T>
class Sce::PlayStation::HighLevel::GameEngine2D::Base::ImmediateMode< T >

イミーディエイトモードの頂点配列は、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は、以下の制約に従う必要があります。

  • vertices_per_primitiveは0であってはならない
  • indices_per_primitiveは0であってはならない
  • max_verticesはvertices_per_primitiveの倍数でなければなりません
  • indices.Lengthはindices_per_primitiveの倍数でなければなりません
  • max_vertices/ vertices_per_primitiveはindices.Length/ indices_per_primitiveに等しくなければなりません

これらの制約のいずれかが満たされていない場合、コンストラクタは警告を出します。

ImmediateModeは、Common.OnSwap() でインクリメントされるフレームカウンタに依存していることに注意してください。 GameEngine2D.Directorを使用する流れでは、Common.OnSwap()はDirector.Instance.PostSwap()の内部で呼ばれてるようになっています。 ImmediateModeを "スタンドアローン"を使用する場合でも、GameEngine2Dのフレームカウンタがインクリメントされているか確認するため、毎フレームCommon.OnSwap()を呼び出す必要があります。(呼び出されないと、メモリリークが発生します)。

引数:
glコアグラフィックスのコンテキスト。
max_vertices1フレームあたりの最大頂点数。
indicesインデックスの配列 (nullでも可)。静的な設定を仮定しています。
vertices_per_primitiveインデックスがnullでない場合、これは各ImmBeginが持つ予定の頂点数に設定する必要があります。インデックスがnullの場合は、0に設定されています。
indices_per_primitiveインデックスがnullでない場合、これは各プリミティブごとに描画したいインデックスの数に設定する必要があります。インデックスがnullの場合は、0に設定されています。
formatsVertexBufferに渡される頂点フォーマット。