# week12-1_obj_gundam_hand1_hand2
準備工作
0. 安裝freeglut , 把lib\libfreeglut.a 複製成 libglut32.a
1. 安裝OpenCV ,要勾 Add PATH , 然後重開CodeBlocks
2.在CodeBlocks Setting-Compiler 加入三個設定:
-Search directories 的 compiler要設定 C:\OpenCV2.1\include
-Search directories 的 linker要設定 C:\OpenCV2.1\lib
-Linker setting 要加入 cv210 , cxcore210, highgui210
再把week11-3_obj_gundam_hand1_hand2 複製到桌面並改檔名week12-1_obj_gundam_hand1_hand2
float angle=0;
void display()
{
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
glutSolidSphere(0.1,30,30);
glPushMatrix();///加入旋轉
///glRotatef(angle++,0,1,0);
glRotatef(angle++,0,0,1);
glTranslatef(0,-0.3,0);
glScalef(0.3, 0.3, 0.3);
drawhand1();
glPopMatrix();
glutSwapBuffers();
}
#week12-2_obj_gundam_upper_lower_hand
要多宣告2顆指標
GLMmodel * upper = NULL;
GLMmodel *lower = NULL;
再把drawmodel()複製兩份, 分別叫void drawUpper()...和drawLower()... 裡面的pmodel 都改成 upper 或lower
用MAYA裁出上手臂跟下手臂,檔案格式要選OBJExport
#week12-3_obj_gundam_body_upper_lower
用MAYA 切出 Gundam 身體
程式碼加上 GLMmodel *body =NULL;
程式要加上
void keyboard(unsigned char key, int x , int y){
if (key=='0') angleID = 0 ;
if (key=='1') angleID = 1 ;
if (key=='2') angleID = 2 ;
if (key=='3') angleID = 3 ;
}
void motion(int x, int y){
angle[angleID] = y;
}
再於 main() 裡,註冊 glutKeyboardFunc(keyboard) 和 glutMotionFunc(motion)
前面的 float angle = 0;
改用陣列來做事 float angle[20];
int angle=0;
最後,把display()裡,改成angle[0] 和angle [1]
# 上傳github
沒有留言:
張貼留言