我已经尝试在任何地方查找它并尽我所能,但我无法让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
我有调用glDrawArrays的OpenGL渲染代码,当OpenGL上下文(自动/隐式获得)4.2时,它可以完美地工作,但在明确请求的OpenGL核心上下文3.2时始终失败(GL_INVALID_OPERATION)。(在这两种情况下,着色器始终设置为#version150,但我怀疑这不是重点。)根据规范,当glDrawArrays()因GL_INVALID_OPERATION失败时,只有两个实例:“如果非零缓冲区对象名称绑定(bind)到已启用的数组,并且缓冲区对象的数据存储当前已映射”——此时我没有进行任何缓冲区映射“如果几何着色器处于事件状态且模式与[...]不兼容”——不,目
我有调用glDrawArrays的OpenGL渲染代码,当OpenGL上下文(自动/隐式获得)4.2时,它可以完美地工作,但在明确请求的OpenGL核心上下文3.2时始终失败(GL_INVALID_OPERATION)。(在这两种情况下,着色器始终设置为#version150,但我怀疑这不是重点。)根据规范,当glDrawArrays()因GL_INVALID_OPERATION失败时,只有两个实例:“如果非零缓冲区对象名称绑定(bind)到已启用的数组,并且缓冲区对象的数据存储当前已映射”——此时我没有进行任何缓冲区映射“如果几何着色器处于事件状态且模式与[...]不兼容”——不,目
我最近转向了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
我最近转向了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
我试图找到一种方法来创建一个以屏幕为中心的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
我试图找到一种方法来创建一个以屏幕为中心的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
我正在使用SDL2和OpenGL创建一个应用程序,它在3台不同的计算机上运行良好。但是在另一台计算机(更新的archlinux)上,它不会,并且会因以下错误而崩溃:OpenGLcontextalreadycreated所以我的问题是:如何检查OpenGL上下文是否已创建?然后,如果它已经创建,我如何获得它的句柄?如果我不能这样做,我该如何绕过这个问题? 最佳答案 SDL2实际上不会在您没有要求的情况下创建OpenGL上下文。但是,如果您要求它在OpenGL根本不工作时创建一个OpenGL上下文,SDL2喜欢,erm,有点自由式。(实
我正在使用SDL2和OpenGL创建一个应用程序,它在3台不同的计算机上运行良好。但是在另一台计算机(更新的archlinux)上,它不会,并且会因以下错误而崩溃:OpenGLcontextalreadycreated所以我的问题是:如何检查OpenGL上下文是否已创建?然后,如果它已经创建,我如何获得它的句柄?如果我不能这样做,我该如何绕过这个问题? 最佳答案 SDL2实际上不会在您没有要求的情况下创建OpenGL上下文。但是,如果您要求它在OpenGL根本不工作时创建一个OpenGL上下文,SDL2喜欢,erm,有点自由式。(实
我正在尝试开始使用SDL创建一个可移植且漂亮的前端,它可以在X下运行,或者直接从终端运行(希望在某个时候可以在rasberrypi上运行)——目前我在笔记本电脑上上面装有最新的Ubuntu。我无法在终端上正确显示图像-它显示为ascii艺术。我认为这是我的系统配置问题,而不是我的示例程序问题,因为它在X下运行时运行良好。到目前为止,我想我所知道的是SDL应该使用fbcon视频驱动程序,但使用的是aalib。我收集到SDL检查帧缓冲区是否可用并使用它,如果它是-它在那里-至少根据的输出>fbset-imode"1024x768"geometry1024768102476832timing