将1个参数(指针)传递给glutDisplayFunc?

use*_*501 5 c++ opengl glut

我已经使用基本的draw()方法创建了一个虚拟类,该类没有任何作用。这样做的目的是,可以在OpenGL中绘制自身的其他类,形状和其他内容将继承该虚拟类,从而使我可以创建指向许多不同类的指针数组。其背后的想法是,我希望能够将指向该数组的指针传递到我的glutDisplayFunc回调中。(这恰好名为drawScene()。不幸的是,我似乎无法将任何内容传递给它,因为glutDisplayFunc设计为采用不带参数且不返回任何值的方法。

有什么方法可以将参数传递给回调函数,然后有什么方法可以将指针传递给我的drawScene函数吗?

(TLDR?请参见下文。)

本质上,我希望能够做到这一点:

class a{ ... };
void drawScene( a** a_array_pointer){ ... }
glutDisplayFunc(drawScene); // <-- How do I pass an argument into this?
Run Code Online (Sandbox Code Playgroud)

Som*_*ude 0

不幸的是这是不可能的。glutDisplayFunc想要一个指向没有参数的函数的指针。请参阅手册页