谁能告诉我 DDCAPS_BLTFOURCC 到底有什么用?

Sodar 2009-04-17 10:05:32
从MSDN来看如果显卡有这个能力,就能够在RGB surface和YUV surface之间直接交换数据(我错了?),可是测试中发现,即使显卡有这个能力,也无法在两个不同格式的surface之间直接blit。
即使在RGB32 surface和RGB16 surface之间也不能互相blit数据。难道这样的转换只能通过软件实现吗?
...全文
153 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
wutaihua 2011-05-30
  • 打赏
  • 举报
回复
mark 非常有用
IONPhantom 2009-04-17
  • 打赏
  • 举报
回复
1.BLT, FourCC to RGB conversion" performs Blts from YUV (FOURCC) surfaces to an RGB primary surface. This test is run only if the driver sets the DDCAPS_BLTFOURCC flag.
2."BLT, FourCC to RGB stretch" performs Stretched Blts from YUV (FOURCC) surfaces to an RGB primary surface. This test is run only if the driver sets the DDCAPS_BLTFOURCC and DDCAPS_BLTSTRETCH flags.
3.BLT, FourCC to RGB conversion" performs Blts from YUV (FOURCC) surfaces to an RGB primary surface. This test is run only if the driver sets the DDCAPS_BLTFOURCC flag.
4."BLT, FourCC to RGB stretch" performs Stretched Blts from YUV (FOURCC) surfaces to an RGB primary surface. This test is run only if the driver sets the DDCAPS_BLTFOURCC and DDCAPS_BLTSTRETCH flags.
5."BLT, FourCC to RGB conversion" performs Blts from YUV (FOURCC) surfaces to an RGB primary surface. This test is run only if the driver sets the DDCAPS_BLTFOURCC flag.
6."BLT, FourCC to RGB stretch" performs Stretched Blts from YUV (FOURCC) surfaces to an RGB primary surface. This test is run only if the driver sets the DDCAPS_BLTFOURCC and DDCAPS_BLTSTRETCH flags.
7.BLT, FourCC to RGB conversion" performs Blts from YUV (FOURCC) surfaces to an RGB primary surface. This test is run only if the driver sets the DDCAPS_BLTFOURCC flag.
8.BLT, FourCC to RGB stretch" performs Stretched Blts from YUV (FOURCC) surfaces to an RGB primary surface. This test is run only if the driver sets the DDCAPS_BLTFOURCC and DDCAPS_BLTSTRETCH flags.
9."BLT, FourCC to RGB conversion" performs Blts from YUV (FOURCC) surfaces to an RGB primary surface. This test is run only if the driver sets the DDCAPS_BLTFOURCC flag.
10."BLT, FourCC to RGB stretch" performs Stretched Blts from YUV (FOURCC) surfaces to an RGB primary surface. This test is run only if the driver sets the DDCAPS_BLTFOURCC and DDCAPS_BLTSTRETCH flags.
11."BLT, FourCC to RGB conversion" performs Blts from YUV (FOURCC) surfaces to an RGB primary surface. This test is run only if the driver sets the DDCAPS_BLTFOURCC flag.
12."BLT, FourCC to RGB stretch" performs Stretched Blts from YUV (FOURCC) surfaces to an RGB primary surface. This test is run only if the driver sets the DDCAPS_BLTFOURCC and DDCAPS_BLTSTRETCH flags.
12."BLT, FourCC to RGB stretch" performs Stretched Blts from YUV (FOURCC) surfaces to an RGB primary surface. This test is run only if the driver sets the DDCAPS_BLTFOURCC and DDCAPS_BLTSTRETCH flags.

From MSDN.

从上面可以看出
1. primary surface 必须是 RGB
2. surface 可以是 YUV 但是只能是 Blt 到 primary surface 而没有 get from primary surface 功能

也就是只能是 YUV->RGB,RGB不能转回为YUV,是一个单向的,而且primary surface必须为RGB,也就是无法从primary surface读会YUV的数据


Sodar 2009-04-17
  • 打赏
  • 举报
回复
这段话我之前也看到过,不过看的不够仔细,没理解什么意思。误事啊

8,324

社区成员

发帖
与我相关
我的任务
社区描述
游戏开发相关内容讨论专区
社区管理员
  • 游戏开发
  • 呆呆敲代码的小Y
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧