如何在OpenGL正交模式下用矩形填充屏幕?

时间:2010-12-21 15:43:32

标签: c opengl fullscreen textures aspect-ratio

我有一个需要填充屏幕的640x480纹理。到目前为止,我可以使用方形纹理,但不能使用矩形纹理。

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();

我需要进行哪些修改才能使任何纹理适合屏幕,无论其纵横比如何?

1 个答案:

答案 0 :(得分:0)

这可能有一些相关性。

Tiling texture bmp file as texture onto a rectangle in OpenGL?

您可能希望将ARB扩展纹理矩形视为另一种方法(假设glTexImage2D?)http://glprogramming.com/red/chapter09.html