草庐IT

c++ - 为什么 SDL 和 OpenGL 相关?

我在使用SDL时发现无法使用SDL旋转图像。到处问这个问题,人们都说使用OpenGL来做旋转。我一直认为SDL与OpenGL是完全分开的,我这样想错了吗?我什至找到了在SDL中使用OpenGL的教程,这让我更加困惑。SDL和OpenGL之间究竟是什么关系?如果OpenGL更强大并且可以让您做更多事情,为什么不直接使用它(这是我读过的内容)? 最佳答案 SDL是OpenGL之上的一层;事实上,它在Windows上默认使用GDI,并且还有一个DirectX后端。人们可能会说您可以使用OpenGL在默认使用OpenGL(咳咳,Linux)

windows - Windows 10 上缺少 SDL.dll,即使它位于游戏文件夹中

这些年来,我在Windows上部署了许多游戏,并且总是在游戏文件夹中随游戏一起提供必要的SDL.dll。这一直运作良好,并且继续对超过99%的人有效。但是,我开始看到一些用户报告“代码执行无法继续,因为未找到SDL.dll”。他们似乎都在Windows10上。他们确认DLL确实在游戏文件夹中,因为它应该在游戏文件夹中,并且他们直接从文件夹内运行游戏,而不是通过会破坏工作目录的快捷方式.我也收到了其他未遇到此问题的Windows10用户的报告。我做了一些研究,发现这种错误可能具有误导性,如果DLL本身加载了另一个未找到的系统DLL,则可能会触发这种错误。我在我的EXE上使用了Depend

c++ - 解码音频和视频并处理两个流——ffmpeg、sdl、opencv

我的目标是独立处理mpeg-2文件的音频和视频,并在两个流上保持同步。视频的持续时间最长约为1或2分钟。首先,关注这个post“opencv用于阅读视频(并执行该过程),ffmpeg用于音频,SDL用于播放两者”听起来很完美。考虑到最近的ffmpeg命名更改,我对代码做了一些修改。在64位机器上用cmake编译是可以的。打开编解码器时出现错误“不支持的编解码器[3]”。代码如下。其次,我寻找处理两个流程同步性的代码。#include"opencv/highgui.h"#include"opencv/cv.h"#ifndefINT64_C#defineINT64_C(c)(c##LL)#

c++ - 在创建 SDL 窗口后更改 OpenGL 抗锯齿?

我遇到了一个问题,我希望能够在窗口打开时更改抗锯齿。SDL2只允许在创建窗口之前设置抗锯齿(采样),我想知道是否有一种方法可以在每次更改采样级别时都不必重新创建窗口。例子:SDL_GL_SetAttribute(SDL_GL_MULTISAMPLESAMPLES,4);//BeforethewindowSDL_Window*window=SDL_CreateWindow("title",0,0,960,540,SDL_WINDOW_OPENGL); 最佳答案 如果您希望多重采样成为窗口的一部分,那么您别无选择,只能重新创建窗口。但是

C++ 和 SDL : How does SDL_Rect work exactly?

我正在研究一些SDL的东西,但在尝试设置加载的BMP的位置时遇到了一些麻烦。这是代码。while(event.type!=SDL_QUIT)//Thegameloopthatdoeseverything{SDL_Rect*location;location=SDL_Rect(600,400,0,0);SDL_PollEvent(&event);//This"polls"theevent//DrawingstuffgoeshereSDL_BlitSurface(zombie,NULL,buffer,&location);SDL_Flip(buffer);//Draw}它不会编译。我做错了

c++ - 如何在运行 SDL 程序时降低 CPU 使用率?

我已经使用SDL完成了一个非常基本的窗口,并希望在我按下窗口上的X之前让它一直运行。#include"SDL.h"constintSCREEN_WIDTH=640;constintSCREEN_HEIGHT=480;intmain(intargc,char**argv){SDL_Init(SDL_INIT_VIDEO);SDL_Surface*screen=SDL_SetVideoMode(SCREEN_WIDTH,SCREEN_HEIGHT,0,SDL_HWSURFACE|SDL_DOUBLEBUF);SDL_WM_SetCaption("SDLTest",0);SDL_Evente

c++ - SDL绘制模糊不缩放的图像

我正在使用SDL(简单Directmedia层)在C++中开发一个项目,但是当我在屏幕上绘制SDL_Texture时,即使没有缩放,它也会变得模糊。图片加载方式:SDL_Surface*loadedSurface=IMG_Load("image.png");SDL_Texture*gImage=SDL_CreateTextureFromSurface(gRenderer,loadedSurface);图像如何绘制到屏幕上:SDL_RectrenderQuad={x,y,width,height};SDL_RenderCopy(gRenderer,gImage,NULL,&renderQ

c++ - 如何以编程方式创建 TTF 或 OTF 字体 [C/C++]

如何使用C或C++创建位图字体?我制作了一些软件,可以用你的body创建字母形式并将其转换为vector形状(或位图)。我想将该结果输出到TTF、OTF或类似的字体文件。您可以在此处观看该软件的视频:http://vimeo.com/21396223 最佳答案 查看OTF的规范和TTF.此外,还有一个用于创建字体的开源应用程序,名为FontForge。,你可以看看它的实现。 关于c++-如何以编程方式创建TTF或OTF字体[C/C++],我们在StackOverflow上找到一个类似的问

c++ - 我是否应该确保在退出程序之前销毁 SDL 2.0 对象(渲染器、窗口、纹理等)?

ThisSDL2.0教程使用从main返回的代码,而不首先破坏任何资源指针:intmain(intargc,char**argv){if(SDL_Init(SDL_INIT_EVERYTHING)==-1){std::cout我应该在退出前将我的终止函数告诉DestroyRenderer、DestroyWindow、DestroyTexture等吗? 最佳答案 与“我应该在退出程序之前释放我分配的内存”的问题相同。是的,如果SDL/X11/GL/etc中没有错误。完成代码-无论如何都将被释放。但我看不出您不应该自己这样做的原因。当然

c# - MonoGame 与 SDL

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭8年前。Improvethisquestion在C#中使用MonoGame和在C++中使用SDL之间的主要区别是什么?它们中哪一个更容易使用?推荐哪个用于多平台支持?拥有结构和无处不在的OOP对我们来说很重要。它应该是高性能的,但不能以牺牲生产力为代价(例如,不重新发明轮子或管理内存)。我们是一个小团队,所以我们需要一个结构化、简单明了的框架,让我们能够专注于实际工作。