学习opengGL(+ glfw)我遇到了有趣的事情:我必须在mouse_callback
中只使用一种函数原型glfwSetCursorPosCallback (Glfwwindow* , GLFWcursorposfun mouse_callback);
我应该如何在GLfloat yaw = -90.0f;
中使用变量mouse_callback
{1}}不传递它作为参数(会有错误)或全局变量。
答案 0 :(得分:4)
你做不到。 C函数指针不支持绑定参数。通常,您可以将指针传递给已经包含该值-90.0f
的特定函数,或者使用全局变量。
是的,这很糟糕。这就是C ++引入std::bind
,然后是lambdas的原因。不幸的是,OpenGL API不允许您使用此类功能。
但是,它确实允许您通过glfwSetWindowUserPointer
和glfwGetWindowUserPointer
将某些任意数据结构“绑定”到窗口上下文中,因此您可以探索将值编码到该结构中。