gpt4 book ai didi

c++ - GLFW 窗口没有响应

转载 作者:行者123 更新时间:2023-11-30 01:46:45 25 4
gpt4 key购买 nike

我正在开发一个使用 openGL ES 2.0 而不是普通 openGL 的 GLFW 桌面应用程序!

我编写的代码编译得很好,但是当我运行该应用程序时,我听到笔记本电脑发出一些奇怪的声音,几秒钟后,当我关闭窗口时,应用程序窗口停止响应!

是硬件/软件问题还是我做错了什么?

这是我的 main.cpp:

#ifndef GLFW_INCLUDE_ES2
#define GLFW_INCLUDE_ES2
#endif
#include "game.h"
#include <GLFW/glfw3.h>

int init_gl();
void shutdown_gl();
void set_main_loop();

GLFWwindow* window;

int main()
{
if (init_gl() == GL_TRUE) {
on_surface_created();
on_surface_changed();
set_main_loop();
}
shutdown_gl();
return 0;
}

void shutdown_gl()
{
glfwDestroyWindow(window);
glfwTerminate();
}

int init_gl()
{
const int width = 480,
height = 800;

if (glfwInit() != GL_TRUE) {
return GL_FALSE;
}

window = glfwCreateWindow(width, height, "Simple example", NULL, NULL);

if (!window) {
return GL_FALSE;
}

glfwMakeContextCurrent(window);

return GL_TRUE;
}

void set_main_loop()
{
while (!glfwWindowShouldClose(window))
{
on_draw_frame();
glfwSwapBuffers(window);
}
}

如果您需要 game.cpp 中的代码,请告诉我!

代码是在 Ubuntu 14.04 上使用 g++ 和命令编译的:

g++ -I. -I../common -c main.cpp ../common/game.cpp
g++ main.o game.o -o main.exec -lglfw3 -lX11 -lXrandr -lXinerama -lXi -lXxf86vm -lXcursor -lGL -lpthread

最佳答案

您需要在循环中调用 glfwPollEvents(),但我不能 100% 确定声音可能是由应用程序未进行 vsync-d 引起的。引用: http://www.glfw.org/docs/latest/quick.html

关于c++ - GLFW 窗口没有响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32668085/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com