void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glClearColor(1.0, 0, 0, 0);
//指定视口
glViewport(0, 0, 400, 400);
//指定投影矩阵
glMatrixMode(GL_PROJECTION);
//指定以下的操作针对投影矩阵,不能少否则显示不出
glLoadIdentity();
//设置矩阵大小,从而将opengl的矩阵坐标转化成了屏幕坐标
glOrtho(0, 400, 400, 0, -100, 100);
glBegin(GL_LINES);
glVertex3f(100, 300, 0);
glVertex3f(0, 0, 0);
glEnd();
glFlush();
}
int main(int argc, char **argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
glutInitWindowPosition(100, 100);
glutInitWindowSize(400, 400);
glutCreateWindow("opengl 3d view");
//init();
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
openGL正交矩阵转屏幕矩阵
最新推荐文章于 2024-03-05 17:11:40 发布