2

OpenGLの頂点配列のドキュメントを見ると、インデックスに使用される最も一般的なメモリタイプの2つは、GLubyte(GL_UNSIGNED_BYTE)とGLshort(GL_SHORT)でした。インデックスに2つを使用することの間に実際の違いがあるかどうか疑問に思いました

ありがとう、Dragonwrenn

4

3 に答える 3

8

GL_UNSIGNED_BYTE最大で256の頂点を持つモデルでは問題ありませんが、実際にはそれほど多くはありません。

GL_UNSIGNED_SHORT、2バイトを使用すると、65536の頂点に制限されますが、それでも数は少ないです。

GL_UNSIGNED_INTミッドポリモデルとハイポリモデルでは2バイトでも十分ではない可能性があるため、最も一般的なバリアントはです。

于 2010-11-18T13:56:25.070 に答える
4

GL_UNSIGNED_BYTEは1バイト、GL_SHORTは2バイトです。バイトの唯一の利点は、バイトが小さいため、保存にかかるメモリが少なく、グラフィックメモリへの転送にかかる時間が短いことです(頂点配列またはVBOを想定)。

すべてのタイプがすべての用途に使用できるわけではないことに注意してください。たとえば、GL_UNSIGNED_BYTE頂点を使用することはできません。

于 2010-11-18T01:56:14.687 に答える
3

GPUは16ビットまたは32ビットのインデックスしか処理できないため、GL_UNSIGNED_BYTEを使用すると追加のオーバーヘッドが発生し、メモリを節約できません。

于 2010-11-19T02:04:55.683 に答える