#include <GL/glut.h>
int main(int argc, char *argv[])
{
glutInit(&argc, argv);///GLUT開啟
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);///設定顯示
glutCreateWindow("GLUT Shapes");///顯示視窗
glutDisplayFunc(display);///要顯示的函數
glutMainLoop();///用main迴圈告知結束
}
以上複製,用於執行GLUT。
void display()
{
glutSolidTeapot(0.3);///畫實心茶壺,大小0.3
glutSwapBuffers();///GLUT把畫面swap送到顯示的地方
}
大括號內指令可變動。
glColor3f(1,1,0);///黃色
新增顏色。
glBegin(GL_POLYGON);///畫點
glVertex2f(0,1);///頂點1
glVertex2f(-1,-1);///頂點2
glVertex2f(1,-1);///頂點3
glEnd();///結束畫點
glBegin(GL_POLYGON);///畫點
glColor3f(1,0,0);glVertex2f(0,1);///頂點1紅色
glColor3f(0,1,0);glVertex2f(-1,-1);///頂點2綠色
glColor3f(0,0,1);glVertex2f(1,-1);///頂點3藍色
glEnd();///結束畫點
RGB幾何圖形。
Week02-3
給予個頂點一種顏色
Week02-2
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);
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);
glEnd();
glutSwapBuffers();
void myCircle(float r,float x,float y)
{
glBegin(GL_POLYGON);///畫點
for(float a=0;a<2*3.14151926535897933832795088419;a+=0.01)
{
glVertex2f(r*cos(a)+x,r*sin(a)+y);
}
glEnd();///結束畫點
}
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();///GLUT把畫面swap送到顯示的地方
}
沒有留言:
張貼留言