2024年4月15日 星期一

week09電腦圖學

 # week09



##week09-0_sample

0:安裝freeglut,將lib\libfreeglut.lib複製成libglut32.a

1:File-New-Project,glut專案,Week09-0-sample


##程式碼重新再利用

1:將github上周的程式clone下來(先有程式碼)

2:確認環境沒有問題

3:專安的設定是否需要修改

## week09-1-gundam-texture-lighting-rotate

想把上上周week07的程式專案拿來用,但是,小心!步驟有點不一樣....

#week09

##week09-0_sample

0.安裝freeglut, 將libfreeglut.lib複製成libglut32.a

1.FILE-NEW-PROJECT, GLUT專案,week09_sameple

##程式碼重新再利用

1.將上週的程式 github clone下來

    -在小黑git bash 裡面指令:

    -cd desktop (先進入桌面)

    -git clone : https://github.com/LAITING20030925/2024graphicsb

    -cd 2024graphicsb

    -start.

2.確認環境沒問題

    -安裝openCV要勾Add PATH, 裝在預設目錄

    -setting-compiler裡,要把 openCV的三個設定設好

    -上方第三個分頁 search directories 裡

        -compiler 加 C:\OpenCV2.1\include

        -Linker加 C:\OpenCV2.1\lib

     -上方第二個分頁 Linker Setting

         -cv210 cxcore210 highgui210

     -重新開啟coldblocks ,start 開始頁裡,有剛剛wek09-0_sample先點他

3.專案的設定是否需要修改


##開啟上週week07-1_obj_gundam_opevcv_texture

1.File-Open 點選剛剛git下載的WEEK07

2.選week07-2_obj_gundam_opevcv_texture

3.build&Run 看他執行成功了!




##week09-1_gundam_texture_lighting_rotate_lighting

0. 剛前一個目錄 week07-2_obj_gundam_opencv_texture整個copy 

1.再用notepad++ 開啟week09-1_obj_gundam_opencv_texture_lighting 目錄裡的.cbp檔

2.把打光的8行 貼在int main()前面

3.把打光的12+2行函式,貼到glutMainLoop()前面

4.glmDraw(pmodel,GLM_SMOOTH|GLM_TEXTURE)要刪掉中間的GLM_MATERIAL


為了讓畫面好看一點、打光澤亮、模型旋轉、我們做幾個修改

1.改變光的位置

const GLfloat light_position[] = { 2.0f, 5.0f, -5.0f, 0.0f };

2.在display()加入旋轉

float angle=0;

void display()

{

    glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);

    glPushMatrix();

        glRotatef(angle++,0,1,0);

    drawmodel(); ///glutSolidTeapot( 0.3 );

    glPopMatrix();

    glutSwapBuffers();

}

int main(...)

{...

    glutIdleFunc(display);///加入旋轉

...}



##week09-2_glutSolidCube_glutSolidTeapot_glutSolidSphere

1.File-New-Project, GLUT專案

2.加入11行 GLUT程式

3.



##week09-3_glutWireCube_glutWireTeapot_glutWire_Sphere

1.File-New-Project, GLUT專案 ,week09-3_glutWireCube_glutWireTeapot_glutWire_Sphere

2.直接貼上week09-2程式碼

3.剛display()裡有3段實心的程式碼



沒有留言:

張貼留言