0

テクスチャ座標に使用するものは何でも、左下のピクセルのみが表示されます (長方形は単色です)。

ここで、テクスチャ座標を設定します。

glMatrixMode(GL_TEXTURE);
glPushMatrix();
glLoadIdentity();
glTranslatef(0.5,0.0,0.0); //Have no effect

glMatrixMode(GL_MODELVIEW);
glPushMatrix();

...

glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, texture);

glBegin(GL_QUADS);

glTexCoord2f(0, 1);
glVertex2f(0, 0);

glTexCoord2f(0, 0);
glVertex2f(0, 1);

glTexCoord2f(1, 0);
glVertex2f(1, 1);

glTexCoord2f(1, 1);
glVertex2f(1, 0);

glEnd();

とても深刻です。2 つの異なる QGLWidgets でレンダリングされます。1 つのウィジェットではテクスチャがきれいに見え、もう 1 つのウィジェットでは左下のピクセルしか取得できません。

4

1 に答える 1

0

間違いを見つけました。2 つのウィジェットの 2 つのレンダリング プロセスの間のどこかに、フラグ GL_TEXTURE_RECTANGLE_NV が設定されていると思います。glEnable(GL_TEXTURE_2D); だと思いました。GL_TEXTURE_RECTANGLE_NV フラグを自動的に無効にしました。しかし、そうではないようです。

だから、以下は私の問題を解決しました:

glDisable(GL_TEXTURE_RECTANGLE_NV); 
于 2013-01-30T02:35:40.737 に答える