2012-03-26 8 views
1

私がしたいのは、各頂点が異なる色を持つと思われる正方形を描くことです。 これは、四角形内のすばらしい勾配につながるはずです。 は、ここに私が使用しているコードです:OpenGLの基本:多色の四角形を描く

glBegin(GL_QUADS); 
glColor3f(0.0f, 0.0f, 1.0f); 
glVertex2f(((float)(winWidth-redLineWidth))/2.f,((float)(winHeight-redLineWidth))/2.f); 
glColor3f(0.0f, 0.0f, 0.0f); 
glVertex2f(((float)(winWidth+redLineWidth))/2.f,((float)(winHeight-redLineWidth))/2.f); 
glColor3f(0.0f, 1.0f, 0.0f); 
glVertex2f(((float)(winWidth+redLineWidth))/2.f,((float)(winHeight+redLineWidth))/2.f); 
glColor3f(1.0f, 0.0f, 0.0f); 
glVertex2f(((float)(winWidth-redLineWidth))/2.f,((float)(winHeight+redLineWidth))/2.f); 
glEnd(); 

使用される変数を無視してください。 矩形が描かれていますが、単色です。 ここでエラーはどこですか?私は、Mac OS X上でGLUTを使用してい

+1

注意してください。 "((float)(winWidth-redLineWidth))/ 2"は整数です。 "2"を "2.f"に変更したい場合があります –

+1

@Geneotechありがとうございました!それらはあなたが何年も持ち歩いてきた間違いだと思ってはいません... – guitarflow

+0

ところで、どのような色ですか? –

答えて

3

それはあなたがこれを変更したとは考えにくいが、あなたは、あなたの描画コードの前にglShadeModel(GL_SMOOTH)呼び出しを追加しようとします。デフォルトの動作は予期したとおりに行う必要があるため、問題は他の場所で発生する可能性があります。

+0

ええ、それはそれでした!私はここに最小の例があります。このオプションを有効にすると、必要に応じて動作します。ありがとう。 – guitarflow

関連する問題