1

画面いっぱいにする必要がある 640x480 のテクスチャが 1 つあります。これまでのところ、正方形のテクスチャでは機能させることができますが、長方形のテクスチャでは機能しません。

glViewport(0, 0, display->w, display->h);

glMatrixMode(GL_PROJECTION);
glLoadIdentity();

double aspectRatio = (double)display->w / (double)display->h;

if (display->w <= display->h)
    glOrtho(-1, 1, -1 / aspectRatio, 1 / aspectRatio, -1, 1);
else
    glOrtho(-1 * aspectRatio, 1 * aspectRatio, -1, 1, -1, 1);

glMatrixMode(GL_MODELVIEW);
glLoadIdentity();

アスペクト比に関係なく、テクスチャが画面に収まるようにするには、どのような変更を加える必要がありますか?

4

1 に答える 1

0

これにはある程度の関連性があるかもしれません。

テクスチャbmpファイルをテクスチャとしてOpenGLの長方形にタイリングしますか?

http://glprogramming.com/red/chapter09.htmlへの代替アプローチとしてARB拡張テクスチャ長方形を検討することをお勧めします(glTexImage2Dを想定していますか?)

于 2010-12-21T15:48:28.783 に答える