我正在尝试将我的应用程序从DirectX切换到SDL视频后端,并且刚刚完成编写返回当前显示设备所有支持的显示模式的代码。
然而,与DirectX不同,返回的颜色深度为32位,16位甚至8位,SDL返回24位和16位。
我正在使用SDL_GetNumVideoDisplays()
和SDL_GetNumDisplayModes()
循环覆盖所有可用模式,并检查每种模式,了解SDL_GetDisplayMode()
和SDL_BITSPERPIXEL()
的详细信息。
这是什么原因,据我所知,我的显示器应该支持32位颜色深度(它的配置也类似于我的桌面/ nvidia设置)所以为什么SDL只报告24位而完全错过8位? (不是我会关心后者)
答案 0 :(得分:0)
这是一回事。显示器实际上只支持24位颜色(每个颜色通道8位)。但是很多颜色格式每像素使用32位,只留下8位未使用。