c++ - 如何使用 GLFW 确定 OpenGL 3.3 窗口的可绘制区域的大小

标签 c++ glfw opengl-3

我正在尝试使用 GLFW 和 OpenGL 3.3 创建游戏/应用程序。我希望能够检测到与窗口侧面的碰撞,但似乎窗口的可绘制区域与使用 glfwCreateWindow() 设置的窗口大小不同。

所以我的问题是,如何获得可绘制区域,即。窗口的大小减去边框?我宁愿不必使用 WinAPI 以使其更具跨平台性,glfwGetWindowFrameSize() 在 GLFW 3.1 中,尚未完成。

编辑:我的问题使我似乎需要使用 GLFW 来完成此任务,但事实并非如此。我只是想指出我正在使用 GLFW 作为窗口/输入处理程序。

最佳答案

你想要glfwGetFramebufferSize .

glfwGetVideoMode 返回指定监视器的视频模式,而不是窗口的大小。对于全屏窗口,它们恰好相同,但对于其他窗口,它们可能非常不同。

关于c++ - 如何使用 GLFW 确定 OpenGL 3.3 窗口的可绘制区域的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26197689/

相关文章:

c++ - 如何将类型从 const char * 转换为 char *

opengl - FreeGLUT 与 GLFW 有什么区别?

java - LWJGL VAO/VBO 不显示

c++ - 简单情况下的模板缓冲区行为(GL_ALWAYS、GL_LEQUAL)

c++ - OpenGL 3.3 纹理映射三角形

c++ - 我可以在 uclibc linux 上使用 boost 吗?

c++ - UWP ListView 占用的高度超过可用高度

c++ - 如何防止复制省略?

c++ - OpenGL - 为什么我会收到此错误?不支持 COMPILATION_FAILED 版本 '330'

linux - 无法在 Ubuntu 上运行我自己的 OpenGL 3 程序