【问题标题】:is it possible to create a fixed size glut window?是否可以创建一个固定大小的过剩窗口?
【发布时间】:2012-05-28 07:53:03
【问题描述】:

是否可以使用 glut 创建一个固定大小的窗口,因此窗口尺寸的任何更改都将被忽略。

我切换回 SDL 或类似的东西有点太晚了。

【问题讨论】:

  • “我切换回 SDL 或类似的东西有点太晚了。”我无法想象这将是一个重大问题。 GLUT 用于窗口设置和管理;切换管理器应该只需要相当本地化的更改。除非您依赖于 GLUT 特定的功能,例如 sRGB 帧缓冲区等。

标签: opengl glut


【解决方案1】:

最终,没有。您可以做的最好的事情是调用glutReshapeWindow 以在您检测到它已调整大小时将其强制为特定大小。但仅此而已。如果这样做,则需要通过确保仅在新大小与所需大小不同时才调用glutReshapeWindow 来防止无限循环。这不会阻止用户尝试调整它的大小,但会阻止他们成功。可能。

请记住:GLUT 专为演示应用程序和简单的测试平台而设计。对于这样的应用程序,调整窗口大小的能力是相当标准的。

【讨论】:

    【解决方案2】:

    显然,这是不可能的,但您可以在glutReshapeFunc-callback 中使用glutReshapeWindow,在释放鼠标后立即将其恢复。它非常有效,并且据我所知是最好的解决方案。仅使用 freeglut 测试:

    glutReshapeFunc(resize);
    
    void resize(int width, int height) {
        // we ignore the params and do:
        glutReshapeWindow( 800, 600);
    }
    

    【讨论】:

    • 哈哈哇感谢我在 SO 上的第一个也是唯一一个帖子的支持
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-22
    • 1970-01-01
    • 2019-03-02
    • 1970-01-01
    • 2018-08-29
    • 1970-01-01
    相关资源
    最近更新 更多