Shape 參數用法:
Loop //迴圈
fan //扇形
quad //四邊形
polygon //多邊形
課堂作業(二)
程式碼:
#include<GL/glut.h>
void display()
{
glBegin(GL_POLYGON);
glColor3ub(174,238,238);
glVertex3f(0,0,0);
glVertex3f(1,1,0);
glVertex3f(0,-1,0);
glEnd();
glutSwapBuffers();
}
int main(int argc,char**argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE|GLUT_DEPTH);
glutCreateWindow("hi");
glutDisplayFunc(display);
glutMainLoop();
}
課堂作業(三)
小畫家查詢Color 座標方法
課堂作業(四)
程式碼:
#include<GL/glut.h>
#include<stdio.h>
void mouse(int button, int state, int x, int y)
{
if(state==GLUT_DOWN)
printf("glVertex3f((%d-150)/150.0,-(%d-150)/150.0,0.0);\n",x,y); //用mouse找出座標位置
}
void display()
{
glClear(GL_COLOR_BUFFER_BIT);
glClearColor(230/255.0,243/255.0,211/255.0,0.5);
glBegin(GL_POLYGON);
glColor3ub(42,101,7);
glVertex3f((28-150)/150.0,-(65-150)/150.0,0.0);
glVertex3f((27-150)/150.0,-(110-150)/150.0,0.0);
glVertex3f((44-150)/150.0,-(143-150)/150.0,0.0);
glColor3ub(169,205,95);
glVertex3f((75-150)/150.0,-(160-150)/150.0,0.0);
glVertex3f((104-150)/150.0,-(166-150)/150.0,0.0);
glVertex3f((112-150)/150.0,-(168-150)/150.0,0.0);
glVertex3f((110-150)/150.0,-(133-150)/150.0,0.0);
glVertex3f((77-150)/150.0,-(85-150)/150.0,0.0);
glEnd();
glBegin(GL_POLYGON);
glVertex3f((113-150)/150.0,-(152-150)/150.0,0.0);
glVertex3f((134-150)/150.0,-(98-150)/150.0,0.0);
glVertex3f((165-150)/150.0,-(74-150)/150.0,0.0);
glVertex3f((179-150)/150.0,-(66-150)/150.0,0.0);
glVertex3f((197-150)/150.0,-(63-150)/150.0,0.0);
glColor3ub(42,101,7);
glVertex3f((206-150)/150.0,-(94-150)/150.0,0.0);
glVertex3f((197-150)/150.0,-(125-150)/150.0,0.0);
glVertex3f((169-150)/150.0,-(156-150)/150.0,0.0);
glVertex3f((110-150)/150.0,-(174-150)/150.0,0.0);
glEnd();
glBegin(GL_LINE_STRIP);
glColor3ub(114,159,58);
glVertex2f((108-150)/150.0,-(172-150)/150.0);
glVertex2f((98-150)/150.0,-(205-150)/150.0);
glVertex2f((100-150)/150.0,-(237-150)/150.0);
glVertex2f((105-150)/150.0,-(263-150)/150.0);
glEnd();
glutSwapBuffers();
}
int main(int argc,char**argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE|GLUT_DEPTH);
glutCreateWindow("hi");
glutDisplayFunc(display);
glutMouseFunc(mouse);
glutMainLoop();
}
執行結果:
沒有留言:
張貼留言