zoukankan      html  css  js  c++  java
  • Win2D 官方文章系列翻译

    本文为个人博客备份文章,原文地址:

    http://validvoid.net/win2d-pixel-formats/

    DirectXPixelFormat 枚举 包含了 Direct3D 和 DXGI 所使用全部各种像素格式,但其中只有部分被 Win2D 所支持 (或被 Win2D 构建的基础—— Direct2D 所支持)。

    如果不确定该采用哪种格式,默认选择 B8G8R8A8UIntNormalized 作为像素格式以及 Premultiplied 作为 CanvasAlphaMode (场景 Alpha 模式)适用于大多数场景。

    以下列出的所有格式均被 Direct3D 特性等级 11 的 GPU 硬件(用于桌面计算机以及多数平板电脑)所支持。特性等级 9 的 GPU (常用于手机)仅支持一个子集。如果你想要使用某个标记为“并非所有设备支持”的格式,你需要在资源创建失败时捕获相应的异常并自动选择一种通用有效的选项。

    CanvasBitmap 格式

    DirectXPixelFormat兼容的CanvasAlphaMode备注
    B8G8R8A8UIntNormalized Premultiplied, Ignore 默认格式
    B8G8R8A8UIntNormalizedSrgb Premultiplied, Ignore 并非所有设备支持
    B8G8R8X8UIntNormalized Ignore  
    R8G8B8A8UIntNormalized Premultiplied, Ignore  
    R8G8B8A8UIntNormalizedSrgb Premultiplied, Ignore 并非所有设备支持
    R16G16B16A16Float Premultiplied, Ignore 并非所有设备支持
    R32G32B32A32Float Premultiplied, Ignore 并非所有设备支持
    R16G16B16A16UIntNormalized Premultiplied, Ignore 并非所有设备支持
    R8G8UIntNormalized Ignore 并非所有设备支持
    R8UIntNormalized Ignore 并非所有设备支持
    A8UIntNormalized Premultiplied, Straight  
    BC1UIntNormalized Premultiplied, Ignore 尚未完全被 Win2D 支持1
    BC2UIntNormalized Premultiplied, Ignore 尚未完全被 Win2D 支持1
    BC3UIntNormalized Premultiplied, Ignore 尚未完全被 Win2D 支持1

    1 Win2D 尚不完全支持块压缩格式(BC1、BC2 以及 BC3)。虽然可以通过 CanvasBitmap.CreateFromBytes 创建块压缩位图,并从原生 Direct2D 或 Direct2D 进行绘制和交互,但 Win2D 没有提供任何加载此类格式图像的途径,GetPixelBytesSetPixelBytes 以及 CopyPixelsFromBitmap 方法也不能对分块压缩数据正常使用。在 Win2D 的未来版本中将会改进这一情况。

    CanvasRenderTarget 格式

    DirectXPixelFormat兼容的 CanvasAlphaMode备注
    B8G8R8A8UIntNormalized Premultiplied, Ignore 默认格式
    B8G8R8A8UIntNormalizedSrgb Premultiplied, Ignore 并非所有设备支持
    R8G8B8A8UIntNormalized Premultiplied, Ignore  
    R8G8B8A8UIntNormalizedSrgb Premultiplied, Ignore 并非所有设备支持
    R16G16B16A16Float Premultiplied, Ignore 并非所有设备支持
    R32G32B32A32Float Premultiplied, Ignore 并非所有设备支持
    R16G16B16A16UIntNormalized Premultiplied, Ignore 并非所有设备支持
    A8UIntNormalized Premultiplied, Straight  

    CanvasSwapChain 格式

    DirectXPixelFormat兼容的 CanvasAlphaMode备注
    B8G8R8A8UIntNormalized Premultiplied, Ignore 默认格式
    R8G8B8A8UIntNormalized Premultiplied, Ignore  
    R16G16B16A16Float Premultiplied, Ignore 并非所有设备支持
  • 相关阅读:
    一次linux启动故障记录
    linux 时间相关的一些总结
    linux 3.10 gro的理解和改进
    linux 3.10 的中断收包笔记
    一个有趣的nginx问题引发的小问题
    linux 3.10 tcp的accept测试
    linux mce的一些相关内容和用户态监控的设计方法
    C/C++(基础-运算符详解)
    C/C++(基础-常量,类型转换)
    C/C++(基础编码-补码详解)
  • 原文地址:https://www.cnblogs.com/validvoid/p/win2d-pixel-formats.html
Copyright © 2011-2022 走看看