2024年6月3日 星期一

Sean的電腦圖學日誌 week16

上課教材https://jsyeh.org/3dcg10/


1.data.zip

2.windows.zip=>下載\windows\Projection.exe


了解gluLookAt(eyeX, eyeY, eyeZ, centerX, centerY, centerZ, upX, upY, upZ);


##week16-0_sample

0.安裝freeglut

1.安裝OpenCV2.1

2.重開CodeBlocks,設定opencv的3個設定

3.File-New-Project, GLUT專案 week16-0_sample


##week16-1_sample_gluLookAt

1.把剛剛week16-0整個目錄,複製成week16-1

2.複製改名、改.cbp專案檔名,用Notepad++改內容


要修改的程式碼, 是想要Look At 看著某個物體


我們的眼睛:0,0,0

要看的主角center:-2.4,1.2,-6

我們的up向量:0,1,0


我們要注入的函式,是

glutReshapeFunc(resize);





#week16-2_teapot_gluLookAt_gluReshapeFunc_reshape

1.File-New-Project,GLUT專案

week16-2_teapot_gluLookAt_gluReshapeFunc_reshape

2.貼上11行GLUT的程式

3.看課本的教學,了解glutReshapeFunc(reshape);怎麼用


課本教學:

gluOrhto(左,右,下,上,近,遠);

gluPerspective(張角,長寬比,近,遠);

gluFrustum(左,右,下,上,近,遠);


寫程式, 在int main()裡

glutReshapeFunc(reshape);


在前面,準備void reshape(int w,int h)

'''cpp

void reshape(int w,int h){

    float ar=w/(float) h;

    glViewport(0,0,w,h);

    glMatrixMode(GL_PROJECTION);

    glLoadIdentity();

    gluPerspective(60,ar,0.1,100);

   

    glMatrixMode(GL_MODELVIEW);

    glLoadIdentity();

}

'''



#week16-3_myTexture_id1_id2_glBindTexture

讓程式,可以有2張圖,可以參考week05-2 和 week05-3








沒有留言:

張貼留言