2012-03-30 12 views
0

私はプリミティブ型のためにトゥーンシェーディングのような効果を得ようとしています。長方形または三角形。私はまず、GL_TEXTURE_2Dを無効にしてGL_LINE_LOOPを使って頂点をレンダリングし、GL_TTE2_2Dを有効にしてGL_TRIANGLESを使用します。その効果は次のとおりです。OpenGLES 1.xトゥーンシェーディング

http://oi43.tinypic.com/o03ssl.jpg

私の質問は、私がブロック間の線を取り除くことができ、2はどのように私はその後、レンダリングbeeingて、他のすべてに影響を与えることなく、ラインを黒にすることができる方法1.ですか?

#1については

答えて

2

、任意の三角形を描画する前すべてラインをレンダリングする二つのオプション

  1. (あなたが個別に各オブジェクトの三角形、その後の線を描くように、現在に見えます)。
  2. デプスバッファを使用して、描画する三角形の後ろに線を配置します。

質問2については、あなたが何を意味するか教えてください。なぜ、線の色を黒に変更すると、レンダリングされる他のものに影響しますか?

+0

私がglColor4fを使用している場合、evverythingはその色になります。 0,0,0,1を設定すると、画面全体が黒くなります.1,0,0,1を設定するとすべてが赤いタッチになります –

+0

(0,0,0,1)に設定するだけで、線を引いた後に(1,1,1,1)に戻します。 OpenGLはステートマシンです。オブジェクトを描画するために状態(つまり色)を変更した場合、そのオブジェクトの描画が完了したら、オブジェクトを元に戻す必要があります。 – Tim

関連する問題