2008-08-18 95 views

回答

4

有一个简单的解决方案。

假设你(非显示)纹理是1024x1024的,你被限制到256x256的窗口/显示。

unsigned int WIN_WIDTH = 256; 
unsigned int WIN_HEIGHT = WIN_WIDTH; 
unsigned int TEX_WIDTH = 1024; 
unsigned int TEX_HEIGHT = TEX_WIDTH; 

使用窗口大小来创建OpenGL窗口:

glutInitWindowSize(WIN_WIDTH, WIN_HEIGHT); 

但是,使用纹理大小的一切:

glViewport(0, 0, TEX_WIDTH, TEX_HEIGHT); 
gluOrtho2D(0.0, TEX_WIDTH, 0.0, TEX_HEIGHT); 
glTexCoord2i(TEX_WIDTH, TEX_HEIGHT);