【发布时间】:2013-12-14 06:31:59
【问题描述】:
我正在使用 GLFW3 将我的一个游戏从 Windows 移植到 Linux 以创建窗口。当我在 Windows 中运行代码时(使用 GLFW3 和 opengl),代码运行得非常好,但是当我在 ubuntu 12.10 中编译和运行它时,在全屏模式下(在窗口模式下运行良好)出现问题,其中右侧部分(大约 25 %) 的帧被拉伸并离开屏幕。 以下是我创建 GLFW 窗口的方式:
window = glfwCreateWindow(1024, 768, "Chaos Shell", glfwGetPrimaryMonitor(), NULL);
这是我的opengl初始化代码:
glViewport(0, 0, 1024, 768);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-512.0f, 512.0f, -384.0f, 384.0f, 0.0f, 1.0f);
glMatrixMode(GL_MODELVIEW);
glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
以上代码应以 1024 x 768 分辨率以全屏模式加载游戏。 当我运行它时,glfwCreateWindow 将屏幕分辨率从我当前的屏幕分辨率(1366 x 768)更改为 1024 x 768,但帧的右侧部分会离开屏幕。如果我手动将分辨率更改为 1024 x 768 然后运行游戏,一切看起来都很好。 此外,无论我当前的屏幕分辨率是多少,在 Windows 中运行相同的代码都不会显示任何问题。它只是将分辨率更改为 1024 x 768,然后一切看起来都很完美。 如果有人能找到为什么它在 ubuntu 中表现得很奇怪,那么我将非常感激......
【问题讨论】:
-
您是从源代码构建 GLFW3 还是使用发行版包?
-
@genpfault 我是从源代码构建的。我可以从中获得的最新消息:glfw.org/download.html
标签: c++ linux opengl ubuntu glfw