引用的包【不出错版】以及主方法调用glut库的编写:
写init()方法:
void init(){
//rgb都是1,黑色背景颜色
glClearColor(1.0,1.0,1.0,0.0);
//正投影方式
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
//显示的范围,超过部分不会显示出来
gluOrtho2D(-100,100,-100,100);
}
myPoints函数,记得传给回调函数;
void myPoints(){
//调用后背景不会显色;
glClear(GL_COLOR_BUFFER_BIT);
//每个点占3个像素
glPointSize(3);
//说明画的是点
glBegin(GL_POINTS);
//三个浮点数定颜色:red
glColor3f(1.0,0.0,0.0);
//位置顶点参数用int表示
glVertex2i(-3,3);
glColor3f(0.0,1.0,0.0);
glVertex2d(10,20);
glColor3f(0.0,0.0,1.0);
glVertex2i(0,-15);
glEnd();
//将缓存推送到屏幕上
glFlush();
}
效果图:
所有代码:
#define _WCHAR_T_DEFINED
#define _STDCALL_SUPPORTED
#include <GL/glut.h>
#include <GL/gl.h>
#include <stdlib.h>
void myPoints(){
//调用后背景不会显色;
glClear(GL_COLOR_BUFFER_BIT);
//每个点占3个像素
glPointSize(3);
//说明画的是点
glBegin(GL_POINTS);
//三个浮点数定颜色:red
glColor3f(1.0,0.0,0.0);
//位置顶点参数用int表示
glVertex2i(-3,3);
glColor3f(0.0,1.0,0.0);
glVertex2d(10,20);
glColor3f(0.0,0.0,1.0);
glVertex2i(0,-15);
glEnd();
//将缓存推送到屏幕上
glFlush();
}
void init(){
//rgb都是1,黑色背景颜色
glClearColor(1.0,1.0,1.0,0.0);
//正投影方式
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
//显示的范围,超过部分不会显示出来
gluOrtho2D(-100,100,-100,100);
}
//主方法,格式是固定的
//调用glut库
int main(int argc,char* argv[]){
glutInit(&argc,argv);
//RGB显示模式
glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
//显示位置,靠右x大靠下y大
glutInitWindowPosition(200,300);
//窗口大小
glutInitWindowSize(300,300);
//会显示窗口名字诶
glutCreateWindow("Display Points");
//init是需要自己写的方法
init();
//回调函数
glutDisplayFunc(myPoints);
glutMainLoop();
//因为主方法需要有返回值
return 0;
}