OpenGL 中glutMouseFunc()函數的使用示例


初學OpenGL,寫了段關於glutMouseFunc函數的示例。新手,代碼寫的不規范的地方請指正。

#include<stdio.h>
#include<GL/glut.h>
void display()
{
glClear(GL_COLOR_BUFFER_BIT);
glPointSize(3);
glBegin(GL_POINTS);
glVertex2i(0,0);
glEnd();
glFlush();
}

void mymouse(int button,int state,int x,int y)
{
if(state==GLUT_DOWN)
{
while(x<500&&y<500){
printf("%d,%d\n",x,y);
glBegin(GL_LINES);
glVertex2i(0,0);
glVertex2i(x-250,250-y);

glVertex2i(x-250,250-y);
glEnd();
glFlush();
x=x+3;
y=y+3;
}}
}
init()
{
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(-250.0,250.0,-250.0,250.0);
}
int main(int argc,char**argv)
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);
glutInitWindowSize(500,500);
glutInitWindowPosition(0,0);
glutCreateWindow("ok");
glutDisplayFunc(display);
glutKeyboardFunc(mykey);
init();
glutMouseFunc(mymouse);
glutMainLoop();
}

隨鼠標的點擊而畫圖,執行效果:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM