opengl安装配置

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

OpenGL是一个开放源码的跨平台图形渲染工具,它是基于C++的,现在的很多主流显卡如Nvida、AMD等都提供了其编程接口,OpenGL在游戏画面的渲染中起到了非常重要的作用。

下面介绍如何在Visual Studio 2013中搭配OpenGL的编程环境:

工具/原料

VS2013

一、安装GLUT工具包

1. 1

下载OpenGL需要的库文件,一般可以选择下载glut库(内含所有必须文件)

2. 2

解压后将得到的glut.lib和glut32.lib这两个静态函数库复制到文件目录的lib文件夹下

X:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\lib

3. 3

将glut.dll,glut32.dll这两个动态库文件放到操作系统目录下面的C:\Windows\system32文件夹内(32位系统)或C:\Windows\SysWOW64(64位系统)。

为了兼容性考虑,最好在这两个目录下都复制相应的文件。

4. 4

将解压得到的头文件glut.h复制到目录如下目录下:

X:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\GL 提示:如果在incluce目录下没有GL文件夹,则需要手动创建

END

二、VS2013中的配置

1.创建一个空白的Win32控制台应用程序

2.在代码最前面添加包含目录

#include

3.然后就可以编辑自己的OpenGL程序了

4.例如:复制如下代码到刚配置好的VS中

#include

#include

#include

#include

staticint year = 0,spin=0, day = 0; staticGLintfogMode;

constint n = 100;

constGLfloat R = 1.0f;

constGLfloat Pi = 3.1415926536f; voidDrawCircle()

{

int i;

glClear(GL_COLOR_BUFFER_BIT);

glBegin(GL_LINE_LOOP);

for (i = 0; i< n; ++i)

{

glColor3f(1.0, 0.0, 0.0);

glVertex2f(R*cos(2 * Pi / n*i), R*sin(2 * Pi / n*i)); }

glEnd();

glFlush();

}

voidinit(void)

{

GLfloatposition[] = { 0.5, 0.5, 3.0, 0.0 };

glEnable(GL_DEPTH_TEST); //防止遮挡glLightfv(GL_LIGHT0, GL_POSITION, position);

glEnable(GL_LIGHTING);

glEnable(GL_LIGHT0);

{

GLfloatmat[3] = { 0.1745, 0.01175, 0.01175 }; glMaterialfv(GL_FRONT, GL_AMBIENT, mat);

mat[0] = 0.61424; mat[1] = 0.04136; mat[2] = 0.04136; glMaterialfv(GL_FRONT, GL_DIFFUSE, mat);

mat[0] = 0.727811; mat[1] = 0.626959; mat[2] = 0.626959; glMaterialfv(GL_FRONT, GL_SPECULAR, mat); glMaterialf(GL_FRONT, GL_SHININESS, 0.6*128.0);

}

glEnable(GL_FOG);

{

GLfloatfogColor[4] = { 0.5, 0.5, 0.5, 1.0 };

fogMode = GL_EXP;

glFogi(GL_FOG_MODE, fogMode);

glFogfv(GL_FOG_COLOR, fogColor);

glFogf(GL_FOG_DENSITY, 0.35);

glHint(GL_FOG_HINT, GL_DONT_CARE);

glFogf(GL_FOG_START, 1.0);

glFogf(GL_FOG_END, 5.0);

}

glClearColor(0.5, 0.9, 0.9, 1.0); /* fog color */

}

void display(void)

{

glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

glColor3f(0.0, 1.0, 1.0);

glPushMatrix(); //记住自己的位置

glutSolidSphere(1.0, 20, 16); /* 画太阳半径、20经度、16纬度*/ glRotatef(spin, 0.0, 1.0, 0.0); //自转,绕着一个向量以给定角度旋转(正的为逆时针)

glTranslatef(2.0, 1.0, 0.0);

glRotatef(spin, 1.0, 0.0, 0.0); //公转

glRectf(0.1,0.1,0.5,0.5);

glColor3f(0.0, 0.0, 1.0);

glutWireSphere(0.2, 8, 8); /* 画第一颗小行星*/

glColor3f(1.0, 0.0, 0.0);

glTranslatef(2.0, 1.0, 0.0);

glRotatef(2 * spin, 0.0, 1.0, 0.0);

glutSolidSphere(0.5, 16, 8);

glPopMatrix();//回到原来的位置

相关文档
最新文档