代码1:
#include <GL/glut.h>
void init()
{
glClearColor(1.0, 1.0, 1.0, 0.0); //黑色背景颜色
glMatrixMode(GL_PROJECTION); //正投影
glLoadIdentity();
gluOrtho2D(-100, 100,-100,100);// 可以显示的范围
}
void myPoints()
{
glClear(GL_COLOR_BUFFER_BIT);//背景填充颜色
glPointSize(3);//设置像素大小
glBegin(GL_POINTS); //绘制一个一个的点
glColor3f(1.0, 0.0, 0.0);//红色
glVertex2i(-3, 3); //控制点的坐标
glColor3f(0.0, 1.1, 0.0);
glVertex2i(10, 20);
glColor3f(0.0, 0.0, 1.0);
glVertex2i(0, -15);
glEnd();
glFlush();//缓存推送到屏幕
}
int main(int argc, char* argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
glutInitWindowPosition(200, 300);
glutInitWindowSize(300, 300);
glutCreateWindow("Dispaly Points");
init();
glutDisplayFunc(myPoints);
glutMainLoop();
return 0;
}
结果:
代码2:
#include <GL/glut.h>
//显示线段
void init()
{
glClearColor(1.0, 1.0, 1.0, 0.0); //黑色背景颜色
glMatrixMode(GL_PROJECTION); //正投影
glLoadIdentity();
gluOrtho2D(-10, 20,-10,30);// 可以显示的范围
}
void lines()
{
int p1[] = { 6,4 };
int p2[] = { 1,1 };
int p3[] = { 3,7 };
int p4[] = { 5,1 };
int p5[] = { 0,4 };
glClear(GL_COLOR_BUFFER_BIT);//背景填充颜色
glColor3f(.03, 0.1, 0.8);//红色
glPointSize(3);
//glBegin(GL_POINTS);
glBegin(GL_LINE_LOOP);
glVertex2iv(p1); //控制点的坐标
glVertex2iv(p2);
glVertex2iv(p3);
glVertex2iv(p4);
glVertex2iv(p5);
glEnd();
glFlush();//缓存推送到屏幕
}
int main(int argc, char* argv[])
{
glutInit(&argc, argv);//初始化opengl
glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);//
glutInitWindowPosition(200, 300); //窗口位置
glutInitWindowSize(300, 300); //窗口大小
glutCreateWindow("Lines"); //窗口名称
init();
glutDisplayFunc(lines);
glutMainLoop();
return 0;
}
代码3:
#include <GL/glut.h>
//显示线段
void init()
{
glClearColor(1.0, 1.0, 1.0, 0.0); //黑色背景颜色
glMatrixMode(GL_PROJECTION); //正投影
glLoadIdentity();
gluOrtho2D(-10, 20,-10,20);// 可以显示的范围
}
void polyonTriangle()
{
int p1[] = { 1,3 };
int p2[] = { 3,0 };
int p3[] = { 6,0 };
int p4[] = { 7,3 };
int p5[] = { 6,6 };
int p6[] = { 3,6 };
int p7[] = { 4,8 };
int p8[] = { 5,8 };
glClear(GL_COLOR_BUFFER_BIT);//背景填充颜色
glColor3f(0.6, 0.5, 0.2);//红色
glPointSize(3);
//glBegin(GL_POINTS);
//glBegin(GL_POLYGON); //多边形
//glBegin(GL_TRIANGLES); //三角形
glBegin(GL_QUADS); //四边形
glVertex2iv(p1); //控制点的坐标
glVertex2iv(p2);
glVertex2iv(p3);
glVertex2iv(p4);
glVertex2iv(p5);
glVertex2iv(p6);
glVertex2iv(p7);
glVertex2iv(p8);
glEnd();
glFlush();//缓存推送到屏幕
}
int main(int argc, char* argv[])
{
glutInit(&argc, argv);//初始化opengl
glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);//
glutInitWindowPosition(300, 100); //窗口位置
glutInitWindowSize(600, 500); //窗口大小
glutCreateWindow("polyonTriangle"); //窗口名称
init();
glutDisplayFunc(polyonTriangle);
glutMainLoop();
return 0;
}
结果: