1
我有一個需要填充屏幕的640x480紋理。到目前爲止,我可以使它具有方形紋理,但不是矩形紋理。如何使用OpenGL正交模式的矩形填充屏幕?
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();
我需要做些什麼修改才能使它適合屏幕上的任何紋理,而不管它的長寬比如何?
如果我理解正確的一切(和我很可能不這樣做,因爲這是我第一次我只需要紋理矩形擴展,如果我的卡片不支持非冪次冪紋理。我已經能夠創建紋理並將其顯示在屏幕上,但是我的ortho安裝程序正在製作四方形。我認爲我的計算只是需要調整,但我不確定究竟需要做什麼。 – 2010-12-21 20:51:45