void myinit(void){
glClearColor(0.8, 0.8, 0.8, 1.0);
glShadeModel(GL_FLAT);
glPointSize(20.0);
}
void drawTriangle(void){
//glLineWidth(5.0);
//glColor3f(1.0, 1.0, 0.0);
//glBegin(GL_LINE_LOOP);
// glVertex2f(50.0, 10.0);
// glVertex2f(150.0, 10.0);
// glVertex2f(10.0, 50.0);
//glEnd();
glColor3f(0.5, 0.6, 0.2);
glRectf(100.0, 100.0, 200.0, 300.0);
}
void display(void){
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0, 1.0, 0.0);
glLineWidth(20.0);
glEnable(GL_LINE_SMOOTH);
glBegin(GL_LINES);
glVertex2f(50.0, 100.0);
glVertex2f(150.0, 150.0);
glEnd();
glDisable(GL_LINE_SMOOTH);
glLineWidth(100.0);
glBegin(GL_LINES);
glVertex2f(50.0, 150.0);
glVertex2f(150.0, 200.0);
glEnd();
glLineWidth(5.0);
glColor3f(1.0, 0.0, 1.0);
glEnable(GL_LINE_STIPPLE);
glLineStipple(1, 0x1C47);
glBegin(GL_LINES);
glVertex2f(250.0, 100.0);
glVertex2f(150.0, 250.0);
glEnd();
glDisable(GL_LINE_STIPPLE);
glColor3f(0.5, 0.6, 0.2);
glRectf(10.0, 30.0, 100.0, 80.0);
drawTriangle();
glTranslatef(200.0, 200.0, 0.0);
//glRotatef(180.0, 0.0, 0.0, 1.0);
glScalef(0.5, 0.5, 0.0);
drawTriangle();
glFlush();
}
void myReshape(GLsizei w, GLsizei h){
glViewport(0, 0, w, h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(0, (GLfloat)w, 0, (GLfloat)h);
glMatrixMode(GL_MODELVIEW);
}
int main(int argc, char *argv[]) {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(400, 400);
glutInitWindowPosition(700, 500);
glutCreateWindow("color");
myinit();
glutReshapeFunc(myReshape);
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
void myinit(void){
glClearColor(0.8, 0.8, 0.8, 1.0);
glShadeModel(GL_FLAT);
}
void display(void){
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0, 1.0, 0.0);
glutWireTeapot(1.0);
glFlush();
}
void myReshape(GLsizei w, GLsizei h){
glViewport(0, 0, w, h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glFrustum(-1.0, 1.0, -1.0, 1.0, 1.0, 10.0);
glMatrixMode(GL_MODELVIEW);
glTranslatef(0.0, 0.0, -2.0);
}
int main(int argc, char *argv[]) {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(400, 400);
glutInitWindowPosition(700, 500);
glutCreateWindow("color");
myinit();
glutReshapeFunc(myReshape);
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
void myinit(void){
glClearColor(0.8, 0.8, 0.8, 1.0);
glShadeModel(GL_FLAT);
}
void display(void){
GLdouble equ0[4] = { 1.0, 0.0, 0.0, 0.0 };
GLdouble equ1[4] = { 1.0, 1.0, 0.0, 0.0 };
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0, 1.0, 0.0);
glClipPlane(GL_CLIP_PLANE0, equ0); //指定切割几何物体平面
glEnable(GL_CLIP_PLANE0);
glClipPlane(GL_CLIP_PLANE1, equ1);
glEnable(GL_CLIP_PLANE1);
glutWireTeapot(1.0);
glFlush();
}
void myReshape(GLsizei w, GLsizei h){
glViewport(0, 0, w, h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
//glFrustum(-1.0, 1.0, -1.0, 1.0, 1.5, 20.0); //透视矩阵
gluPerspective(60.0, (GLfloat)w / (GLfloat)h, 1.0, 20.0);
glMatrixMode(GL_MODELVIEW);
glTranslatef(0.0, 0.0, -3.0);
}
int main(int argc, char *argv[]) {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(400, 400);
glutInitWindowPosition(700, 500);
glutCreateWindow("color");
myinit();
glutReshapeFunc(myReshape);
glutDisplayFunc(display);
glutMainLoop();
return 0;
}