草庐IT

SDL_Surface

全部标签

c++ - 如何在 SDL2/C++/Visual Studio 2012 Express 程序中设置窗口标题栏图标和 alt-tab 图标?

我已经在我的项目中添加了一个.rc文件,其中包含以下内容:IDI_MAIN_ICONICON"..\\..\\icon_artwork\\windows_icons\\project.ico".ico文件包含16x16、32x32、48x48和256x256分辨率的图标。我在任务栏和资源管理器中看到图标(所以毫无疑问.ico已成功嵌入到.exe中),但我在应用程序自己的标题栏中看到默认的Windows7应用程序图标,并且在alt-标签。有没有办法让操作系统在所有情况下都能自己看到嵌入的图标,或者我是否需要为此编写一些应用程序代码?我注意到有一个SDL2函数voidSDL_SetWind

c++ - SDL - 获取原生屏幕分辨率

我的代码:window.cppWindow::Window(intw,inth,constchar*title,constchar*icon){height=h;width=w;if(SDL_Init(SDL_INIT_EVERYTHING)==0){SDL_WM_SetCaption(title,NULL);SDL_WM_SetIcon(SDL_LoadBMP(icon),NULL);screen=SDL_SetVideoMode(width,height,32,SDL_SWSURFACE|SDL_RESIZABLE|SDL_DOUBLEBUF);if(screen==NULL){r

c++ - 为什么我在所有像素的双 for 循环中使用 SDL2 和 SDL_RenderCopy 时性能不佳?

我正在使用SDL2编写光线转换游戏。绘制地板时,我需要按像素调用SDL_RenderCopy。这会导致帧率下降到10fps以下的瓶颈。我正在寻找性能提升,但似乎找不到。以下是性能下降的粗略概述:intmain(){while(true){for(x=0;x 最佳答案 您可能应该为此使用纹理流。基本上,您将创建一个SDL_TEXTUREACCESS_STREAMING类型的SDL_Texture,然后在每一帧“锁定”纹理,更新您需要的像素,然后再次“解锁”纹理。然后在单个SDL_RenderCopy调用中渲染纹理。LazyFoo示例-

c++ - OpenMAX 和 NDK : Where I can get the surface?

我正在编写一个显示视频的应用程序。该应用程序是使用AndroidNDK和JNI编写的。我想使用OpenMAX。在OpenMAX示例中,它从Java检索表面,但我可以从哪里获得要渲染的表面?我只能通过applicationContext获得nativeWindow。例子:voidJava_com_example_nativemedia_NativeMedia_setSurface(JNIEnv*env,jclassclazz,jobjectsurface){theNativeWindow=ANativeWindow_fromSurface(env,surface);}但我没有表面。谢谢

c++ - SDL_RENDERER_PRESENTVSYNC 显示不一致

我最近决定开始使用SDL作为我的库之一来编写C++游戏。在我编写程序和学习SDL的过程中,我偶然发现了我的程序中的一个特殊错误,并决定在SSCCE中复制它以确保我没有发疯。问题似乎是当我将SDL_RENDERER_PRESENTVSYNC作为标志传递给SDL_CreateRenderer时,我得到不一致的渲染。为了进行比较,我在有标志的情况下运行了程序50次,在没有标志的情况下运行了50次,并且在每种情况下都对我的程序进行了唯一更改。没有标志,显示器在100%的时间内工作。启用标志后,50次中只有13次渲染成功。程序如下:#include#includeintmain(intargc,

c++ - 通过命令行设置SDL2 mac

我正在尝试将SDL2设置为与g++、文本编辑器和终端一起使用。我在/Library/Frameworks中有我的SDL2.framework。我的桌面上有一个名为testsdl的文件夹,其中包含两个文件:1)main.cpp2)生成文件当我键入make时,出现以下错误:main.cpp:2:10:fatalerror:'SDL2/SDL.h'filenotfound。这是我的makefile的拷贝CXX=g++SDL=-frameworkSDL2CXXFLAGS=-Wall-c-std=c++11-I~/Library/Frameworks/SDL2.framework/Headers

c++ - SDL_TTF 绘制垃圾

前几天我问了一个问题,关于使用SDL渲染TTF字体,并被指向SDL_TTFL我已经尝试使用SDL_TTF库,但我得到的只是屏幕上的垃圾我已经包含了我的着色器,这对于这个程序来说非常简单,还有我用来将文本加载到表面并将其绑定(bind)到纹理的片段。我根本不想在这里做任何疯狂的事情。你能看到我做错了什么吗?我不太确定如何调试着色器等。片段着色器(frag.glsl):#version330invec2texCoord;invec4fragColor;outvec3finalColor;uniformsampler2DmyTextureSampler;voidmain(){finalCol

c++ - 使用 SDL2 指定 OpenGL 版本

我正在使用装有OSX10.9.2的Macbookair我的显卡是(IntelHDGraphics40001024MB)Apple表示,具有我的规范的Macbookair最高支持Opengl4.1,您可以在此处阅读->http://support.apple.com/kb/HT5942.然而,当我使用SDL2并强制系统使用opengl3.2以及当我通过glGetString()查询OpenGL版本时,我得到以下行:2.1INTEL-8.24.11我的代码:#include#include#includeusingnamespacestd;voidsdldie(constchar*msg)

c++ - SDL_HWSURFACE 和 SDL_SWSURFACE 在速度和性能方面有什么区别?

SDL_HWSURFACE与SDL_SWSURFACE甚至SDL_FULLSCREEN?这里的优点和缺点是什么?我认为硬件要快得多。http://www.libsdl.org/docs/html/sdlsetvideomode.html 最佳答案 SDLWiki说得最好:SDL_SWSURFACESDL将在系统内存中创建界面。这提高了像素级访问的性能,但是您可能无法利用某些类型的硬件blitting。SDL_HWSURFACESDL将尝试在显存中创建表面。这将允许SDL利用Video->Videoblits(通常是加速的)。我的想法

没有 Xcode 的 macosx 上的 C++ SDL

系统:运行MacosX10.5.5(Leopard)的黑色Macbook我想仅使用g++编译SDLhello-world应用程序。Xcode适用于macintosh,但我想要跨平台兼容性,所以我不会使用任何coaca框架(没有菜单、没有按钮等)。此外,将Xcode项目移植到其他操作系统并不是一件听起来很有趣的事情。我将SDL下载并安装到/Library/Frameworks中。最大的问题是:makefile中包含什么(假设源代码中只有一个helloWorld.cpp文件)。我想避免修改找到的Helloworld文件here如果可能的话。 最佳答案