openGL中的一个小问题

xxq123321 2006-03-12 11:37:56
就是在glMatrixMode函数 和glutInitWindowSize函数编写的程序时
当改变窗口大小时,图案的大小可以改变,有缩放,但程序必须保证图案的形状保持不变
比如说在下面程序里
#include <GL/glut.h>
#include <math.h>
#include <stdlib.h>
#include <stdio.h>
#define P 3.14
void SetCameraPosition(void)
{
/* Set the viewing transformation */
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(-1.05,1.05,-1.05,1.05);
glMatrixMode(GL_MODELVIEW);
}

GLint m,n;
void lineSegment(void)
{ GLfloat j=0, k=0,i=0;
glClear (GL_COLOR_BUFFER_BIT);
glColor3f(1.0,0.0,0.0);
for(i=0;i<m;i++) { j=i;
glBegin(GL_LINE_STRIP);
for(k=0;k<=m/n;k++){j=j+n;
glVertex2f(cos(2*P*j/m),sin(2*P*j/m));
}
glEnd();
glFlush();
}
}
void main (int argc,char** argv)
{ m=atoi(argv[1]);n=atoi(argv[2]);

glutInit(&argc,argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowPosition(50,100);
glutInitWindowSize(400,300);
glutCreateWindow("An Example OpenGL Program");
SetCameraPosition();
glutDisplayFunc (lineSegment);
glutMainLoop();
}
...全文
105 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
syy64 2006-03-13
  • 打赏
  • 举报
回复
那要设置视口的X/Y的比例。

19,469

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧