今天一上課照著上一堂課的內容重做一次
到 http://www.cmlab.csie.ntu.edu.tw/~jsyeh/3dcg10/
下載 win32 data socure
在下載一個叫 glut32.dll檔下載下來
把data.zip 跟windows.zip 解壓縮資料夾
把glut32.dll 移進資料夾
開啟shapes.exe就能執行
2.
一樣去載freeglut window檔解壓縮
記得點進去lib裡把裡面libfreeglut.a複製改名freeglut32.a
再來去Codeblock 打開專案 GLUT project
選擇桌面的freeglut位置存檔
執行結果
3.
把專案裡的 main.cpp程式碼全部刪掉
輪到我們自己打程式碼
#include <GL/glut.h>
void display()
{
glutSolidTeapot(0.3);///茶壺圖形(茶壺大小)
glutSwapBuffers();
}
int main(int argc, char **argv)
{
glutInit( &argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("Week03");///視窗名稱
glutDisplayFunc(display);
glutMainLoop();
}
這樣就能出現一個茶壺
在Display 加上glTranslated(X,Y,Z);
但這樣會有BUG 茶壺會變成很多個
所以要加上
glPushMatrix();///備份矩陣保護好glPopMatrix();///還原矩陣保護好
程式碼
#include <GL/glut.h>
void display()
{
glPushMatrix();
glColor3f(1,0,0);
glTranslated(0.3,0.3,0);
glutSolidTeapot(0.3);///茶壺圖形(茶壺大小)
glPopMatrix();
glutSwapBuffers();
}
int main(int argc, char **argv)
{
glutInit( &argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("Week04");///視窗名稱
glutDisplayFunc(display);
glutMainLoop();
}
執行結果
沒有留言:
張貼留言