資源簡(jiǎn)介
利用openGL 畫(huà)一個(gè)機(jī)器人,加上光照附上材質(zhì)及其相關(guān)運(yùn)動(dòng)~~

代碼片段和文件信息
//本程序?qū)崿F(xiàn)了簡(jiǎn)單機(jī)器人模型
#include
#include
#include
#include
static?float?theta[10]={0};?
float?flagI=1;
void?init(void)
{
GLfloat?mat_specular[]={1.01.00.01.0};
GLfloat?mat_shiness[]={50.0};
GLfloat?light_position[]={?5.05.05.01.0};
GLfloat?light_ambient[]={1.01.00.01.0};
GLfloat?light_diffuse[]={1.01.00.01.0};
GLfloat?light_specular[]={1.00.00.01.0};
glClearColor?(0.0?0.0?0.0?0.0);
glShadeModel(GL_SMOOTH);
glMaterialfv(GL_FRONTGL_SPECULARmat_specular);
glMaterialfv(GL_FRONTGL_SHININESSmat_shiness);
glLightfv(GL_LIGHT0GL_POSITIONlight_position);
glLightfv(GL_LIGHT0GL_AMBIENTlight_ambient);
glLightfv(GL_LIGHT0GL_DIFFUSElight_diffuse);
glLightfv(GL_LIGHT0GL_SPECULARlight_specular);
glClearDepth(?1.0?);
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
glEnable(GL_DEPTH_TEST);
}
//畫(huà)頭
void?head()
{
glPushMatrix();
glTranslatef(0.02.20.0);
glutSolidSphere(0.42016);
glPopMatrix();
}
//畫(huà)肩膀
void?shoulder()
{
glPushMatrix();
glTranslatef(0.01.80.0);
glScalef(2.60.30.5);
glutSolidCube(1.0);
glPopMatrix();
}
//畫(huà)身體
void?base()
{
glPushMatrix();
glRotatef(90.00.00.01.0);
glTranslatef(0.50.00.0);
glScalef(2.01.00.5);
glutSolidCube(1.0);
glPopMatrix();
}
//畫(huà)右上臂
void?right_upper_arm()
{
glPushMatrix();
glTranslatef(1.01.30.0);
glScalef(0.61.00.4);
glutSolidCube(1.0);
glPopMatrix();
}
//畫(huà)右下臂
void?right_lower_arm()
{
glPushMatrix();
glTranslatef(1.00.30.0);
glScalef(0.61.00.5);
glutSolidCube(1.0);
glPopMatrix();
}
//畫(huà)左上臂
void?left_upper_arm()
{
glPushMatrix();
glTranslatef(-1.01.30.0);
glScalef(0.61.00.4);
glutSolidCube(1.0);
glPopMatrix();
}
//畫(huà)左下臂
void?left_lower_arm()
{
glPushMatrix();
glTranslatef(-1.00.30.0);
glScalef(0.61.00.5);
glutSolidCube(1.0);
glPopMatrix();
}
//畫(huà)右上腿
void?right_upper_leg()
{
glPushMatrix();
glRotatef(90.00.00.01.0);
glTranslatef(-1.0-0.50.0);
glScalef(1.00.41.0);
glutSolidCube(1.0);
glPopMatrix();
}
//畫(huà)右下腿
void?right_lower_leg()
{
glPushMatrix();
glRotatef(90.00.00.01.0);
glTranslatef(-2.0-0.50.0);
glScalef(1.00.41.0);
glutSolidCube(1.0);
glPopMatrix();
}
//畫(huà)左上腿
void?left_upper_leg()
{
glPushMatrix();
glRotatef(90.00.00.01.0);
glTranslatef(-1.00.50.0);
glScalef(1.00.41.0);
glutSolidCube(1.0);
glPopMatrix();
}
//畫(huà)左下腿
void?left_lower_leg()
{
glPushMatrix();
glRotatef(90.00.00.01.0);
glTranslatef(-2.00.50.0);
glScalef(1.00.41.0);
glutSolidCube(1.0);
glPopMatrix();
}
void?display(void)
{
glClear?(GL_COLOR_BUFFER_BIT?|?GL_DEPTH_BUFFER_BIT);
????glEnable(GL_NORMALIZE);
//處理身體旋轉(zhuǎn)
glRotatef(theta[0]0.01.00.0);
shoulder();
base();
//處理頭旋轉(zhuǎn)
glPushMatrix();
glRotatef(theta[1]0.01.00.0);
head();
glPopMatrix();
//處理右上臂與右下臂的旋轉(zhuǎn)
glPushMatrix();
glTranslatef
?屬性????????????大小?????日期????時(shí)間???名稱(chēng)
-----------?---------??----------?-----??----
?????文件???????5561??2009-05-27?12:32??光照機(jī)器人\aa.cpp
?????文件???????3353??2009-05-31?23:45??光照機(jī)器人\aa.dsp
?????文件????????512??2009-05-31?23:53??光照機(jī)器人\aa.dsw
?????文件??????50176??2009-05-31?23:53??光照機(jī)器人\aa.ncb
?????文件??????48640??2009-05-31?23:53??光照機(jī)器人\aa.opt
?????文件???????1220??2009-05-31?23:46??光照機(jī)器人\aa.plg
?????文件?????196776??2009-05-31?23:46??光照機(jī)器人\Debug\aa.exe
?????文件?????216068??2009-05-31?23:46??光照機(jī)器人\Debug\aa.ilk
?????文件??????29485??2009-05-31?23:46??光照機(jī)器人\Debug\aa.obj
?????文件????3677444??2009-05-31?23:46??光照機(jī)器人\Debug\aa.pch
?????文件?????369664??2009-05-31?23:46??光照機(jī)器人\Debug\aa.pdb
?????文件?????140288??2009-05-31?23:53??光照機(jī)器人\Debug\vc60.idb
?????文件??????77824??2009-05-31?23:46??光照機(jī)器人\Debug\vc60.pdb
?????目錄??????????0??2009-05-31?23:46??光照機(jī)器人\Debug
?????目錄??????????0??2009-05-31?23:53??光照機(jī)器人
-----------?---------??----------?-----??----
??????????????4817011????????????????????15
評(píng)論
共有 條評(píng)論