c++ - 使用 glutDisplayFunc 绘图 (opengl)

标签 c++ function opengl glut

我有一个显示函数,它显示由两点定义的各种线段:

void display(long total_points, vector<vector<long>> adjmat){
    //stuff here
    glVertex2f(n1,n2);
    glVertex2f(n3,n4);
}

我想在窗口中显示这些片段,我使用 glut 来做到这一点:

int main(int argc, char *argv[]){
    //stuff here
    glutDisplayFunc(display(total_points, adjmat));
    glutMainLoop();
    return EXIT_SUCCESS;
}

我在 glutDisplayFunc() 处遇到错误,无效使用 void 表达式 我需要将一些参数传递给 display() 以获得我想要的输出。

我该如何解决这个问题?

最佳答案

不要将它们作为参数传递,而是作为全局变量传递,函数没有参数,这是过剩的缺点。

long total_points;
vector<vector<long>> adjmat;

void display(){
    //stuff here
    glVertex2f(n1,n2);
    glVertex2f(n3,n4);
}

int main(int argc, char *argv[]){
    //stuff here
    //fill and assign total_points, adjmat
    glutDisplayFunc(display);
    glutMainLoop();
    return EXIT_SUCCESS;
}

关于c++ - 使用 glutDisplayFunc 绘图 (opengl),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28034052/

相关文章:

c++ - 使用 msxml 解析器验证 xml 模式

bash - 解析 bash 中的 getopt

javascript - 为什么我使用参数调用函数和Javascript中通过()调用函数的输出不同?

c++ - QtOpenGL 加载带有QImage纹理的obj格式

opengl - OpenCL 或 OpenGL – 使用哪一个?

c++ - 如何通过另一个变量的相对值来确定一个变量?

C++ 外部枚举

opengl - 3D场景图遍历问题

c++ - 不使用 pkill 优雅退出程序的最佳方法

php - PHP函数中的mysql函数