Week02
STEP01
開啟CODEBLOCK
開專案
打專案名稱 選擇檔案存檔位置
解壓縮freeglut
codeblock選擇freeglut完成>他跑出來就會生成三個神祕圖形
#include <GL/glut.h>
void display()
{
glutSolidTeapot(0.3);
glutSwapBuffers();
}
int main(int argc,char *argv[])
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE| GLUT_DEPTH);
glutCreateWindow("GLUT Shapes");
glutDisplayFunc(display);
glutMainLoop();
}
就會出現神奇白色茶壺喔
STEP02-1
再把程式把改一下
#include <GL/glut.h>
void display()
{
glColor3f(1,1,0);///顏色 黃色
glutSolidTeapot(0.5);///大小
glColor3f(0,1,0);///顏色 綠色
glutSolidTeapot(0.3);///大小
glutSwapBuffers();
}
int main(int argc,char *argv[])
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE| GLUT_DEPTH);
glutCreateWindow("week02");
glutDisplayFunc(display);
glutMainLoop();
}
就會出現兩個茶壺 真的是太神奇了。0.0
STEP02-2
再再把程式碼修改一下
#include <GL/glut.h>
void display()
{
glColor3f(0,1,0);///綠色
glBegin(GL_POLYGON);
glVertex2f(0,1);///上面
glVertex2f(-1,-1);///左下角
glVertex2f(+1,-1);///右下角
glEnd();
glColor3f(1,1,0);
glutSolidTeapot(0.3);
glutSwapBuffers();
}
int main(int argc,char *argv[])
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE| GLUT_DEPTH);
glutCreateWindow("week02");
glutDisplayFunc(display);
glutMainLoop();
}
STEP02-3
再再再把程式碼修改一下
#include <GL/glut.h>
void display()
{
glColor3f(0,1,0);
glBegin(GL_POLYGON);
glColor3f(1,0,0);glVertex2f(0,1);///紅色
glColor3f(0,1,0);glVertex2f(-1,-1);///綠色
glColor3f(0,0,1);glVertex2f(+1,-1);///藍色
glEnd();
glColor3f(1,1,0);
glutSolidTeapot(0.3);
glutSwapBuffers();
}
int main(int argc,char *argv[])
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE| GLUT_DEPTH);
glutCreateWindow("week02");
glutDisplayFunc(display);
glutMainLoop();
}
這樣你就是9ay可以得到彩色的三角形。
STEP02-4
再再再再把程式碼修改很多
#include <GL/glut.h>
#include <math.h>
void mycircle(float r, float x, float y)
{
glBegin(GL_POLYGON);
for(float a=0; a<2*3.141592; a+=0.01)
{
glVertex2f(r*cos(a)+x,r*sin(a)+y);
}
glEnd();
}
void display()
{
glColor3f(233/255.0,141/255.0,128/255.0);
mycircle(0.5,0,0);
glColor3f(1,1,0);
mycircle(0.3,0.5,0.5);
glColor3f(1,0,0);
mycircle(0.3,-0.5,0.5);
glColor3f(0,1,0);
mycircle(0.3,-0.5,-0.5);
glColor3f(0,0,1);
mycircle(0.3,0.5,-0.5);
glutSwapBuffers();
}
int main(int argc,char *argv[])
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE| GLUT_DEPTH);
glutCreateWindow("week02");
glutDisplayFunc(display);
glutMainLoop();
}
這樣竟然就可以得出圓形!!!!!!!!!!!!!!太神奇了!!!!!!!!!!!!!!!!
做出來了彩色正
程式碼:
#include <GL/glut.h>
void display()
{
glColor3f(0,246/255.0,0);
glBegin(GL_POLYGON);
glVertex2f((52-100)/100.0,-(35-100)/100.0);
glVertex2f((135-100)/100.0,-(15-100)/100.0);
glVertex2f((147-100)/100.0,-(27-100)/100.0);
glVertex2f((55-100)/100.0,-(46-100)/100.0);
glEnd();
glColor3f(0,64/255.0,128/255.0);
glBegin(GL_POLYGON);
glVertex2f((111-100)/100.0,-(35-100)/100.0);
glVertex2f((108-100)/100.0,-(176-100)/100.0);
glVertex2f((96-100)/100.0,-(176-100)/100.0);
glVertex2f((90-100)/100.0,-(42-100)/100.0);
glEnd();
glColor3f(255/255.0,128/255.0,128/255.0);
glBegin(GL_POLYGON);
glVertex2f((107-100)/100.0,-(106-100)/100.0);
glVertex2f((144-100)/100.0,-(92-100)/100.0);
glVertex2f((157-100)/100.0,-(102-100)/100.0);
glVertex2f((110-100)/100.0,-(115-100)/100.0);
glEnd();
glColor3f(255/255.0,128/255.0,0);
glBegin(GL_POLYGON);
glVertex2f((172-100)/100.0,-(165-100)/100.0);
glVertex2f((191-100)/100.0,-(181-100)/100.0);
glVertex2f((27-100)/100.0,-(199-100)/100.0);
glVertex2f((9-100)/100.0,-(189-100)/100.0);
glEnd();
glColor3f(252/255.0,208/255.0,3/255.0);
glBegin(GL_POLYGON);
glVertex2f((53-100)/100.0,-(91-100)/100.0);
glVertex2f((67-100)/100.0,-(96-100)/100.0);
glVertex2f((66-100)/100.0,-(181-100)/100.0);
glVertex2f((57-100)/100.0,-(182-100)/100.0);
glEnd();
glutSwapBuffers();
}
int main(int argc,char *argv[])
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE| GLUT_DEPTH);
glutCreateWindow("week02");
glutDisplayFunc(display);
glutMainLoop();
}
沒有留言:
張貼留言