質問

あなたはこれらの人のいずれかを持っていることを想像します:


<サブ>(ソース: codesampler.com の)

阿嘉GL_TRIANGLE_STRIP。あなたはそれが異なる色を使用して色をしたい場合は、使用することができます:

glColorPointer(4, GL_UNSIGNED_BYTE, 0, colorArray);
glEnableClientState(GL_COLOR_ARRAY);

ここで、カラー配列の各「項目」は、ストリップで頂点に一致します。しかし、どのような2つの異なる色の間でちょうど別の色であれば? 2つだけ「本物の」色違いがあります場合は、各頂点の色を定義する必要は感じています。それはそれでちょうど2つの色でcolorArrayを定義し、何とかそれが頂点配列をループだとき、これら両者の間にopenglの代替を行うことが可能かどうだから私の質問があります。

そして、ええ、私は、OpenGLの完全なnoobのだので、多分これは

...愚かな質問です
役に立ちましたか?

解決

あなたは OpenGLのカラーインデックスモードを使用してこれを行うことができます。しかし、私の経験では、これは実際には各頂点の色を指定するよりも、最新のグラフィックスカードに遅くなる、ということに注意してください。

カラーインデックスモードでは、各頂点ではなく、完全なRGB / RGBAの配列へのインデックスを指定し、別の色配列を送ります。これは、より多くのメモリ効率的なのですが、ほとんどのハードウェアドライバに最適化されていないよう。

他のヒント

あなたはあることを何色記述する頂点ごとにブールフラグに送信することにより、これを行うには、頂点シェーダを使用することができます。本当に最も簡単/最速のものは、単に各頂点の色を提出すると考えられます。

OpenGLはうまくいくかもしれない(だけでなく、おそらくそれだけの価値ではないでしょう)複数の頂点ストリームとインデックスを持っている能力を持っていた場合。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top