http://www.cmlab.csie.ntu.edu.tw/~jsyeh/3dcg10/
2..將window.zip解壓縮到window資料夾,複製glut32.dll到window資料夾裡
並打開Transformation.exe執行檔
3.3.先開啟freeglut windows網站然後下載Download freeglut 3.0.0 for MinGW
然後解壓縮然後打開lib資料夾,複製貼上libfreeglut.a,把複製的改名為libglut32.a
4.打開codeblack先建一個glut然後開啟執行
(然後把這些程式碼刪光光!😆)
5.以用滑鼠讓水壺移動
(藍色=解釋 紅色=新教 黃色=重點)
#include <GL/glut.h>
float x=0,y=0; ///重點在滑鼠
void display()
{
glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );///清畫面
glPushMatrix(); ///要把座標換算正確,(x-中間點)/最大值.0
glTranslatef(x-150)/150.0,-(y-150)/150.0,0);///位移
glutSolidTeapot(0.3);///實心茶壺
glPopMatrix();///還原矩陣,保護好
glutSwapBuffers();///交換buffer顯示
}///glut開頭,表示是GLUT的程式
void motion(int nowx, int nowy)
{
x=nowx; y=nowy; ///更新x,y
display();///再畫display(),畫面會更新,他就會跟著你動
}
int main(int argc, char**argv)
{
glutInit(&argc, argv); ///初始化GLUT功能Init是初始化
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH); ///開機有深度不會閃爍GLUT_DEPTH ->可以用出3D
glutCreateWindow("我是蘇珺心的第一個程式"); ///顯示一個視窗
glutDisplayFunc(display);///呼叫上面的display
glutMotionFunc(motion);///執行上面的motion
glutMainLoop();///迴圈
}
6.以用滑鼠讓水壺轉動
(藍色=解釋 紅色=新教 黃色=重點)
#include <GL/glut.h>
float x=0,y=0; ///重點在滑鼠
void display()
{
glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );///清畫面
glPushMatrix(); ///要把座標換算正確,(x-中間點)/最大值.0
/* glTranslatef(x-150)/150.0,-(y-150)/150.0,0);///位移*/ (把這行改掉!)
glRotatef( 45,x,y,30);///旋轉 (加入這行)
glutSolidTeapot(0.3);///實心茶壺
glPopMatrix();///還原矩陣,保護好
glutSwapBuffers();///交換buffer顯示
}///glut開頭,表示是GLUT的程式
void motion(int nowx, int nowy)
{
x=nowx; y=nowy; ///更新x,y
display();///再畫display(),畫面會更新,他就會跟著你動
}
int main(int argc, char**argv)
{
glutInit(&argc, argv); ///初始化GLUT功能Init是初始化
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH); ///開機有深度不會閃爍GLUT_DEPTH ->可以用出3D
glutCreateWindow("我是蘇珺心的第一個程式"); ///顯示一個視窗
glutDisplayFunc(display);///呼叫上面的display
glutMotionFunc(motion);///執行上面的motion
glutMainLoop();///迴圈
}
7.
沒有留言:
張貼留言