2011-01-20 1 views
4

私は最初のOpenGLプログラム(freeglutを使用しているC)を書いています。glutBitmapStringの代わりにglutStrokeStringを使用したときの問題

glColor3f(0.5f, 0.5f, 0.5f); 
glRasterPos2f(0, 0); 
glutBitmapString(GLUT_BITMAP_HELVETICA_12, (unsigned char*)"some text"); 

今、私はglutBitmapStringの代わりにglutStrokeStringみたい:私はうまく動作し、灰色のテキストを印刷し、私の表示機能、次のコードを持っています。 APIの私(謙虚)の理解では、次のように動作するはずです:

glScalef(0.003,0.003,1); 
glutStrokeString(GLUT_STROKE_ROMAN, (unsigned char*)"some text"); 

を代わりにglutBitmapString-コールのこの2行で私のプログラムを実行することが消える前に一度テキストを示しています。さらに、glutBitmapStringで表示されるすべてのテキストは、その点からも機能しません。私はここで何が欠けていますか?

+0

各フレームにカラーバッファと共にデプスバッファをクリアしますか? – genpfault

+0

はい。 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); – martin

+0

最後に解決しました。glLoadIdentity()が不足していました。くそー! – martin

答えて

0

私はついにそれを解決しました。問題は、何らかの理由でglutIdleFuncが私のdisplay-functionに設定されていて、マトリックスをリセットするのを忘れていたからです(glScalefを何度も繰り返しました)。今はうまくいく。

関連する問題