说明

鼠标按下的时候,在屏幕上打点,由于采用的是默认的坐标系,点并不在点击的地方,这个会在稍后的用例中描述


代码

#include <gl/glut.h>

#include <Windows.h>


void myDisplay(void)

{

glClearColor(1.0f, 1.0f, 1.0f, 0.0f);

glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

glFlush();

}


void myMouse(int button,int state,int x,int y)

{

if(state==GLUT_DOWN)

{

glPointSize(20);

glBegin(GL_POINTS);

glColor3f(1.0f, 0.0f, 0.0f);

glVertex2f(1.0f / 800 * x, 1 - 1.0f /480 * y);

glEnd();

glutSwapBuffers();

}

}


int main(int argc, char* argv[])

{

glutInit(&argc, argv);

glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE);

glutInitWindowPosition(200, 200);

glutInitWindowSize(800, 480);

glutCreateWindow("OpenGL 窗口1");

glutDisplayFunc(&myDisplay);

glutMouseFunc(&myMouse);

glutMainLoop();

return 0;

}