アプリ版:「スタンプのみでお礼する」機能のリリースについて

openGLでプログラムを組み、
オブジェクトに色をつけていたのですが、
光の設定を追加したところモノクロになってしまいました。

色が付いた状態で、光を当てることはできないのでしょうか。

分かる方、教えてください。

A 回答 (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で指定した色が頂点の反射率として利用されます。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

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

お礼日時:2010/01/24 14:12

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!