zoukankan      html  css  js  c++  java
  • OpenGL鼠标点击事件

    #include <windows.h>    // Windows的头文件

    #include <gl\gl.h> // OpenGL32库的头文件
    #include <gl\glu.h> // GLu32库的头文件
    #include <gl\glaux.h> // GLaux库的头文件
    #include <gl\glut.h> // Glut库头文件

    #pragma comment( lib, "opengl32.lib") // OpenGL32连接库
    #pragma comment( lib, "glu32.lib") // GLu32连接库
    #pragma comment( lib, "glaux.lib") // GLaux连接库
    #pragma comment( lib, "glut.lib") // Glut链接库

    int screenWidth=640;
    int screenHeight=480;

    void myInit()
    {
    glClearColor(1.0,1.0,1.0,0.0); //设置背景颜色为亮白
    glColor3f(0.0f,0.0f,0.0f); //设置绘图颜色为黑色
    glPointSize(4.0); //设置点的大小为4*4像素
    glMatrixMode(GL_PROJECTION); //设置合适的矩阵
    glLoadIdentity();
    gluOrtho2D(0.0,screenWidth,0.0,screenHeight);

    }

    void drawDot(int x,int y)
    {
    glBegin(GL_POINTS);
    glVertex2i(x,y); //画一些点
    glEnd();

    }

    void myMouse(int button,int state,int x,int y)
    {
    if(state==GLUT_DOWN)
    {
    if(button==GLUT_LEFT_BUTTON)
    {
    drawDot(x,screenHeight-y);
    glFlush();
    }
    else if(button==GLUT_RIGHT_BUTTON)
    {
    glClearColor(1.0f,0.0f,0.0f,0.0f);
    glClear(GL_COLOR_BUFFER_BIT);
    glFlush();

    }

    }
    return;
    }


    void myDisplay()
    {
    glClear(GL_COLOR_BUFFER_BIT); //清屏
    glBegin(GL_POINTS);
    glVertex2i(100,50); //画一些点
    glVertex2i(100,130);
    glVertex2i(150,130);
    glVertex2i(320,240);
    glEnd();
    glFlush(); //送所有输出到显示设备
    }

    void main(int argc, char **argv)
    {
    glutInit(&argc,argv); //初始化工具包
    glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);//设置显示模式
    glutInitWindowSize(640,480); //设置窗口大小
    glutInitWindowPosition(100,150); //设置窗口在屏幕上的位置
    glutCreateWindow("my first attempt"); //打开屏幕窗口

    //注册回调函数
    glutDisplayFunc(myDisplay);
    glutMouseFunc(myMouse);

    myInit();
    glutMainLoop(); //进入循环
    }
  • 相关阅读:
    jquery使用
    网站重构?
    WEB应用从服务器主动推送Data到客户端有那些方式?
    异步加载和延迟加载?
    平时如何管理你的项目?
    对前端界面工程师这个职位是怎么样理解的?它的前景会怎么样?
    约定优于配置(convention over configuration)
    JavaEE的13种核心技术
    The Spring Framework ConfigurableListableBeanFactory.java
    mySQL的boolean类型为tinyint(1)
  • 原文地址:https://www.cnblogs.com/tiandsp/p/2328781.html
Copyright © 2011-2022 走看看