Win32 API:ID3D11Asynchronous 接口(D3d11.h)
在 Win32 API 的 Direct3D 11 中,ID3D11Asynchronous 接口是一个用于异步查询的基础接口。异步查询通常用于检查 GPU 的操作状态、获取性能计数器或执行其他异步任务。以下是 ID3D11Asynchronous 接口的定义:DECLARE_INTERFACE_(ID3D11Asynchronous, ID3D11DeviceChild){ STDMETHOD_(UINT, GetDataSize)(THIS) PURE;};ID3D11Asynchronous 接口派生自 ID3D11DeviceChild 接口,它提供了一个成员函数 GetDataSize,该函数用于获取异步查询的数据大小。 GetDataSize 方法:获取异步查询的数据大小,返回一个 UINT 类型的值。这个接口是许多与异步操作相关的接口的基类,包括如 ID3D11Query、ID3D11Predicate 等。在使用异步查询时,你通常会首先创建一个派生自 ID3D11Asynchronous 接口的具体查询接口,然后使用这些接口来执行异步操作并获取相关的信息。
Win32 API:D3D11_VPOV_DIMENSION 枚举(D3d11.h)
在 Win32 API 的 Direct3D 11 中,D3D11_VPOV_DIMENSION 枚举用于描述视频处理输出视图(Video Processing Output View,VPOV)的维度。这个枚举定义了不同输出视图类型的维度。以下是 D3D11_VPOV_DIMENSION 枚举的定义:typedef enum D3D11_VPOV_DIMENSION { D3D11_VPOV_DIMENSION_UNKNOWN, D3D11_VPOV_DIMENSION_TEXTURE2D} D3D11_VPOV_DIMENSION;这个枚举包含两个成员:1. D3D11_VPOV_DIMENSION_UNKNOWN:表示未知维度。2. D3D11_VPOV_DIMENSION_TEXTURE2D:表示 2D 纹理维度。这些维度用于指定视频处理输出视图的类型,具体取决于你的应用程序中的需求。根据你要生成的视频数据的格式,你可以选择适当的维度。
Win32 API:D3D11_VPIV_DIMENSION 枚举(D3d11.h)
在 Win32 API 的 Direct3D 11 中,D3D11_VPIV_DIMENSION 枚举用于描述视频处理输入视图(Video Processing Input View,VPIV)的维度。这个枚举定义了不同视图类型的维度。以下是 D3D11_VPIV_DIMENSION 枚举的定义:typedef enum D3D11_VPIV_DIMENSION { D3D11_VPIV_DIMENSION_UNKNOWN, D3D11_VPIV_DIMENSION_TEXTURE2D, D3D11_VPIV_DIMENSION_TEXTURE2DARRAY} D3D11_VPIV_DIMENSION;这个枚举包含三个成员:1. D3D11_VPIV_DIMENSION_UNKNOWN:表示未知维度。2. D3D11_VPIV_DIMENSION_TEXTURE2D:表示 2D 纹理维度。3. D3D11_VPIV_DIMENSION_TEXTURE2DARRAY:表示包含数组的 2D 纹理维度。这些维度用于指定视频处理输入视图的类型,具体取决于你的应用程序中的需求。根据你要处理...
Win32 API:D3D11_VIDEO_USAGE 枚举(D3d11.h)
在Win32 API的Direct3D 11中,D3D11_VIDEO_USAGE 枚举是用于描述视频用途的枚举类型。这个枚举定义了视频处理器的使用方式。以下是 D3D11_VIDEO_USAGE 枚举的定义:typedef enum D3D11_VIDEO_USAGE { D3D11_VIDEO_USAGE_PLAYBACK_NORMAL, D3D11_VIDEO_USAGE_OPTIMAL_SPEED, D3D11_VIDEO_USAGE_OPTIMAL_QUALITY} D3D11_VIDEO_USAGE;这个枚举包含三个成员:1. D3D11_VIDEO_USAGE_PLAYBACK_NORMAL:表示视频播放的正常用途。2. D3D11_VIDEO_USAGE_OPTIMAL_SPEED:表示视频处理时追求最佳速度。3. D3D11_VIDEO_USAGE_OPTIMAL_QUALITY:表示视频处理时追求最佳质量。你可以根据你的应用场景选择适当的枚举值,以便在视频处理时获得最佳的性能或质量。这通常与硬件设备和用户需求有关。
Win32 API:D3D11_VIDEO_PROCESSOR_STEREO_FORMAT 枚举(D3d11.h)
D3D11_VIDEO_PROCESSOR_STEREO_FORMAT 枚举用于描述视频处理器在立体(stereo)3D 模式下的图像格式。在立体3D显示中,左右眼图像通常以不同的格式存储或传输,以便在合适的显示设备上创建立体效果。以下是 D3D11_VIDEO_PROCESSOR_STEREO_FORMAT 枚举的一些可能的常见值:1. D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_MONO: - 表示单一图像格式,不包含立体信息。D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_MONO2. D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_HORIZONTAL: - 表示左右眼图像以水平排列的格式。D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_HORIZONTAL3. D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_VERTICAL: - 表示左右眼图像以垂直排列的格式。D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_VERT...
Win32 API:D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE 枚举(D3d11.h)
D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE 枚举用于描述视频处理器在立体(stereo)视图模式下的图像翻转方式。在立体3D显示中,左右眼图像可能需要进行翻转以适应特定的显示设备或场景。以下是 D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE 枚举的一些可能的常见值:1. D3D11_VIDEO_PROCESSOR_STEREO_FLIP_NONE: - 表示不进行图像翻转。D3D11_VIDEO_PROCESSOR_STEREO_FLIP_NONE2. D3D11_VIDEO_PROCESSOR_STEREO_FLIP_FRAME0: - 表示仅翻转第一帧。D3D11_VIDEO_PROCESSOR_STEREO_FLIP_FRAME03. D3D11_VIDEO_PROCESSOR_STEREO_FLIP_FRAME1: - 表示仅翻转第二帧。D3D11_VIDEO_PROCESSOR_STEREO_FLIP_FRAME14. D3D11_VIDEO_PROCESSOR_STEREO_FLIP_BOTH: ...
Win32 API:D3D11_VIDEO_PROCESSOR_STEREO_CAPS 枚举(D3d11.h)
D3D11_VIDEO_PROCESSOR_STEREO_CAPS 枚举用于描述视频处理器对立体(stereo)视图的支持能力。立体视图通常用于创建立体3D效果,其中左右两个眼睛分别看到稍微不同的图像,以产生深度感。以下是 D3D11_VIDEO_PROCESSOR_STEREO_CAPS 枚举的可能的常见值:1. D3D11_VIDEO_PROCESSOR_STEREO_CAPS_MONO_OFFSET: - 表示视频处理器支持单一视图的偏移,通常用于模拟立体效果。D3D11_VIDEO_PROCESSOR_STEREO_CAPS_MONO_OFFSET2. D3D11_VIDEO_PROCESSOR_STEREO_CAPS_ROW_INTERLEAVED: - 表示视频处理器支持行间隔(row interleaved)的立体视图。D3D11_VIDEO_PROCESSOR_STEREO_CAPS_ROW_INTERLEAVED3. D3D11_VIDEO_PROCESSOR_STEREO_CAPS_COLUMN_INTERLEAVED: - 表示视频处理器支持列间隔(c...
Win32 API:D3D11_VIDEO_PROCESSOR_ROTATION 枚举(D3d11.h)
D3D11_VIDEO_PROCESSOR_ROTATION 枚举用于描述视频处理器旋转图像时的旋转类型。这个枚举通常用于指定视频旋转的角度或方向。以下是 D3D11_VIDEO_PROCESSOR_ROTATION 枚举的一些常见值:1. D3D11_VIDEO_PROCESSOR_ROTATION_IDENTITY: - 表示图像没有旋转。D3D11_VIDEO_PROCESSOR_ROTATION_IDENTITY2. D3D11_VIDEO_PROCESSOR_ROTATION_90: - 表示图像顺时针旋转 90 度。D3D11_VIDEO_PROCESSOR_ROTATION_903. D3D11_VIDEO_PROCESSOR_ROTATION_180: - 表示图像顺时针旋转 180 度。D3D11_VIDEO_PROCESSOR_ROTATION_1804. D3D11_VIDEO_PROCESSOR_ROTATION_270: - 表示图像顺时针旋转 270 度。D3D11_VIDEO_PROCESSOR_ROTATION_270这些枚举值用于指定视...
Win32 API:D3D11_VIDEO_PROCESSOR_OUTPUT_RATE 枚举(D3d11.h)
D3D11_VIDEO_PROCESSOR_OUTPUT_RATE 枚举用于描述视频处理器的输出帧速率。视频处理器可以在处理视频时改变帧速率,这个枚举就用于指定视频输出的帧速率。以下是 D3D11_VIDEO_PROCESSOR_OUTPUT_RATE 枚举的一些常见值:1. D3D11_VIDEO_PROCESSOR_OUTPUT_RATE_NORMAL: - 表示正常帧速率。D3D11_VIDEO_PROCESSOR_OUTPUT_RATE_NORMAL2. D3D11_VIDEO_PROCESSOR_OUTPUT_RATE_HALF: - 表示帧速率减半。D3D11_VIDEO_PROCESSOR_OUTPUT_RATE_HALF3. D3D11_VIDEO_PROCESSOR_OUTPUT_RATE_CUSTOM: - 表示自定义帧速率。此时需要提供自定义的帧速率值。D3D11_VIDEO_PROCESSOR_OUTPUT_RATE_CUSTOM这些枚举值用于指定视频处理器在输出视频时的帧速率。在某些情况下,可能需要调整帧速率以满足特定的需求或匹配显示设备的帧速率。...
Win32 API:D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE 枚举(D3d11.h)
D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE 枚举用于描述视频处理器的颜色空间范围。颜色空间范围定义了图像的颜色值的范围,通常表示为标准化的 0 到 1 的范围或 16 到 235 的范围。以下是 D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE 枚举的常见值:1. D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE_UNDEFINED: - 表示颜色空间范围未定义。D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE_UNDEFINED2. D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE_16_235: - 表示颜色空间范围为 16 到 235。D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE_16_2353. D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE_0_255: - 表示颜色空间范围为 0 到 255。D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE_0_255这些枚举值用于指定视频处理...
Win32 API:D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT 枚举(D3d11.h)
D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT 枚举用于描述视频处理器支持的图像格式。这个枚举通常用于查询视频处理器设备对特定图像格式的支持情况。以下是一些可能的 D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT 枚举值:1. D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT_INPUT: - 表示视频处理器支持特定输入格式。D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT_INPUT2. D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT_OUTPUT: - 表示视频处理器支持特定输出格式。D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT_OUTPUT这些枚举值用于查询视频处理器对输入和输出图像格式的支持情况。你可以使用这些信息来确保你的应用程序在处理视频时使用了支持的格式,以避免不必要的错误或性能问题。要获取详细的信息和最新的枚举值,建议查阅最新版本的 Microsoft 文档或 DirectX SDK。你可以访问 Microsof...
Win32 API:D3D11_VIDEO_PROCESSOR_FEATURE_CAPS 枚举(D3d11.h)
D3D11_VIDEO_PROCESSOR_FEATURE_CAPS 枚举用于描述视频处理器的功能能力。这个枚举包含一系列标志,表示视频处理器支持的不同特性。以下是一些可能的枚举值:1. D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ALPHA_FILL: - 表示视频处理器支持 alpha 填充功能。 - 这通常用于在视频处理过程中填充 alpha 通道。D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ALPHA_FILL2. D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_CONSTRICTION: - 表示视频处理器支持图像收缩(constriction)功能。 - 可能用于缩小图像的大小。D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_CONSTRICTION3. D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_LUMA_KEY: - 表示视频处理器支持亮度键(luma key)功能。 - 亮度键用于在视频处理中设置透明度。D3D11_VIDE...
Win32 API:D3D11_VIDEO_FRAME_FORMAT 枚举(D3d11.h)
D3D11_VIDEO_FRAME_FORMAT 枚举是用于描述视频帧格式的枚举类型,通常用于 Direct3D 11 中与视频解码相关的 API。以下是该枚举的常见值:1. D3D11_VIDEO_FRAME_FORMAT_PROGRESSIVE: - 表示视频帧格式是逐行扫描(progressive)的。 - 逐行扫描表示图像的每一帧都由单个扫描轨迹扫描,而不是交替扫描。D3D11_VIDEO_FRAME_FORMAT_PROGRESSIVE2. D3D11_VIDEO_FRAME_FORMAT_INTERLACED_TOP_FIELD_FIRST: - 表示视频帧格式是交替扫描的,从顶部场开始。 - 交替扫描表示图像的每一帧都由两个场(偶场和奇场)组成,这两个场是交替显示的。D3D11_VIDEO_FRAME_FORMAT_INTERLACED_TOP_FIELD_FIRST3. D3D11_VIDEO_FRAME_FORMAT_INTERLACED_BOTTOM_FIELD_FIRST: - 表示视频帧格式是交替扫描的,从底部场开始。 - 与上述相似,交...
Win32 API:D3D11_VIDEO_DECODER_BUFFER_TYPE 枚举(D3d11.h)
D3D11_VIDEO_DECODER_BUFFER_TYPE 枚举是用于指定视频解码器缓冲区类型的枚举。这个枚举通常用于 Direct3D 11 中与视频解码相关的 API。以下是该枚举的常见值:1. D3D11_VIDEO_DECODER_BUFFER_PICTURE_PARAMETERS: - 表示缓冲区包含图像参数。 - 这通常包括解码图像的参数,如图像的大小、色彩格式等。D3D11_VIDEO_DECODER_BUFFER_PICTURE_PARAMETERS2. D3D11_VIDEO_DECODER_BUFFER_MACROBLOCK_CONTROL: - 缓冲区包含宏块控制信息。 - 宏块是视频压缩中的基本单元,包含图像的部分信息。D3D11_VIDEO_DECODER_BUFFER_MACROBLOCK_CONTROL3. D3D11_VIDEO_DECODER_BUFFER_RESIDUAL_DIFFERENCE: - 缓冲区包含残差差异信息。 - 在视频编码中,残差通常是原始图像与预测图像之间的差异。D3D11_VIDEO_DECODER_...
Win32 API:D3D11_USAGE 枚举(D3d11.h)
D3D11_USAGE 枚举是用于描述资源(如缓冲区或纹理)在 GPU 上的使用方式的枚举类型。在 Direct3D 11 中,这个枚举类型定义了不同的用法,以便于优化图形资源的性能。以下是 D3D11_USAGE 枚举的常见值:1. D3D11_USAGE_DEFAULT: - 表示资源将被 GPU 读写,同时允许 CPU 访问。 - 通常用于频繁更新的资源,如每帧都会被修改的缓冲区或纹理。D3D11_USAGE_DEFAULT2. D3D11_USAGE_IMMUTABLE: - 表示资源将被 GPU 读取,但不会被 CPU 修改。 - 这种用法适用于一次性初始化的静态数据,例如纹理贴图。D3D11_USAGE_IMMUTABLE3. D3D11_USAGE_DYNAMIC: - 表示资源将被频繁修改,并且 CPU 可以直接访问。 - 适用于需要动态更新的缓冲区或纹理。D3D11_USAGE_DYNAMIC4. D3D11_USAGE_STAGING: - 表示资源将被用作数据传输的中介,通常用于将数据从 GPU 复制到 CPU 或反之。 - 用于高...
Win32 API:D3D11_TEXTURECUBE_FACE 枚举(D3d11.h)
D3D11_TEXTURECUBE_FACE 枚举是用于描述立方体贴图的六个面的枚举。这个枚举定义了以下六个成员:1. D3D11_TEXTURECUBE_FACE_POSITIVE_X: 立方体贴图的正X面。2. D3D11_TEXTURECUBE_FACE_NEGATIVE_X: 立方体贴图的负X面。3. D3D11_TEXTURECUBE_FACE_POSITIVE_Y: 立方体贴图的正Y面。4. D3D11_TEXTURECUBE_FACE_NEGATIVE_Y: 立方体贴图的负Y面。5. D3D11_TEXTURECUBE_FACE_POSITIVE_Z: 立方体贴图的正Z面。6. D3D11_TEXTURECUBE_FACE_NEGATIVE_Z: 立方体贴图的负Z面。这些成员主要用于在处理立方体贴图时指定具体的贴图面。在使用立方体贴图时,你可能需要通过这个枚举来指定具体要操作的贴图面,例如在设置渲染目标视图或者在着色器中采样立方体贴图。以下是一个示例,演示了在渲染过程中使用 D3D11_TEXTURECUBE_FACE 枚举:// 在顶点着色器中传递贴图坐标和面的信息st...
Win32 API:D3D11_TEXTURE_ADDRESS_MODE 枚举(D3d11.h)
D3D11_TEXTURE_ADDRESS_MODE 枚举是用于描述在采样纹理时,纹理坐标超出 [0, 1] 范围时的处理方式。这个枚举定义了三种处理方式:1. D3D11_TEXTURE_ADDRESS_WRAP: 纹理坐标被包裹(wrap)。即当纹理坐标大于1时,将其回绕到0;当纹理坐标小于0时,将其回绕到1。2. D3D11_TEXTURE_ADDRESS_MIRROR: 纹理坐标被镜像。即当纹理坐标大于1时,将其反向回到0;当纹理坐标小于0时,将其反向回到1。3. D3D11_TEXTURE_ADDRESS_CLAMP: 纹理坐标被夹在 [0, 1] 范围内,超过范围的部分被截断。这些模式用于在采样纹理时确定纹理坐标的取值范围,以适应不同的纹理使用场景。在创建采样器状态时,可以指定这些模式之一,以确定纹理坐标越界时的行为。以下是一个示例,演示了如何在创建采样器状态时使用 D3D11_TEXTURE_ADDRESS_MODE 枚举:// 创建采样器状态描述D3D11_SAMPLER_DESC samplerDesc = {};samplerDesc.Filter = D3D11_...
Win32 API:D3D11_STANDARD_MULTISAMPLE_QUALITY_LEVELS 枚举(D3d11.h)
D3D11_STANDARD_MULTISAMPLE_QUALITY_LEVELS 枚举实际上不是一个枚举类型,而是一个预处理器定义,用于在 CheckMultisampleQualityLevels 函数中指定用于标准多重采样设置的特殊值。在使用 CheckMultisampleQualityLevels 函数时,你通常会将 D3D11_STANDARD_MULTISAMPLE_PATTERN 参数设置为 D3D11_STANDARD_MULTISAMPLE_QUALITY_LEVELS。这是为了使用 Direct3D 11 标准多重采样模式和质量级别。以下是一个使用示例:UINT numQualityLevels;HRESULT hr = device->CheckMultisampleQualityLevels(DXGI_FORMAT_R8G8B8A8_UNORM, D3D11_STANDARD_MULTISAMPLE_PATTERN, &numQualityLevels);在这个例子中,numQualityLevels 将包含适用于指定格式和标准多重采样模式的质量...
Win32 API:D3D11_RESOURCE_DIMENSION 枚举(D3d11.h)
D3D11_RESOURCE_DIMENSION 枚举是用于描述 Direct3D 11 中资源的维度的枚举。这个枚举定义了几种可能的资源维度,用于标识不同类型的资源。以下是 D3D11_RESOURCE_DIMENSION 枚举的成员:1. D3D11_RESOURCE_DIMENSION_UNKNOWN: 表示资源的维度是未知的,或者不适用于当前的上下文。2. D3D11_RESOURCE_DIMENSION_BUFFER: 表示资源是一个缓冲区,通常用于存储顶点数据、索引数据等。3. D3D11_RESOURCE_DIMENSION_TEXTURE1D: 表示资源是一个一维纹理。4. D3D11_RESOURCE_DIMENSION_TEXTURE2D: 表示资源是一个二维纹理。5. D3D11_RESOURCE_DIMENSION_TEXTURE3D: 表示资源是一个三维纹理。这些成员用于在创建和操作资源时识别资源的类型和维度。例如,在创建纹理或缓冲区时,你可以通过这个枚举指定资源的维度。以下是一个示例,演示了如何使用 D3D11_RESOURCE_DIMENSION 枚举:D...
Win32 API:D3D11_MAP 枚举(D3d11.h)
D3D11_MAP 枚举是用于描述映射资源时的访问权限的枚举。在 Direct3D 11 中,当你需要在 CPU 和 GPU 之间共享资源数据时,你可能需要映射资源,以便读取或写入资源的内容。这个枚举定义了映射资源时可用的不同权限选项。以下是 D3D11_MAP 枚举的成员:1. D3D11_MAP_READ: 允许读取资源的数据。这通常用于从 GPU 获取资源的当前内容。2. D3D11_MAP_WRITE: 允许写入资源的数据。这通常用于更新资源的内容。3. D3D11_MAP_READ_WRITE: 同时允许读取和写入资源的数据。4. D3D11_MAP_WRITE_DISCARD: 写入资源的数据时,Discard(丢弃)资源的当前内容。这意味着你不关心原有的资源内容,只关心写入新的数据。5. D3D11_MAP_WRITE_NO_OVERWRITE: 写入资源的数据时,不会改变原有资源的内容。这通常用于在资源的末尾追加数据而不影响已有的数据。使用示例:// 映射资源D3D11_MAPPED_SUBRESOURCE mappedResource;HRESULT hr = con...