• 大小: 9.06MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-03-13
  • 语言: 其他
  • 标签: opengl  

资源简介

opengl开发的台灯,上下左右控制台等角度,是opengl语言的综合运用

资源截图

代码片段和文件信息

#include
#include 

static GLfloat yrot = -100.0;//-100
static GLfloat zrot = 40.0;//20
static GLint spin = 0.0;
const GLfloat PI = 3.1415926f;
const GLfloat R = 10.0f;
GLUquadricObj *objCylinder = gluNewQuadric();

void init()
{
glClearColor(0.0 0.0 0.0 0.0);
glShadeModel(GL_SMOOTH);

//设置光源属性:环境光、镜面光、散色光
GLfloat light_ambient[] = {1 1 1 1.0};//{0.2 0.2 0.2 1.0};
GLfloat light_specular[] = {1.0 1.0 1.0 1.0};
GLfloat light_diffuse[] = {1.0 1.0 1.0 1.0};
GLfloat light_diffuse1[] = {0.5 0.5 0.5 0};

glLightfv(GL_LIGHT0 GL_AMBIENT light_ambient);
glLightfv(GL_LIGHT0 GL_DIFFUSE light_diffuse);
glLightfv(GL_LIGHT0 GL_SPECULAR light_specular);


GLfloat spot_direction[] = {0.0 -1.0 0.0};
GLfloat light_position [] = {13.0f -3 0.0};
GLfloat light_position1 [] = {0.0f 20 0.0 1.0};//固定光源


//移动光源初始化
glLightf(GL_LIGHT0 GL_SPOT_CUTOFF 40.0);
glLightfv(GL_LIGHT0 GL_POSITION light_position);
glLightfv(GL_LIGHT0 GL_SPOT_DIRECTION spot_direction);

//固定光源初始化 默认光源位置是 (不要删)
glLightfv(GL_LIGHT1 GL_AMBIENT light_ambient);
glLightfv(GL_LIGHT1 GL_DIFFUSE light_diffuse1);

//glLightfv(GL_LIGHT1 GL_POSITION light_position1);
//glLightfv(GL_LIGHT1 GL_SPOT_DIRECTION spot_direction);


//设置材料属性:镜面光、散色光、环境光
GLfloat mat_specular[] = {1.0 1.0 1.0 1.0};
GLfloat mat_diffuse[] = {1.0 1.0 1.0 1.0};
GLfloat mat_shininess [] = {100.0};
glMaterialfv(GL_FRONT_AND_BACK GL_DIFFUSE mat_diffuse);
glMaterialfv(GL_FRONT_AND_BACK GL_SPECULAR mat_specular);
glMaterialfv(GL_FRONT_AND_BACK GL_SHININESS mat_shininess);


glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);//开启移动光源
glEnable(GL_LIGHT1);//开启固定光源
glEnable(GL_DEPTH_TEST);
}

void display()
{

glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

//画台灯底座
glPushMatrix();
glColor3f(0.2 0.8 0.2);
glTranslated(0.0 -20.0 10.0);
glScalef(16.0 1.0 12);
glutSolidCube(2.0);
glPopMatrix();

//画灯杆
//*******************注******************:gluCylinder画圆柱,初试状态沿着-Z轴方向
//灯杆第一段
glPushMatrix();
glColor3f(1.0 1.0 1.0);
glRotatef(90.0 1.0 0.0 0.0);
gluCylinder(objCylinder 1.0 1.0 21.0 100 100);// baseRadiustopRadius height slices stacks
glPopMatrix();

//灯杆第二段
glPushMatrix();
glRotatef(yrot 0.0f 1.0f 0.0f);
glRotatef(zrot 0.0f 0.0f 1.0f);

glColor3f(1.0 1.0 1.0);
glTranslatef(4.0 6.93 0.0);
glRotatef(90.0 1.0 0.0 0.0);
glRotatef(-30.0 0.0 1.0 0.0);
gluCylinder(objCylinder 1.0 1.0 8.0 100 100);// baseRadiustopRadius height slices stacks
glPopMatrix();

//灯杆第三段
glPushMatrix();
glRotatef(yrot 0.0f 1.0f 0.0f);
glRotatef(zrot 0.0f 0.0f 1.0f);

glColor3f(1.0 1.0 1.0);
glTranslatef(4.0 6.93 0.0);
glRotatef(90.0 1.0 0.0 0.0);
glRotatef(90.0 0.0 1.0 0.0);
gluCylinder(objCylinder 1.0 1.0 10.0 100 100);// baseRadiustopRadius height slices

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2014-10-21 07:36  台灯\Debug\
     文件       42496  2014-07-15 13:40  台灯\Debug\台灯.exe
     文件      310136  2014-07-15 13:40  台灯\Debug\台灯.ilk
     文件      535552  2014-07-15 13:40  台灯\Debug\台灯.pdb
     文件        5645  2014-03-18 17:11  台灯\light (2).cpp
     文件        5965  2014-03-18 19:36  台灯\light (3).cpp
     文件        7545  2014-04-01 15:23  台灯\light (4).cpp
     文件        5518  2014-03-18 13:01  台灯\light.cpp
     文件    28442624  2014-07-15 15:12  台灯\台灯.sdf
     文件         885  2014-03-14 09:14  台灯\台灯.sln
     文件       26112  2014-07-15 15:12  台灯\台灯.v11.suo
     目录           0  2014-10-21 07:36  台灯\台灯\
     目录           0  2014-10-21 07:36  台灯\台灯\Debug\
     文件        1382  2014-07-15 13:40  台灯\台灯\Debug\cl.command.1.tlog
     文件        3168  2014-07-15 13:40  台灯\台灯\Debug\CL.read.1.tlog
     文件         912  2014-07-15 13:40  台灯\台灯\Debug\CL.write.1.tlog
     文件       32620  2014-07-15 13:40  台灯\台灯\Debug\light.obj
     文件       25600  2014-10-16 15:18  台灯\台灯\Debug\light.pdb
     文件           2  2014-07-15 13:40  台灯\台灯\Debug\link.3052.read.1.tlog
     文件           2  2014-07-15 13:40  台灯\台灯\Debug\link.3052.write.1.tlog
     文件           2  2014-07-15 13:40  台灯\台灯\Debug\link.3052-cvtres.read.1.tlog
     文件           2  2014-07-15 13:40  台灯\台灯\Debug\link.3052-cvtres.write.1.tlog
     文件           2  2014-07-15 13:40  台灯\台灯\Debug\link.3052-rc.read.1.tlog
     文件           2  2014-07-15 13:40  台灯\台灯\Debug\link.3052-rc.write.1.tlog
     文件           2  2014-07-15 13:40  台灯\台灯\Debug\link.3644.read.1.tlog
     文件           2  2014-07-15 13:40  台灯\台灯\Debug\link.3644.write.1.tlog
     文件           2  2014-07-15 13:40  台灯\台灯\Debug\link.3644-cvtres.read.1.tlog
     文件           2  2014-07-15 13:40  台灯\台灯\Debug\link.3644-cvtres.write.1.tlog
     文件           2  2014-07-15 13:40  台灯\台灯\Debug\link.3644-rc.read.1.tlog
     文件           2  2014-07-15 13:40  台灯\台灯\Debug\link.3644-rc.write.1.tlog
     文件           2  2014-07-15 13:40  台灯\台灯\Debug\link.4124.read.1.tlog
............此处省略62个文件信息

评论

共有 条评论