标签:
1.在 写这段 程序 的 一开始 ,图形 没有 出来,因为 在 reShape函数 没写 投影矩阵的 函数;
2.还有 这段程序 我跟踪了 一下,首先 执行 reShape ,然后 才是 disPlay 函数,挺奇怪的。
等待 以后自己解答!如果 有好心的 博友 解答就是 极好的了。
学习了 新的 几个 OPENGL 函数。但是 对于 为什么 图形 会这样, 不明白!!!
glFrustum : 设置透视矩阵,并与当前矩阵相乘;
// cube.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include <gl/glut.h> void init(){ glClearColor(0,0,0,0); //glEnable(GL_DEPTH_TEST); } void display(){ glClear(GL_COLOR_BUFFER_BIT); glColor3f(1,1,1); glLoadIdentity(); gluLookAt(0.0,0.0,10, 0.0,0.0,0.0, 0.0,-1.0,0.0); //glTranslatef(0,0,-5); //glScalef(1,2,1); glutWireCube(4.0); //glutSwapBuffers(); glFlush(); } void reShape(int width,int height){ glViewport(0,0,width,height); glMatrixMode(GL_PROJECTION); glLoadIdentity(); glFrustum(-1,1,-1, 1,1.5,20); //gluPerspective(50,1,10,20); glMatrixMode(GL_MODELVIEW); } int _tmain(int argc, _TCHAR* argv[]) { glutInit(&argc,(char**)argv); glutInitDisplayMode(GLUT_SINGLE); glutInitWindowSize(500,500); glutInitWindowPosition(100,100); glutCreateWindow("我的第一个三维物体!"); init(); glutDisplayFunc(display); glutReshapeFunc(reShape); glutMainLoop(); return 0; }
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:
原文地址:http://blog.csdn.net/fuming0210sc/article/details/47092879