如何在 GLUT 中获得显示功能?

Posted

技术标签:

【中文标题】如何在 GLUT 中获得显示功能?【英文标题】:How to get the display function in GLUT? 【发布时间】:2017-12-18 17:56:17 【问题描述】:

我可以调用 GLUT 函数来获取指向当前 displayFunc 的指针吗?

前:

glutDisplayFunc(0xABC);
glutGetDisplayFunc(); // returns 0xABC

【问题讨论】:

也许我有东西要学。但是,如果您分配了回调,您就会知道它。你想达到什么目的? 就像@lakeweb 建议的那样,显示功能注册是应用程序的责任,创建窗口时没有默认显示功能。您也不能将 NULL 作为显示函数传递,这意味着所有注册的函数都是在应用程序端构造的。你是在侵入一个封闭的代码库还是类似的东西? 哈哈,是的,在完美的世界里这是真的@lakeweb。我正在编写一个 OpenGL 钩子,通过调用 glut 函数来简单地获取 OpenGL 显示函数会非常好。另外,我需要一些在初始化后可以工作的东西(可以挂钩 glutDisplayFunc 并等待它被调用,但这很麻烦)。 如果必须,请使用 GLUT 开源替代方案之一并破解它。我仍然不确定你为什么需要这个。 @BillRichard:你的“OpenGL 钩子”对不使用 GLUT 的程序有什么作用?没有“OpenGL 显示函数”之类的东西,这是一个仅存在于 wrapper 级别的概念(例如 GLUT)。 【参考方案1】:

没有。在glut Api documentaion中可以看到,没有这样的函数来获取当前的回调函数如显示函数。 glut get 函数用于状态检索。

【讨论】:

以上是关于如何在 GLUT 中获得显示功能?的主要内容,如果未能解决你的问题,请参考以下文章

GLUT 无法获得毫秒精度的时间

OpenGL/Glut glutSolidCube()

Mac 上的 OpenGL/GLUT 应用程序无法获得焦点 [关闭]

在 Linux 中使用 glut 调整窗口大小时显示错误

如何使用带有 GLUT 的键盘进行简单的 2D 形状移动

GLUT定时器功能