glDrawArrays 関数
glDrawArrays 関数は、レンダリングする複数のプリミティブを指定します。
構文
void WINAPI glDrawArrays(
GLenum mode,
GLint first,
GLsizei count
);
パラメーター
-
mode
-
レンダリングするプリミティブの種類。 次の定数は、使用可能なプリミティブの種類を指定します。GL_POINTS、GL_LINE_STRIP、GL_LINE_LOOP、GL_LINES、GL_TRIANGLE_STRIP、GL_TRIANGLE_FAN、GL_TRIANGLES、GL_QUAD_STRIP、GL_QUADS、GL_POLYGON。
-
first
-
有効な配列の開始インデックス。
-
count
-
レンダリングするインデックスの数。
戻り値
この関数は値を返しません。
エラー コード
glGetError 関数では、次のエラー コードを取得できます。
名前 | 意味 |
---|---|
|
count が負の値でした。 |
|
mode が受け入れられた値ではありません。 |
|
この関数は、 glBegin の呼び出しと glEnd の対応する呼び出しの間で呼び出されました。 |
解説
glDrawArrays を使用すると、レンダリングする複数のジオメトリック プリミティブを指定できます。 個別の OpenGL 関数を呼び出して個々の頂点、法線、または色を渡す代わりに、頂点、法線、および色の個別の配列を指定して、 glDrawArrays を 1 回呼び出してプリミティブのシーケンス (すべて同じ種類) を定義できます。
glDrawArrays を呼び出すと、有効になっている各配列の count シーケンシャル要素を使用して、最初の要素から始まる幾何学的プリミティブのシーケンスが構築されます。 mode パラメーターは、構築するプリミティブの種類と、配列要素を使用してプリミティブを構築する方法を指定します。
glDrawArrays が返されると、glDrawArrays によって変更される頂点属性の値は未定義になります。 たとえば、GL_COLOR_ARRAYが有効になっている場合、 glDrawArrays が返された後、現在の色の値は未定義になります。 glDrawArrays によって変更されない属性は、定義されたままです。 GL_VERTEX_ARRAYが有効になっていない場合、ジオメトリック プリミティブは生成されませんが、有効な配列に対応する属性は変更されます。
表示リストに glDrawArrays を 含めることができます。 glDrawArrays を表示リストに含めると、配列ポインターと 有効によって決定される必要な配列データが生成され、表示リストに入力されます。 配列ポインターと 有効の値は、表示リストの作成時に決定されます。
静的配列データはいつでも読み取ることができます。 静的配列要素が変更され、配列が再び指定されていない場合、 glDrawArrays への後続の呼び出しの結果は未定義になります。
glBegin と glend のペア内で配列を複数回指定してもエラーは生成されませんが、結果は未定義です。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント |
Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー |
Windows 2000 Server [デスクトップ アプリのみ] |
ヘッダー |
|
ライブラリ |
|
[DLL] |
|