c++ - 无论我使用什么输入/窗口处理程序,OpenGL 代码都可以工作吗?

标签 c++ opengl compatibility glut glfw

我正在学习使用特定输入/窗口处理程序(即 GLUT、GLFW)的 OpenGL 教程,但由于平台问题,我无法使用该处理程序。尽管我使用了不同的输入处理程序,但我能否使用教程中的确切代码?是否必须修改 OpenGL 代码才能使用不同的处理程序?

最佳答案

它会起作用。

OpenGL 完全不可知输入。它是一个图形库,因此只关心图形。其他所有内容,包括输入、音频和所有其他内容,都是完全无关紧要的。

对您来说唯一的区别是 GLUT、GLFW、SFML 等工具包会为您设置 OpenGL 上下文。

如果您想使用另一个工具包,那很好,它可能还会为您设置上下文。您也可以直接使用 OpenGL,在这种情况下,您需要自己创建上下文,这需要调用 WGL (Windows)、AGL (Mac)、GLX(*nix 上的 X-Windows)或 EGL(一切其他)API。

关于c++ - 无论我使用什么输入/窗口处理程序,OpenGL 代码都可以工作吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17245718/

相关文章:

c++警告: enumeration value not handled in switch [-Wswitch]

c++ - 在 C++ 中多次调用给定函数时,有没有办法引发编译时错误?

c++ - enable_shared_from_this 和 make_shared 是否提供相同的优化

opengl - 获取缓冲区的大小

opengl - 如何使用 GLUT/OpenGL 渲染到文件?

c++ - 通过使用深度缓冲区丢弃重叠像素来优化 OpenGL 2D 渲染?

sql-server - 无法在 Windows 8.1 上安装 LocalDB

c++ - 重载运算符 = 错误

windows - Git 对 POSIX 功能的依赖在 Windows 上仍然是一个问题吗?

c++ - 从常规 C++ 代码调用 CUDA 代码——整理出 extern "C"