2024年5月9日 星期四

Bai's-電腦圖學-Week12

#week12-1_glm_gundam_handA_handB

先設定好環境
1.freeglut
2.安裝openCV2.1 add PATH, C:\OpenCV2.1目錄
3.重開CB,Setting-Compiler,3個設定

-Search directiories的 Compiler 對應
C:\OpenCV2.1\include
-Search directiories的 Linker 對應
C:\OpenCV2.1\lib
-Linker setting 要加 cv210 cxcore highgui210


再把GitHub 的程式下載 (兩種下載法 1.Git指令 2. Download )
再把Week11-2_glm_gundam_opencv_texture_lighting 拿來改
1.week11-2複製目錄,改名為week12-1_glm_gundam_handA_handB
2.用,cbp檔改檔名為week12-1_glm_gundam_handA_handB.cbp
3.用Notepad++開.cbp檔,Title為 week12-1_glm_gundam_handA_handB 並把對應目錄改好
4.CBs File-Open week12-1_glm_gundam_handA_handB

要修改的程式: 今天考試的T-R-T 設定正確
技巧1:把擋住的,註解掉.把旋轉,註解掉
技巧2:把用來對照的座標原點 , 用gluySolidSphere(0.1, 30, 30)



-兩隻旋轉手臂

void display()
{
    glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
    glDisable(GL_TEXTURE_2D);
    ///myBody(); (先註解掉)
    glutSolidSphere(0.1, 30, 30); ///灰色的圓球
    glEnable(GL_TEXTURE_2D);
    glColor3f(1,1,1);

    glPushMatrix(); ///加這行, 讓它轉動
        glTranslatef(0.3, 0.3, 0);
        glRotatef(angle++, 0, 0, 1); ///(2)對z轉
        glTranslatef(0, -0.3, 0); ///(1)把旋轉軸,放在正中心
        drawHandB(); //drawmodel(); //glutSolidTeapot( 0.3 );
    glPopMatrix(); ///加這行, 讓它轉動

    glPushMatrix(); ///加這行, 讓它轉動
        glTranslatef(-0.3, 0.3, 0);
        glRotatef(-angle++, 0, 0, 1); ///(2)對z轉
        glTranslatef(0, -0.3, 0); ///(1)把旋轉軸,放在正中心
        drawHandA(); //drawmodel(); //glutSolidTeapot( 0.3 );
    glPopMatrix(); ///加這行, 讓它轉動

    glutSwapBuffers();
}

#week12-2_glm_gundam_upper_lower


要把上下手臂,切好,讀入
事先準備:開啟Maya,把handA.obj 讀入, 切割出 upper.obj 和 lower.obj
再把week12-1_glm_gundam_handA_handB 拿來改
1.week12-1複製目錄,改名為week12-2_glm_gundam_upper_lower
2.用,cbp檔改檔名為week12-2_glm_gundam_upper_lower.cbp
3.用Notepad++開.cbp檔,Title為 week12-2_glm_gundam_upper_lower 並把對應目錄改好

加程式
```cpp
GLModel * uppperA = NULL;
GLModel * lowerA = NULL;
```

再把void drawHandA() 複製成 void drawUppperA() ,   void drawUppperB()  


#week12-3_glm_gundam_keyboard_angleID_mouse_motion_angle





沒有留言:

張貼留言