1. 到http://www.xmission.com/~nate/glut.html
下载 glut-3.7.6-bin.zip,按如下方式安装解压出来的文件
glut32.dll
-> C:\Windows\System or C:\WinNT\System
glut32.lib
-> C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib
glut.h
-> C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\gl
2. glut.h和stdlib.h一起使用会出现这个错误:error C2381: 'exit' : redefinition; __declspec(noreturn) differs
所以我们得修改glut.h,注释掉146行,并加入一条新的语句,改后的代码为:
// extern _CRTIMP void __cdecl exit(int);
_CRTIMP __declspec(noreturn) void __cdecl exit(int);
3. 新建一个Win 32 Console Application工程,添加一个drawcircle.cpp文件,其内容为:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <GL/glut.h>
#define ESC 27
#define SPACE 32
int Height=400, Width=400;
int depth=0, circleRadius=2, cnt=1;
static float vdata[4][3] = {
{1.0, 0.0, 0.0}, {0.0, 1.0, 0.0},
{-1.0, 0.0, 0.0}, {0.0, -1.0, 0.0}
};
void normalize(float v[3]) {
float d = sqrt(v[0]*v[0]+v[1]*v[1]+v[2]*v[2]);
if (d == 0) {
printf("zero length vector");
return;
}
v[0] /= d; v[1] /= d; v[2] /= d;
}
void drawtriangle(float *v1, float *v2, float *v3)
{
glBegin(GL_TRIANGLES);
glVertex3fv(v1);
glVertex3fv(v2);
glVertex3fv(v3);
glEnd();
}
void subdivideCircle(int radius, float *v1, float *v2, int depth)
{
float v11[3], v22[3], v00[3] = {0, 0, 0}, v12[3];
int i;
if (depth == 0) {
glColor3f(v1[0]*v1[0], v1[1]*v1[1], v1[2]*v1[2]);
for (i=0; i<3; i++) {
v11[i] = v1[i]*radius;
v22[i] = v2[i]*radius;
}
drawtriangle(v11, v22, v00);
return;
}
v12[0] = v1[0]+v2[0];
v12[1] = v1[1]+v2[1];
v12[2] = v1[2]+v2[2];
normalize(v12);
subdivideCircle(radius, v1, v12, depth - 1);
subdivideCircle(radius, v12, v2, depth - 1);
}
void drawCircle(int circleRadius)
// draw a circle with center at the origin in xy plane
{
subdivideCircle(circleRadius, vdata[0], vdata[1], depth);
subdivideCircle(circleRadius, vdata[1], vdata[2], depth);
subdivideCircle(circleRadius, vdata[2], vdata[3], depth);
subdivideCircle(circleRadius, vdata[3], vdata[0], depth);
}
void display(void)
{
if (circleRadius>Width/2 || circleRadius==1)
{
cnt=-cnt;
depth++;
depth = depth % 5;
}
circleRadius+=cnt;
glClear(GL_COLOR_BUFFER_BIT);
drawCircle(circleRadius);
glutSwapBuffers();
}
static void Reshape(int w, int h)
{
glClearColor (0.0, 0.0, 0.0, 1.0);
glClear(GL_COLOR_BUFFER_BIT);
Width = w; Height = h;
glViewport (0, 0, Width, Height);
glMatrixMode (GL_PROJECTION);
glLoadIdentity ();
glOrtho(-Width/2, Width/2, -Height/2, Height/2, -1.0, 1.0);
}
static void Key(unsigned char key, int x, int y)
{
switch (key) {
case ESC:
exit(0);
case SPACE:
glutIdleFunc(NULL); display();
break;
default:
glutIdleFunc(display);
}
}
int main(int argc, char **argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE);
glutInitWindowSize(Width, Height);
glutCreateWindow("Example 1.5.circle.c: press SPACE & another key");
glutKeyboardFunc(Key);
glutReshapeFunc(Reshape);
glutDisplayFunc(display);
glutIdleFunc(display);
glutMainLoop();
}
4. 工程 --> 右键 --> Properties,打开工程配置对话框,
a. 选择
Configuration下拉框
,选择
All Configuration
b. In the left pane, select the
linker subtree
and then click the
Input option. Add the following code to the
Additional Dependencies text in the right pane.
Copy and Paste:
opengl32.lib glu32.lib
glut32.lib
5. 编译运行,如果成功,可以看到一个三维动画
- 大小: 75.6 KB
- 大小: 19.2 KB
分享到:
相关推荐
visual studio 2005下OpenGL配置 vs2005下OPENGL配置 visual studio 2005下OpenGL配置 vs2005下OPENGL配置 visual studio 2005下OpenGL配置 vs2005下OPENGL配置 visual studio 2005下OpenGL配置 vs2005下OPENGL配置 ...
在visual studio 2005 下建立openGL开发环境
这是一个关于 visual studio 2010 的openGL环境的搭建的简单文档,之所以要写这个文档是因为,我自己再用visual studio 2010写opengl程序的过程中,看过别人的文档,但是都写得不怎么详细,所以我打算自己在写一个...
VS2008没有带OpenGL库,可以自行从VS2005或者其他VC++环境中提取相关文件加上来配置OpenGL环境。本文件包含了所需文件和简单的说明
Visual Studio 2005 Visual Studio 2005 集成开发环境简介.rar
Visual Studio 2008环境下配置OpenGL开发环境全部文件,除基本库外还包括glaux和glut扩展工具以及简单说明和测试代码
Visual_Studio_2005开发环境详细描述了vs2005的开发环境细节问题。
Visual Studio 2005 集成开发环境 简介 Visual Studio 2005 集成开发环境 简介
Visual Studio 2005集成开发环境图解.doc
2.选择“Hotfix for Visual Studio 2005 [SKU 名称] - ENU (KB929470)”或“Hotfix for Visual Studio 2005 [SKU 名称] - JPN (KB929471)” 3.右击并选择“卸载”。 3.将 Visual Studio 2005 Service Pack 1 with ...
用Visual Studio搭建跨Linux程序的集成开发环境,图片文字都很详细,一共21页。
Visual Studio OpenGL 配置方法.docx Visual Studio OpenGL 配置方法.docx Visual Studio OpenGL 配置方法.docx Visual Studio OpenGL 配置方法.docx
笔者在window7 64位环境下装过该下载列表中的visual studio 2005、visual studio 2008、visual studio 2010,均可正常使用,visual studio 2003 与 visual studio 2012 暂未试用。 由于这些资源均经过简化,所以msdn...
VisualStudio2005使用手册
Visual Studio 2005开发环境
在Visual Studio 2005环境下安装VTK教程
pdf格式,为精简版,快速入门!
Visual Studio 2005应用开发实例 ,有东西大家分享,共同学习,一起进步。
Visual Studio 2005开发环境电子书
VisualStudio2005智能设备开发环境的配置过程[归纳].pdf