百度百科传送门:和.
编程爱好者网站原创教程:.
OpenGL如何获取?,但它随VC++6.0已经安装到计算机中了。
OpenGL在计算机上的位置?
如果是VC++6.0。请打开C:\Program Files\Microsoft Visual Studio\VC98\Lib,检查该目录下是否有OPENGL32.LIB和GLU32.LIB,就是它们了。调用的时候对应include哪些文件呢?
请打开C:\Program Files\Microsoft Visual Studio\VC98\Include\GL,发现里面的三个文件了吧,就是这些(ps:并非直接在Include下面所以include时候注意戴上gl\)。下面来安装GLUT。与其说是安装,不如说是拷贝几个文件(ps:目的就是要让VC编译器发现glut的lib,h文件,然运行环境找到对应动态链接库dll文件):
我下载了一份glut是3.7beta版的。文件名glutdlls37beta.zip。可以直接在我的博客中下载:
解压打开以后5个文件:
glut.h 拷入 C:\Program Files\Microsoft Visual Studio\VC98\Include\GLglut.lib 和 glut32.lib 拷入 C:\Program Files\Microsoft Visual Studio\VC98\Libglut.dll 和 glut32.dll 拷入 C:\WINDOWS\system32(ps:以上文件拷入位置其实并不固定,目的就是使vc编译器能找到它们,比如也可以定义vc编译器目录include到其它位置。我们这里就不这么做了。win7 64位操作系统中就有很大不同,比如它的include文件夹和lib文件夹就在Program Files(x86)\Microsoft SDKs\Windows\v7.0A这样的目录下,而开发的64位软件,dll应该放在windows/sysWow64,但在win7上开发32位程序,dll仍然在windows\system32下面)*如果vc基础不是很好,只是为了完成一下作业的话。做好上面的浅绿色部分即可。
建立win32控制台应用程序,项目名glwithGLUT,空项目。
项目下新建core.cpp文件。准备编码。(如果不是很了解下面的编码,建议先下载一份文档对照着看下面的源码。这是一份云南大学信息学院编制的GLUT文档,中文,看上去较简单,直接放博客上的下载地址:)核心库文档英文的,暂时没有发上来,可以自己去搜索一下。或者去图书馆借本参考书!
View Code
#include#include const float PI = 3.1416; float ax = 0.0f; float ay = 0.0f; float az = 0.0f; void Drawing(){ glPushMatrix(); glRotatef(ax, 1.0f, 0.0f, 0.0f); glRotatef(ay, 0.0f, 1.0f, 0.0f); glRotatef(az, 0.0f, 0.0f, 1.0f); glBegin( GL_LINES );{ for(float t=.0f; t<=PI; t+=.1f){ glColor3f(1.0f, 0.0f, 0.0f); glVertex3f(cosf(t)*100.0f,sinf(t)*100.0f,0.0f); glVertex3f(0,0,0); glColor3f(0.0f, 1.0f, 0.0f); glVertex3f(0.0f,cosf(t)*100.0f,sinf(t)*100.0f); glVertex3f(0,0,0); glColor3f(0.0f, 0.0f, 1.0f); glVertex3f(sinf(t)*100.0f,0.0f,cosf(t)*100.0f); glVertex3f(0,0,0); } }glEnd(); glPopMatrix(); } void OnReshape(int w, int h){ double ar = (double)w/(double)h; glViewport(0, 0, w, h); glMatrixMode( GL_PROJECTION ); glLoadIdentity(); if(w>=h){ glOrtho(-300*ar, 300*ar, -300, 300, -300, 300); }else{ glOrtho(-300, 300, -300/ar, 300/ar, -300, 300); } glMatrixMode( GL_MODELVIEW ); glLoadIdentity(); } void OnDisplay(){ glClear( GL_COLOR_BUFFER_BIT ); Drawing(); glutSwapBuffers(); } void OnTimer(int flag){ ax += 0.12f; ay += 0.15f; az += 0.1f; OnDisplay(); glutTimerFunc(10, OnTimer, 101); } int main(int argc, char* argv[]){ glutInit(&argc, argv); glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE ); glutInitWindowPosition(0,0); glutInitWindowSize(800,600); glutCreateWindow("窗口标题"); glutDisplayFunc(OnDisplay); glutReshapeFunc(OnReshape); glutTimerFunc(10, OnTimer, 101); glutMainLoop(); return 0; }
core.cpp中粘贴了如上的代码,并且编译运行。如果在屏幕上看见了一些变换的图形的话。那么OpenGL的环境配置就OK了。下面,你可以更改一下代码中的参数,看看是不是达到了你想要的效果。