eclipse c ++ debug:gl_draw没有可用的源代码

时间:2016-07-31 13:55:07

标签: c++ eclipse opengl glut fltk

代码用于加载.obj文件,绘制,围绕网格旋转相机(这是正在进行的),并在单击鼠标按钮时显示旋转值。我正在使用带有FLTK的eclipse C ++ IDE。单击鼠标按钮时,窗口崩溃。调试时的错误消息是"没有源可用于gl_draw"。

代码如下:

    void onMouseButton(int button, int state, int x, int y)
{
    switch(button){
    case GLUT_LEFT_BUTTON:
        if (state == GLUT_DOWN){
            // Print value on object
            char s[40];
            sprintf(s, "ROT=%.2f", g_rotation);
            glRasterPos2f(60,40);
            gl_draw(s, strlen(s));

        }
    }
}

主要代码:

int main(int argc, char **argv)
{

    Fl_Window win(WIDTH,HEIGHT, "Wavefront");
    win.resizable(win);
    win.show(argc, argv);
    // Docs say to add glut subwindow /after/ calling win.show()
    win.begin();
    // initialize and run program
    //glutInit(&argc, argv);                                      // GLUT initialization
            glutInitWindowSize(WIDTH-20, HEIGHT-20);
            glutInitWindowPosition(10,10); // place inside parent window
            glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH | GLUT_MULTISAMPLE);
            glutCreateWindow("Ear");
            glutDisplayFunc(display);                                   // register Display Function
            glutIdleFunc( display );                                    // register Idle Function
            glutMouseFunc( onMouseButton );
            glutKeyboardFunc( keyboard );                               // register Keyboard Handler
            initialize();
            obj.Load("Ear_obj.obj");
             //gl_draw(s, strlen(s));
            glutMainLoop();
    win.end();// run GLUT mainloop
    return 0;
}

如果gl_draw(s,strlen(s));删除代码按预期运行,因此加载网格,绘制它,在相机旋转时显示网格,但如果单击鼠标则不执行任何操作。 是单击鼠标时显示任何文本的方法,还是缺少导致错误的步骤?

0 个答案:

没有答案