【问题标题】:disable window resize in opengl c++在opengl c ++中禁用窗口调整大小
【发布时间】:2013-12-08 15:00:05
【问题描述】:

是否可以禁用使用 c++ 使用 opengl 创建的窗口调整大小?我正在寻找这个,因为我正在尝试绘制图表,并且比例(或标题)中的字母在调整大小后会改变它们的位置。

【问题讨论】:

  • 嗨 tiggares - 您提出的问题在当前状态下无法回答。对于初学者,您使用的是哪个 Windows 系统?您是在 Windows 中使用 MFC,在 Mac 上使用 NSWindow,还是使用像 GLUT 这样的库?窗口编程与 OpenGL 无关,因为 OpenGL 只是一个图形 API。这确实是一个窗口/表单问题。请提供您使用的窗口系统。
  • 我正在使用 GLUT。我很可能已经使用 glutFullScreen 解决了我的问题。
  • 很高兴听到这个消息。只是另一种选择,当窗口调整大小时,它们是过剩的回调。如果您不想强迫您的用户进入全屏模式,您可以随时使用 glut 注册该回调并让它重置您想要的窗口大小。干杯!
  • 不,不能这样做。听起来很奇怪,OpenGL 甚至不知道窗口是什么。它被特意设计成最接近“窗口”的 OpenGL 本身就是与窗口关联的帧缓冲区。您需要使用特定于平台的窗口 API(例如 WGL、GLX、CGL)来弥补差距。由于许多平台都有自己的专有窗口系统,因此创建了 GLUT 和 glfw 等框架来完全隐藏细节。

标签: c++ opengl window


【解决方案1】:

在没有窗口 API 的情况下,这在 OpenGL 中是无法做到的。使用 GLUT,您可以在 reshape 回调中调用 glutReshapeWindow 以在用户尝试更改大小时重置大小。或者,如果您不需要窗口化,请通过glutFullScreen 全屏显示以阻止用户重新调整窗口形状。 据我所知,这是唯一的便携方式。

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 2013-02-09
    • 2011-03-17
    • 2015-05-23
    • 1970-01-01
    • 2014-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多