◇實作背景貼圖:
1.將freeglut資料夾、OpenCV-2.1.0裝好 (需重開codeblocek)。並開一個新的Glut專案。
2.將OpenCV三個(目錄 / Lib 目錄 / 方法)設定完成。
3.複製上周最後的程式碼 (texture)、下載一張earth.jpg放到freeglut\bin資料夾。
4.利用
glBegin(GL_POLYGON);
glTexCoord2f( 0 , 1); glVertex2f( -1, -1); 左下,記得貼圖是逆時針座標和頂點不一樣
glEnd();
將圖片定位。
◇ 將貼圖貼到圓球:
1.建立一個新專案。
2.新增程式碼:
先設好空指標: GLUquadric * sphere = NULL; ///指標,指到二次曲面
在display()函式:
設貼圖: gluQuadricTexture(sphere,1);///指標,是否開啟
畫圓: gluSphere(sphere, 1 ,30 ,30);
分別為指標, 半徑, 直切(似經度),堆疊(似緯度)
在main()裡:
準備好2次曲面: sphere = gluNewQuadric();
3.使地球可以旋轉:
在display()裡 : glPushMartrix();和glPopMartrix(); 之間加入glRotatef(angle, 0 , 0 , 1);
並設好angle。
在main函式裡放好:
glutIdleFunc(display);///有空idle呼叫display
4.新增: glRotatef(90, 1 , 0 , 0);///把地球轉正,使他能按照赤道旋轉。
在main裡:glEnable(GL_DEPTH_TEST);///開啟深度功能
沒有留言:
張貼留言