windows下vs 中opengl的配置

今天完成了一件自己一直很难做到的事情—编程,偶终于在windows下对vs 中opengl的配置成功并运行通过,哈哈... 做的时候出现了好多错误,真是磨练人啊,不过世上无难事,只怕有心人啊,作为我技术生涯的真正开始,我特别记下来...

步骤:

1.下载glut库
     windows环境下找的glut下载地址:
     http://openglsource.com/download/download.htm 下载其中的glut-3.7.6-bin.zip

     Windows环境下安装GLUT的步骤: 
     1)解压下载的包 
     2)在我的电脑中找到文件夹(Program Files/Microsoft Visual Studio/VC98/Include/GL文件夹)。把解压得到的glut.h放到这个文件夹。
     3)把解压得到的glut.lib和glut32.lib放到静态函数库所在文件夹(Program Files/Microsoft Visual Studio/VC98/lib文件夹)。
     4)把解压得到的glut.dll,glut32.dl,opengl.dlll放到操作系统目录下面的system32文件夹内。(C:/Windows/System32)
注:我个人在安装时候还少了ipl.dll和HfxClasses45.dll,都是自己在www.zhaodll上重新下载的,再放进操作系统目录下面的system32文件夹内

2.在vc中的配置:

  1)创建一个工程。

  2)链接OpenGL libraries。在Visual C++中先单击Project,再单击Settings,找到Link单击,最后在Object/library modules 的最前面加上opengl32.lib glu32.lib glut32.lib glaux.lib gdi32.lib user32.lib advapi32.lib

     或者在project -> add to project ->files引入需要的头文件
注:这一步的时候,出的错误搞的我找了N久啊,是链接glut32.lib ,而不要链接glut.lib 一定要注意
  

  3)单击Project Settings中的C/C++标签,将Preprocessor definitions 中的_WINDOWS改为_CONSOLE。最后单击OK。

注:这一步我也出错了,主要可能是网上的资料和自己的实际情况有出入,我选的工程是win32 Application所以要把_WINDOWS改为_CONSOLE


    4)然后在stdafx.h文件中加入
       #include <windows.h>
       #include <GL/glu.h>
       #include <GL/gl.h>
       #include <GL/glut.h>
       #include <GL/glaux.h>


3.在网上当的一个例子运行


#include <stdafx.h>

void background(void)
{
//设置背景颜色为黑色
glClearColor(0.0,0.0,0.0,0.0);
}

void myDisplay(void)
{
//buffer设置为颜色可写
glClear(GL_COLOR_BUFFER_BIT);
//开始画三角形
glBegin(GL_TRIANGLES);
//设置为光滑明暗模式
glShadeModel(GL_SMOOTH);
//设置第一个顶点为红色
glColor3f(1.0,0.0,0.0);
//设置第一个顶点的坐标为(-1.0,-1.0)
glVertex2f(-1.0,-1.0);
//设置第二个顶点为绿色
glColor3f(0.0,1.0,0.0);
//设置第二个顶点的坐标为(0.0,-1.0)
glVertex2f(0.0,-1.0);
//设置第三个顶点为蓝色
glColor3f(0.0,0.0,1.0);
//设置第三个顶点的坐标为(-0.5,1.0)
glVertex2f(-0.5,1.0);
//三角形结束
glEnd();
//强制OpenGL函数在有限时间内运行
glFlush();
}

void myReshape(GLsizei w,GLsizei h)
{
glViewport(0,0,w,h);
//设置视口

glMatrixMode(GL_PROJECTION);
//指明当前矩阵为GL_PROJECTION
glLoadIdentity();
//将当前矩阵置换为单位阵

if(w <= h)
gluOrtho2D(-1.0,1.5,-1.5,1.5*(GLfloat)h/(GLfloat)w);
//定义二维正视投影矩阵
else
gluOrtho2D(-1.0,1.5*(GLfloat)w/(GLfloat)h,-1.5,1.5);
glMatrixMode(GL_MODELVIEW);
//指明当前矩阵为GL_MODELVIEW
}



int main(int argc, char* argv[])
{
// 初始化
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);
glutInitWindowSize(400,400);
glutInitWindowPosition(200,200);

//创建窗口
glutCreateWindow("Triangle");

//绘制与显示
background();
glutReshapeFunc(myReshape);
glutDisplayFunc(myDisplay);

glutMainLoop();
return(0);
}

 

4.运行截图

运行截图

 ...  ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值