文档库 最新最全的文档下载
当前位置:文档库 › 用OpenGL画圆柱

用OpenGL画圆柱

用OpenGL画圆柱
用OpenGL画圆柱

用OpenGL画一个圆柱

一.环境设置

新建Win32 Application工程OpenGL

在工程->设置目录下设置OpenGL运行环境

在Link->对象/库模块下添加opengl32.lib glu32.lib glut32.lib

到这里,OpenGL的环境配置完成。

二.实验内容

新建一个Cylinder.c文件到OpenGL工程

代码:

#include

#include

#include

#include

void display (void)

{

GLUquadricObj *cylinder_obj1;

GLUquadricObj *cylinder_obj2;

//GLUquadricObj *cylinder_obj3;

//然后再初始化

cylinder_obj1=gluNewQuadric();

cylinder_obj2=gluNewQuadric();

//cylinder_obj3=gluNewQuadric();

glClearColor(0.0, 0.0, 0.0, 0.0);

//设置当前清除颜色

glClear(GL_COLOR_BUFFER_BIT);

//GL_COLOR_BUFFER_BIT标志用 glClearColor设置的颜色清除颜色缓冲区

glColor3f(0.1, 1.0, 0.1); //glColor{34}{b s i f d ub us ui}{v}(....) //画圆柱体

glPushMatrix();

glRotatef(60,1.0,0.0,0.0);//绕y轴旋转的角度

glRotatef(30,0.0,1.0,0.0);//绕z轴旋转的角度

glRotatef(0,0.0,0.0,1.0);//延x轴旋转的角度

gluCylinder(cylinder_obj1, 2, 2, 4, 100, 50);

gluDisk(cylinder_obj2,0,2,100,50);

glPopMatrix();

glFlush();

}

void Reshape(int w,int h)

{

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

glMatrixMode(GL_PROJECTION);//指定当前矩阵

glLoadIdentity(); //将当前矩阵换成单位阵

gluPerspective //设置透视图

(45.0, //透视角设置为 45 度,在Y方向上以角度为单位的视野

(GLfloat)w/(GLfloat)h, // 窗口的宽与高比

1.0, // 视野透视深度:近点1.0f

50.0 // 视野透视深度:始点0.1f远点1000.0f

);

glMatrixMode(GL_MODELVIEW);//指名当前矩阵

glLoadIdentity();

glTranslatef(0.0,0.0,-25.0);//建立透视投影矩阵

}

int main(int argc,char *argv[])

{

glutInit(&argc,argv); //glut初始化

glutInitDisplayMode(GLUT_RGB|GLUT_SINGLE);//设置rgb颜色及单缓存模式

glutInitWindowPosition(100,100);//设置窗口初始位置

glutInitWindowSize(400,400);//设置窗口大小

glutCreateWindow("OpenGL圆柱体");//创建显示窗口

glutReshapeFunc(&Reshape);// 设置旋转回调函数

glutDisplayFunc(&display);//设置显示回调函数

glutMainLoop();//进入消息循环

return 0;

}

添加代码后,出现这个错误,说不能打开GL/glut库,所以还要配置继续配置OpenGL 环境

需要将

分别加入到不同的位置

打开文件夹

D:\软件包及安装\VC98\Include\GL

把glut.h复制到这个文件夹中

打开文件夹

D:\软件包及安装\VC98\Lib

把glut.lib和glut32.lib都放到这个静态函数库所在的文件夹中打开文件夹

C:\Windows\System32

将glut.dll和glut32.dll都放到这个文件夹内

运行编译后的结果:

相关文档