2010-12-21 4 views
1

화면을 채워야하는 단일 640x480 텍스처가 있습니다. 지금까지 사각형 텍스처가 아닌 사각형 텍스처를 사용할 수 있습니다.OpenGL ortho 모드에서 사각형으로 화면을 채우려면 어떻게해야합니까?

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

화면비에 관계없이 화면에 텍스처를 적용하려면 어떤 수정을해야합니까?

답변

0

이것은 약간의 관련성이있을 수 있습니다.

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

당신은 (glTexImage2D 가정?) http://glprogramming.com/red/chapter09.html

+0

을 내가 제대로 모든 것을 이해 (내가 가능성이없는 경우에, 이것은 내 첫 번째 이후에 다른 방법으로 ARB 확장 질감 사각형을 고려하실 수 있습니다 OpenGL을 사용하는 시간), 내 카드가 2의 비 텍스처 (non-power-of-2) 텍스처를 지원하지 않으면 텍스처 사각형 확장 만 필요합니다. 나는 이미 텍스처를 만들어서 화면에 표시 할 수 있지만 ortho 설정은 쿼드 스퀘어를 만들고 있습니다. 내 계산은 조정할 필요가 있다고 생각하지만 정확하게 수행해야 할 작업이 무엇인지 정확하게 알지 못합니다. –

관련 문제