2024年6月3日 星期一

week16 Tina

week 16

先用上課的課本教材   https://jsyeh.org/3dcg10/
1. data.zip
2.windows.zip=>下載\windows\Projection.exe
了解 glutLookAt(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_sample_gluLookAt

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


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

我們的眼睛:(0,0,0)

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

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


我們要注入的函式,是

glutReshapeFunc(resize);

void resize(int width, int height)

{

...

gluLookAt(0,0,0, -2.4,1.2,-6, 0,1,0);

}


##week16-2_teapot_glutLookAt_glutReshapeFunc_reshape

1.File-New-Project,GLUT專案

week16-2_teapot_glutLookAt_glutReshapeFunc_reshape

2.貼上11行GLUT的程式

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


課本教學:

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

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


寫程式,在int main()裡

glutReshapeFunc(resize);

在前面,準備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);

    glLodeIdentity();

}

、、、


##week16-3_myTexture_id1_id2_glBindTexture

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

1.新增專案,File-New-Project,GLUT專案 week16-3_myTexture_id1_id2_glBindTexture

2.貼上11行的GLUT程式,再貼上week05-2的程式







沒有留言:

張貼留言