OpenGLの頂点配列のドキュメントを見ると、インデックスに使用される最も一般的なメモリタイプの2つは、GLubyte(GL_UNSIGNED_BYTE)とGLshort(GL_SHORT)でした。インデックスに2つを使用することの間に実際の違いがあるかどうか疑問に思いました
ありがとう、Dragonwrenn
GL_UNSIGNED_BYTE
最大で256の頂点を持つモデルでは問題ありませんが、実際にはそれほど多くはありません。
GL_UNSIGNED_SHORT
、2バイトを使用すると、65536の頂点に制限されますが、それでも数は少ないです。
GL_UNSIGNED_INT
ミッドポリモデルとハイポリモデルでは2バイトでも十分ではない可能性があるため、最も一般的なバリアントはです。
GL_UNSIGNED_BYTEは1バイト、GL_SHORTは2バイトです。バイトの唯一の利点は、バイトが小さいため、保存にかかるメモリが少なく、グラフィックメモリへの転送にかかる時間が短いことです(頂点配列またはVBOを想定)。
すべてのタイプがすべての用途に使用できるわけではないことに注意してください。たとえば、GL_UNSIGNED_BYTE頂点を使用することはできません。
GPUは16ビットまたは32ビットのインデックスしか処理できないため、GL_UNSIGNED_BYTEを使用すると追加のオーバーヘッドが発生し、メモリを節約できません。