2012-04-08 6 views
0

私はGLKit(のOpenGL ES 2)を使用して、iOS用ゲームを作ってるんだ、と私は、彼らがパフォーマンスを増加させる、非常に多くのことを考えるようVBOsとVAOsを使用したい(と私はそれで私のアプリをテストする際に楽器がそれを推奨しています) 。iOS用のGLKitでVBOを使用するには?

私は実際の位置、大きさ、質感などを変更していないので、私はVBOsが役立つだろう引き受けるテクスチャオブジェクトの多くを持っています。私は頂点を保存するとテクスチャデータを調整するためにGLKVector2の配列を使用しています、と私はVBOsにここから行くのか、非常にわからないんだけど、現時点では

誰でも助けてもらえますか?

乾杯、 ニック。

答えて

0

あなたはこのように、glBufferData()に直接渡すことができます。これは、バッファを生成し、それをバインドするためにOpenGLを教え

GLKVector2 objects[k]; 
// ... Fill out your objects vertices in objects 
GLuint buffer = 0; 
glGenBuffers (1, &buffer); 
glBindBuffer (GL_ARRAY_BUFFER, buffer); 
glBufferData (GL_ARRAY_BUFFER, sizeof (objects), objects, GL_STATIC_DRAW); 
glEnableClientState (GL_VERTEX_ARRAY); 
glVertexPointer (2, GL_FLOAT, sizeof (GLKVertex2), 0); 

glBufferData()は実際にそれをカードにアップロードします。 glVertexPointer()を呼び出すと、配列内のどこから頂点を引っ張り始めるかが分かります。 VBOを使用しているときは、最後のパラメータのポインタがオフセットになります。

編集:申し訳ありませんが、いくつかの詳細を記入してください。脳のおならがあった。詳細はSee hereをご覧ください。

+0

このメソッドは、後で使用するために頂点バッファオブジェクトを保存しませんか? –

+0

上記の変更を参照してください。それははっきりしているはずです。 – user1118321

関連する問題