第一個程式
1.開啟codeblocks 17.12
2.file => new => project 開啟GLUT project
3.點選點點點選擇桌面 將檔名改成week02_GLUT_first
下載葉老師上課用軟體freeglut壓縮檔
將裡面的freeglut檔案複製到桌面
再將裡頭lib的libfreeglut.a複製並貼上
將複製的改檔名為libglut32.a
再改幾行程式碼(改顏色)
將原綠茶壺改成多邊形三角形
再變更後面多邊形的顏色
第二個程式
#include <GL/glut.h>
void display()
{
glColor3f(247/255.0,247/255.0,247/255.0);
glBegin(GL_POLYGON);///開始畫多邊形
glVertex2f( 1, 1 );
glVertex2f( -1, 1 );
glVertex2f( -1,-1 );
glVertex2f( 1,-1 );///頂點Vertex
glEnd();///結束畫
glColor3f(244/255.0,209/255.0,33/255.0);
glBegin(GL_POLYGON);///開始畫多邊形
glVertex2f( (45-100)/100.0, -(134-100)/100.0);
glVertex2f( (36-100)/100.0, -(171-100)/100.0 );
glVertex2f( (108-100)/100.0, -(179-100)/100.0 );
glVertex2f( (104-100)/100.0, -(117-100)/100.0 );
///口訣:減一半,除一半,y變負號
glEnd();///結束畫
glutSwapBuffers();///step01-1請GLUT把畫面swap送到顯示的地方
}
int main(int argc, char *argv[])
{ ///上面是特別的main()函式 有很多參數
glutInit(&argc, argv);///把GLUT開起來
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);///這行把顯示的模型設定
glutCreateWindow("GLUT Shapes");///要開視窗
glutDisplayFunc(display);///要顯示的對應函式
glutMainLoop();///最後用main迴圈,壓在最後面
}
利用第一個程式修修改改生成皮卡丘的黃色小肚肚
先利用小畫家滴管的部分 吸取我要的顏色部分 左下角可看座標 並換算
第三個程式
///week02-3_circle_cos_sin
#include <GL/glut.h>
#include <math.h>///cos() 和 sin()要用
void myCircle(float r,float x,float y)
{
glBegin(GL_POLYGON);///step02-1開始畫多邊形
for(float a = 0; a<2*3.1415926;a+=0.01)
{
glVertex2f( r*cos(a)+x, r*sin(a)+y );
}
glEnd();///step02-1結束畫
}
void display()
{
glColor3f(1,0,1); myCircle( 0.6, 0, 0 );///正中間
glColor3f(1,0,0); myCircle( 0.3, 0.5, 0.5 );///右上角
glColor3f(0,1,0); myCircle( 0.3,-0.5, 0.5 );///左上角
glColor3f(1,1,0); myCircle( 0.3,-0.5,-0.5 );///左下角
glColor3f(0,0,1); myCircle( 0.3, 0.5,-0.5 );///右下角
glutSwapBuffers();///step01-1請GLUT把畫面swap送到顯示的地方
}
int main(int argc, char *argv[])
{ ///上面是特別的main()函式 有很多參數
glutInit(&argc, argv);///把GLUT開起來
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);///這行把顯示的模型設定
glutCreateWindow("GLUT Shapes");///要開視窗
glutDisplayFunc(display);///要顯示的對應函式
glutMainLoop();///最後用main迴圈,壓在最後面
}
五個圓圈圈出現
當週作業作品


沒有留言:
張貼留言