2
可能重复后保留对象(比方说,一个平方)的大小相同:
Changing projection in OpenGL如何调整窗口大小
我想找到一种方法来保持相同物体的大小。我有这个从屏幕左上角移动到右下角的正方形。当我调整输出窗口的大小时,正方形的大小也会增加。
下面是我的显示和重塑功能。
void Changesize(int w,int h)
{
ww=w;
wh=h;
glViewport(0,0,w,h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity() ;
glMatrixMode(GL_MODELVIEW);
}
void display(void)
{
printf("i=%f & j=%f \n",i,j);
glClear (GL_COLOR_BUFFER_BIT);
glColor3i (rand(), rand(), rand());
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);
glBegin(GL_POLYGON);
glColor3i (rand(), rand(), rand());
glVertex3f (i, j-0.125, 0.0);
glVertex3f (i+0.125, j-0.125, 0.0);
glVertex3f (i+0.125, j , 0.0);
glVertex3f (i, j, 0.0);
glEnd();
glFlush();
usleep(100000);
i=i+0.0125;
j=j-0.0125;
if (i>0.999999)
{
i=0;
j=1;
}
glutSwapBuffers();
glutPostRedisplay();
}
我昨天回答了几乎相同的问题,也许这将帮助你:改变OpenGL的投影(http://stackoverflow.com/questions/12518603/changing-in-opengl/12518816#12518816) – Tim
非常感谢!我很感激。 –