功能:鼠标左击个对焦点画出矩形,鼠标右键清除画布。
就这么简单的鼠标交互,鼠标右键清除缓存的时候,用glFLush()就是实现不了,调试发现就是堵在了if (button == GLUT_RIGHT_BUTTON){}里面。明明是照着书敲的代码,甚至朋友copy我的代码装了环境在他的电脑上跑程序,glFlush()都没问题。云调试到凌晨1点得出结论–我的电脑只能glClearColor(1.0, 1.0, 1.0, 0.0); glClear(GL_COLOR_BUFFER_BIT);glFinish();这样搭配着用
代码如下:
#include <gl/glut.h>
#include<gl/GLU.h>
#include<Windows.h>
#include<math.h>
#include<iostream>
using namespace std;
//鼠标互动
struct GLPoint {
GLint x;
GLint y;
};
//起始点
GLPoint window_point = {
0,0 };
//函数重载
void drawPoint(GLint x,GLint y) {
glBegin(GL_POINTS);
glVertex2i(x, y);
glEnd();
}