摘要:
转自:http://blog.csdn.net/xie_zi/article/details/1911793到现在为止,我们有了一个画着一个白色三角形的OpenGL窗口,但一点也不激动人心。现在让我们在这节教程里,让这个三角形自己旋转起来。让我们回到main()函数,增加些额外的设置。首先告诉GLUT我们想要一个双缓冲区。双缓冲区通过在后一个缓冲区里绘画,并不停交换前后缓冲区(可见缓冲区),来产生平滑的动画。使用双缓冲区可以预防闪烁。………….glutInitDisplayMode(GL_DEPTH|GLUT_DOUBLE|GLUT_RGBA);…………接着我们要做的是告诉GLUT,当应用程序 阅读全文
摘要:
转自:http://blog.csdn.net/xie_zi/article/details/1911777下载下面的VC工程并运行它(glut0.zip)(这个就是上一节的工程)。你将看到两个窗口:一个控制台窗口,一个OpenGL窗口。现在改变窗口大小使高度与宽度不再相等,这时三角形发生变形。这会发生是因为你没有正确设置投影矩阵。默认的是透视投影矩阵且高宽比为1.因此高宽比改变了,投影就会变形。因此只要高宽比改变了,投影就应该重新计算。GLUT定义了当窗口大小改变时哪一个函数应该被调用。此外,这个函数还会在窗口初次被创建时调用,保证初始化窗口不是正方形的时候渲染也不会变形出错。这个函数是gl 阅读全文
摘要:
转自:http://blog.csdn.net/xie_zi/article/details/1911452在这个部分我们将在我们的程序里建立一个main函数,这个main函数将完成必须的初始化和开启事件处理循环。所有的GLUT函数都有glut前缀并且那些完成一些初始化的函数有glutInit前缀。你首先要做的是调用函数glutInit()。Void glutInit(int*argc,char**argv);参数:Argc:一个指针,指向从main()函数传递过来的没更改的argc变量。Argv:一个指针,指向从main()函数传递过来的没更改的argv变量。在初始化GLUT后,我们开始定义 阅读全文
摘要:
转自:http://blog.csdn.net/xie_zi/article/details/1911406GLUT 代表OpenGL Utility Tookit。Mark J.Kilgard 为了使OpenGL应用程序结构能够真正独立于窗口系统构思了GLUT库。感谢GLUT,使我们可以写程序而不必去学关于X windows或者微软自己的窗口系统。Kilgard在X windows上应用这个库,后来Nate Robins把它扩展到微软的窗口系统。感谢他们,他们做的太棒了。 在这个教程里,我将给你介绍基本的使用GLUT建立一个应用程序。这个教程将不介绍如何去渲染那些比较精美的视觉场景。这是为了 阅读全文