• ベストアンサー

openGLで色&光つけ

openGLでプログラムを組み、 オブジェクトに色をつけていたのですが、 光の設定を追加したところモノクロになってしまいました。 色が付いた状態で、光を当てることはできないのでしょうか。 分かる方、教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • qwertfk
  • ベストアンサー率67% (55/81)
回答No.1

glColor3d(1,0,0); DrawSphere(); // 球を描画 でちゃんと赤い球が表示されていたはずが、 glColor3d(1,0,0); glEnable(GL_LIGHTING); glLightfv等で光源設定; DrawSphere(); としたら、モノクロになった、という感じでしょうか。 ライティングする場合には、マテリアル(反射率など)を設定する必要があります。 また、頂点単位でマテリアルを設定したい場合は以下の機能を有効化する必要があります。 glColorMaterial(GL_FRONT, GL_DIFFUSE); // Specular等も指定可 glEnable(GL_COLOR_MATERIAL); 上記機能を有効化すると、glColorで指定した色が頂点の反射率として利用されます。

hirubanasa
質問者

お礼

ご回答ありがとうございます。 御陰様で色が付くようになりました。 ありがとうございました。