とを使用してプロットしたい頂点のNx4配列がglVertexArray
ありglDrawArray
ます。2D散布図として。私は現在、次のように配列を初期化します。
GLint data[4][MAX_N_POINT];
for (int j=0; j<MAX_N_POINT; j++)
{
data[j][0] = 200 + rand()%20 - 10; // X Dimension
data[j][1] = 400 + rand()%20 - 10; // Y Dimension
data[j][2] = 600 + rand()%20 - 10; // Z Dimension
data[j][3] = 1; // W Dimension
}
次に、2D散布図を次のように描画します。
glVertexPointer(4, GL_INT, 0, data);
glDrawArrays(GL_POINTS, 0, nPlot);
これは次のように正しく表示されます:
注:背景の色付きの正方形は、ポイントが正しい位置にあるかどうかを簡単に判断できるようになっています
ただし、2次元プロットのみが必要なので、2つの未使用の次元をスキップしたいと思います。頂点のポイントが2つしかないことを伝えglVertexPointer
てから、頂点間のストライドも2に設定してみましたが、思ったとおりに機能していないようです。
glVertexPointer(2, GL_INT, 2, data2);
glDrawArrays(GL_POINTS, 0, nPlot);
ただし、これをプロットすると、非常に異なる結果が得られ、ポイントがXxY、YxZ、ZxWに表示されます。
ストライド変数の適切な機能を誤解しましたか?そうでない場合、下のプロットが上のプロットに似るようにストライドを適切に設定するにはどうすればよいですか?