資源簡介
opengl開發(fā)的臺燈,上下左右控制臺等角度,是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);
//設(shè)置光源屬性:環(huán)境光、鏡面光、散色光
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);
//固定光源初始化?默認(rèn)光源位置是?(不要刪)
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);
//設(shè)置材料屬性:鏡面光、散色光、環(huán)境光
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畫圓柱,初試狀態(tài)沿著-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\li
?????文件???????????2??2014-07-15?13:40??臺燈\臺燈\Debug\li
?????文件???????????2??2014-07-15?13:40??臺燈\臺燈\Debug\li
?????文件???????????2??2014-07-15?13:40??臺燈\臺燈\Debug\li
?????文件???????????2??2014-07-15?13:40??臺燈\臺燈\Debug\li
?????文件???????????2??2014-07-15?13:40??臺燈\臺燈\Debug\li
?????文件???????????2??2014-07-15?13:40??臺燈\臺燈\Debug\li
?????文件???????????2??2014-07-15?13:40??臺燈\臺燈\Debug\li
?????文件???????????2??2014-07-15?13:40??臺燈\臺燈\Debug\li
?????文件???????????2??2014-07-15?13:40??臺燈\臺燈\Debug\li
?????文件???????????2??2014-07-15?13:40??臺燈\臺燈\Debug\li
?????文件???????????2??2014-07-15?13:40??臺燈\臺燈\Debug\li
?????文件???????????2??2014-07-15?13:40??臺燈\臺燈\Debug\li
............此處省略62個文件信息
評論
共有 條評論