先安裝openCV,CodeBlocks要重開 要改環境Search directories->Compiler 增加 C:\OpenCV2.1\include Search directories->Linker 增加 C:\OpenCV2.1\lib
Linker settings-> 增加 cv210、cxcore210、highgui210
windows.zip,data.zip 解壓縮,解壓縮後把data丟到windows
week16-1_sample_giuLookAt
gluLookAt(0,0,0, -2.4, 1.2, -6, 0, 1, 0);加上這行程式碼可以往那個地方看,相機照的位置
if(key=='1'){
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(0,0,0, -2.4, 1.2, -6, 0, 1,0);
}
if(key=='1'),用鍵盤1,2,3改相機的位置
week16-2_glutReshapeFunc_g;uPerspective_gluLookAt
gluPerspective 透視投影
glOrtho 垂直投影
glFrustum 比較奇怪,我們通常不用它的投影法
左,上,又,下,近,遠共六種參數
fovy field of view in y視角 aspect ratio 長寬比
我們將要寫個程式,11行+8行,做出透視
改變視窗不會讓裡面得物體比例改變
void reshape(int w,int h){
glViewport(0,0,w,h);///設定視窗會看到的區域
float ar = w / (float) h;///長寬比,寬常比
glMatrixMode(GL_PROJECTION);///切換投影矩陣
glLoadIdentity();
gluPerspective(60,ar,0.01,100);///透視投影
glMatrixMode(GL_MODELVIEW);///切換model view矩陣
glLoadIdentity();
gluLookAt(0,0,-2, 0, 0, 0, 0,1,0);
}
week16-3_myTexture_id1_id2_glBindTexture
想要有[兩張貼圖](一張背景,一張給模型)
glBindTexture(GL_TEXTURE_2D,id2);///舞台背景
glBegin(GL_POLYGON);
glTexCoord2f(0,0); glVertex2f(-1,+1);
glTexCoord2f(0,1); glVertex2f(-1,-1);
glTexCoord2f(1,1); glVertex2f(+1,-1);
glTexCoord2f(1,0); glVertex2f(+1,+1);
glEnd();
glBindTexture(GL_TEXTURE_2D,id1);///地球
glmScale(pmodel,1.0/24);一行就可以縮放一個比例




沒有留言:
張貼留言