繁体   English   中英

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

[英]How to determine size of the drawable area of an OpenGL 3.3 window using GLFW

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

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

编辑:我的问题使我似乎需要使用GLFW做到这一点,这是不正确的。 我只想指出,我使用GLFW作为窗口/输入处理程序。

您需要glfwGetFramebufferSize

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

从外观上,您不需要知道窗口的大小,我假设是像素? 如果要使用窗口的边界进行碰撞检测,则只需要检测顶点的NDC,一旦其到达x或y =(-1,1),便会发生碰撞。 但是,如果要获取OpenGL上下文的像素大小,请使用glfwGetVideoMode()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM