草庐IT

SDL_GL_SwapBuffers

全部标签

go - 未指定 cgo SDL 函数

我已经尝试在任何地方查找它并尽我所能,但我无法让SDL在Go中工作。这是我的代码,有点草率,但我只是想让它工作,只是为了测试它,作为一个起点。我打算稍后清理它并摆脱所有不必要的#defines。packagemain//#cgoLDFLAGS:-lSDL-lSDL_main-lSDL_image//#include//#include//#include//#includeimport"C"import"runtime"funcinit(){runtime.LockOSThread()}funcmain(){varimage*C.SDL_Surfacevarscreen*C.SDL_S

opengl - 为什么 OpenGL 的 glDrawArrays() 在核心配置文件 3.2 下会因 GL_INVALID_OPERATION 而失败,但在 3.3 或 4.2 下却不会?

我有调用glDrawArrays的OpenGL渲染代码,当OpenGL上下文(自动/隐式获得)4.2时,它可以完美地工作,但在明确请求的OpenGL核心上下文3.2时始终失败(GL_INVALID_OPERATION)。(在这两种情况下,着色器始终设置为#version150,但我怀疑这不是重点。)根据规范,当glDrawArrays()因GL_INVALID_OPERATION失败时,只有两个实例:“如果非零缓冲区对象名称绑定(bind)到已启用的数组,并且缓冲区对象的数据存储当前已映射”——此时我没有进行任何缓冲区映射“如果几何着色器处于事件状态且模式与[...]不兼容”——不,目

opengl - 为什么 OpenGL 的 glDrawArrays() 在核心配置文件 3.2 下会因 GL_INVALID_OPERATION 而失败,但在 3.3 或 4.2 下却不会?

我有调用glDrawArrays的OpenGL渲染代码,当OpenGL上下文(自动/隐式获得)4.2时,它可以完美地工作,但在明确请求的OpenGL核心上下文3.2时始终失败(GL_INVALID_OPERATION)。(在这两种情况下,着色器始终设置为#version150,但我怀疑这不是重点。)根据规范,当glDrawArrays()因GL_INVALID_OPERATION失败时,只有两个实例:“如果非零缓冲区对象名称绑定(bind)到已启用的数组,并且缓冲区对象的数据存储当前已映射”——此时我没有进行任何缓冲区映射“如果几何着色器处于事件状态且模式与[...]不兼容”——不,目

c - gcc 不会编译 SDL C 程序(对 SDL 函数的 undefined reference )

我最近转向了linux,但在使用gcc编译SDLC程序时遇到了问题。我正在使用的命令:gcc`sdl-config--cflags--libs`-omainmain.c即使通过分离sdl-config标志:gcc`sdl-config--cflags`-cmain.cgcc`sdl-config--libs`-omainmain.o我遇到了同样的错误:/tmp/ccHYyjKd.o:Infunction`main':main.c:(.text+0xe):undefinedreferenceto`SDL_SetMainReady'main.c:(.text+0x18):undefined

c - gcc 不会编译 SDL C 程序(对 SDL 函数的 undefined reference )

我最近转向了linux,但在使用gcc编译SDLC程序时遇到了问题。我正在使用的命令:gcc`sdl-config--cflags--libs`-omainmain.c即使通过分离sdl-config标志:gcc`sdl-config--cflags`-cmain.cgcc`sdl-config--libs`-omainmain.o我遇到了同样的错误:/tmp/ccHYyjKd.o:Infunction`main':main.c:(.text+0xe):undefinedreferenceto`SDL_SetMainReady'main.c:(.text+0x18):undefined

c++ - 如何在 Linux 中将 SDL 窗口居中?

我试图找到一种方法来创建一个以屏幕为中心的SDL窗口,我找到了这段代码#ifdefWIN32#includeSDL_SysWMinfoi;SDL_VERSION(&i.version);if(SDL_GetWMInfo(&i)){HWNDhwnd=i.window;SetWindowPos(hwnd,HWND_TOP,x,y,width,height,flags);}#endif//WIN32但它仅适用于Windows。我如何在Linux中执行此操作? 最佳答案 使用putenv()在初始化SDL和创建窗口之前:#include#i

c++ - 如何在 Linux 中将 SDL 窗口居中?

我试图找到一种方法来创建一个以屏幕为中心的SDL窗口,我找到了这段代码#ifdefWIN32#includeSDL_SysWMinfoi;SDL_VERSION(&i.version);if(SDL_GetWMInfo(&i)){HWNDhwnd=i.window;SetWindowPos(hwnd,HWND_TOP,x,y,width,height,flags);}#endif//WIN32但它仅适用于Windows。我如何在Linux中执行此操作? 最佳答案 使用putenv()在初始化SDL和创建窗口之前:#include#i

c++ - SDL2 - 检查是否创建了 OpenGL 上下文

我正在使用SDL2和OpenGL创建一个应用程序,它在3台不同的计算机上运行良好。但是在另一台计算机(更新的archlinux)上,它不会,并且会因以下错误而崩溃:OpenGLcontextalreadycreated所以我的问题是:如何检查OpenGL上下文是否已创建?然后,如果它已经创建,我如何获得它的句柄?如果我不能这样做,我该如何绕过这个问题? 最佳答案 SDL2实际上不会在您没有要求的情况下创建OpenGL上下文。但是,如果您要求它在OpenGL根本不工作时创建一个OpenGL上下文,SDL2喜欢,erm,有点自由式。(实

c++ - SDL2 - 检查是否创建了 OpenGL 上下文

我正在使用SDL2和OpenGL创建一个应用程序,它在3台不同的计算机上运行良好。但是在另一台计算机(更新的archlinux)上,它不会,并且会因以下错误而崩溃:OpenGLcontextalreadycreated所以我的问题是:如何检查OpenGL上下文是否已创建?然后,如果它已经创建,我如何获得它的句柄?如果我不能这样做,我该如何绕过这个问题? 最佳答案 SDL2实际上不会在您没有要求的情况下创建OpenGL上下文。但是,如果您要求它在OpenGL根本不工作时创建一个OpenGL上下文,SDL2喜欢,erm,有点自由式。(实

linux - 如何让 SDL 使用 fbcon 而不是 caca

我正在尝试开始使用SDL创建一个可移植且漂亮的前端,它可以在X下运行,或者直接从终端运行(希望在某个时候可以在rasberrypi上运行)——目前我在笔记本电脑上上面装有最新的Ubuntu。我无法在终端上正确显示图像-它显示为ascii艺术。我认为这是我的系统配置问题,而不是我的示例程序问题,因为它在X下运行时运行良好。到目前为止,我想我所知道的是SDL应该使用fbcon视频驱动程序,但使用的是aalib。我收集到SDL检查帧缓冲区是否可用并使用它,如果它是-它在那里-至少根据的输出>fbset-imode"1024x768"geometry1024768102476832timing