首页 文章

SDL_SetVideoMode Desired vs. Obtained

提问于
浏览
2

我正在用C语言编写使用SDL进行图形处理的程序 . 我的程序已针对以每像素32位模式写入视频进行了优化 . 我只是沿着每条扫描线写下蓝色,绿色,红色,跳过,蓝色,绿色,红色,跳过,蓝色,绿色,红色,跳过(跳过32 bpp格式的额外字节) . 这有可能失败吗? SDL能否否认我32 bpp并给我别的东西?不同颜色的字节偏移量会以不同的顺序结束并搞砸我的程序吗?

1 回答

  • 1

    默认情况下, SDL_SetVideoMode 可确保您获得所需的像素深度 . 即使像素深度不可用,它也会虚拟地模拟它(它们称之为"shadow surface") . 当然,可以使用 SDL_ANYFORMAT 标志禁用此功能 .

    有关更多信息,请参阅以下Wiki

    http://sdl.beuc.net/sdl.wiki/SDL_SetVideoMode

    我也怀疑如果深度被模拟可能会出现性能下降 . 不确定 .

    另外关于你的逻辑,我不确定你为什么要做这样的原生扫描线操作 . 如果您的应用程序确实需要这样的控制,那么您可能最好编写OpenGL或DirectX特定代码,并通过库调用将它们与SDL连接 . 您可以谷歌了解有关使用SDL连接OpenGL或DirectX的更多信息 .

相关问题