Win32 API:D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE 枚举(D2d1effects.h)
在 D2d1effects.h 头文件中,D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE 枚举用于定义 2D 仿射变换中的插值模式。这个枚举的定义如下:typedef enum D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE{ D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_NEAREST_NEIGHBOR = 0, D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_LINEAR = 1, D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_CUBIC = 2, D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR = 3, D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_ANISOTROPIC = 4, D2D1_2DAFFINETRANSFORM_INTERPOLATIO...
Win32 API:ValueSetter 函数(D2d1effecthelpers.h)
在 Direct2D 的 Effect Authoring API 中,ValueSetter 是一个函数指针类型,用于设置属性值。它通常用于设置自定义图像效果(Custom Image Effect)中的属性值。以下是 ValueSetter 函数指针类型的定义:typedef HRESULT (CALLBACK *ValueSetter)( _In_ void* effectImpl, _In_reads_(dataSize) const BYTE* data, UINT32 dataSize );这个函数指针的目的是接收指向包含属性值的缓冲区的指针,以及缓冲区中数据的大小。函数成功执行后,将把数据应用到效果实现(effect implementation)中。在使用时,你需要实现一个符合这个函数指针类型的函数,并将其用作自定义效果的属性设置函数。在这个函数中,你可以从提供的缓冲区中读取属性值,并将其应用到效果实现中。请注意,具体的使用和实现细节可能需要参考 Direct2D 的官方文档和示例代码。
Win32 API:ValueGetter 函数(D2d1effecthelpers.h)
在 Direct2D 的 Effect Authoring API 中,ValueGetter 是一个函数指针类型,用于获取属性值。它通常用于获取自定义图像效果(Custom Image Effect)中的属性值。以下是 ValueGetter 函数指针类型的定义:typedef HRESULT (CALLBACK *ValueGetter)( _In_ void* effectImpl, _Out_writes_bytes_(dataSize) BYTE* data, UINT32 dataSize, _Out_opt_ UINT32* actualSize );这个函数指针的目的是获取效果实现(effect implementation)中的属性值。它接收一个指向存储数据的缓冲区的指针,以及缓冲区的大小。函数成功执行后,数据将被填充到缓冲区中,并通过 actualSize 返回实际写入的数据大小。在使用时,你需要实现一个符合这个函数指针类型的函数,并将其用作自定义效果的属性获取函数。在这个函数中,你可以从效果实现中获取属性值,并将其写入提供的缓冲区。请...
Win32 API:StringSetter 函数(D2d1effecthelpers.h)
在 Direct2D 中,StringSetter 是一个用于设置字符串值的函数指针类型。它通常用于设置自定义图像效果(Custom Image Effect)中的属性字符串值。以下是 StringSetter 函数指针类型的定义:typedef HRESULT (CALLBACK *StringSetter)( _In_ void* effectImpl, _In_reads_(dataSize) const BYTE* data, UINT32 dataSize );这个函数指针的目的是接收指向字符串数据的指针和该字符串数据的大小,然后将其应用到效果实现(effect implementation)中。在使用时,你需要实现一个符合这个函数指针类型的函数,并将其用作自定义效果的属性设置函数。在这个函数中,你可以将输入的字符串数据应用到你的效果实现中,以便自定义效果能够正确地使用这些属性值。请注意,具体的使用和实现细节可能需要参考 Direct2D 的官方文档和示例代码。
Win32 API:ID2D1EffectContext1 接口(D2d1effectauthor_1.h)
ID2D1EffectContext1 接口是 Direct2D Effect Authoring API 中的一个接口,用于支持自定义图像效果的创建和处理。这个接口可能是在之前的版本中引入的扩展,具体的功能和用法可能涉及到该版本以后的内容。以下是 ID2D1EffectContext1 接口的主要成员:1. GetDxgiDevice 方法: STDMETHOD(GetDxgiDevice)( _COM_Outptr_ IDXGIDevice** dxgiDevice ) const PURE; 获取与当前设备关联的 DXGI 设备。2. CreateTransformNodeFromEffect 方法: STDMETHOD(CreateTransformNodeFromEffect)( _In_ ID2D1Effect* effect, _COM_Outptr_ ID2D1TransformNode** transformNode ) PURE; 从现有的效果创建一个转换节点。3. CreateEffect 方法: S...
Win32 API:ID2D1TransformNode 接口(D2d1effectauthor.h)
ID2D1TransformNode 接口是 Direct2D Effect Authoring API 中的一部分,用于表示图像效果转换中的一个节点。每个节点表示一个图像效果或转换步骤,它们可以通过 ID2D1TransformGraph 接口组合在一起形成一个效果转换图形。以下是 ID2D1TransformNode 接口的主要方法:1. GetOutputTransform 方法: STDMETHOD(GetOutputTransform)( UINT32 outputIndex, _Out_ ID2D1TransformNode** pOutputTransform ) const PURE; 获取指定输出索引处的输出节点。2. SetOutputTransform 方法: STDMETHOD(SetOutputTransform)( UINT32 outputIndex, _In_ ID2D1TransformNode* pOutputTransform ) PURE; 设置指定输出索引处的输出节点。3....
Win32 API:ID2D1TransformGraph 接口(D2d1effectauthor.h)
ID2D1TransformGraph 接口是 Direct2D Effect Authoring API 中的一部分,用于表示图像效果转换的图形。这个接口提供了一种表示和操作效果转换图形的方式。以下是 ID2D1TransformGraph 接口的主要方法:1. AddNode 方法: STDMETHOD(AddNode)( _In_ ID2D1TransformNode* node ) PURE; 将一个节点添加到图形中。节点是 ID2D1TransformNode 接口的实例,它表示一个图像效果或转换。2. RemoveNode 方法: STDMETHOD(RemoveNode)( _In_ ID2D1TransformNode* node ) PURE; 从图形中移除指定的节点。3. ConnectOutToIn 方法: STDMETHOD(ConnectOutToIn)( _In_ ID2D1TransformNode* nodeOut, _In_ ID2D1TransformNode* nodeIn...
Win32 API:ID2D1Transform 接口(D2d1effectauthor.h)
ID2D1Transform 接口是 Direct2D Effect Authoring API 中用于实现自定义图像效果转换的接口。它允许你创建自定义的图像处理效果,这些效果可以用于渲染和处理图形。以下是 ID2D1Transform 接口的主要成员:1. Initialize 方法: STDMETHOD(Initialize)( _In_ ID2D1EffectContext* pContext, _In_ ID2D1TransformGraph* pTransformGraph ) PURE; 该方法用于初始化图像效果转换。在此方法中,你可以创建和配置转换所需的资源和状态。2. PrepareForRender 方法: STDMETHOD(PrepareForRender)( UINT32 inputIndex, _In_ ID2D1TransformGraph* pTransformGraph, _In_ ID2D1TransformGraph2D* pTransformGraph2D ) PURE...
Win32 API:ID2D1SourceTransform 接口(D2d1effectauthor.h)
ID2D1SourceTransform 接口是 Direct2D API 中用于实现自定义图像源转换(Source Transform)的接口之一。它属于 Direct2D Effect Authoring API,用于创建自定义的图像处理效果。以下是 ID2D1SourceTransform 接口的部分成员:1. Initialize方法: STDMETHOD(Initialize)( _In_ ID2D1EffectContext* pContext, _In_ ID2D1TransformGraph* pTransformGraph ) PURE; 该方法用于初始化 Source Transform。在这个方法中,你可以创建和配置转换所需的资源和状态。2. PrepareForRender方法: STDMETHOD(PrepareForRender)( UINT32 inputIndex, _In_ ID2D1TransformGraph* pTransformGraph, _In_ ID2D1Tran...
Win32 API:ID2D1EffectImpl 接口(D2d1effectauthor.h)
ID2D1EffectImpl 接口是用于实现自定义 Direct2D 特效 (Effect) 的接口之一。该接口定义在 D2d1effectauthor.h 头文件中,是 Direct2D 图形 API 的一部分。这个接口用于创建自定义的图形特效,可以用于图形处理和渲染。以下是 ID2D1EffectImpl 接口的一些关键成员:1. Initialize方法: STDMETHOD(Initialize)( ID2D1EffectContext* pContext, ID2D1TransformGraph* pTransformGraph ) PURE; 该方法用于初始化特效。在这个方法中,你可以创建和配置特效所需的资源和状态。2. PrepareForRender方法: STDMETHOD(PrepareForRender)( UINT32 inputIndex, ID2D1TransformGraph* pTransformGraph, ID2D1TransformGraph2D* pTransformG...
Win32 API:ID2D1EffectContext 接口(D2d1effectauthor.h)
ID2D1EffectContext 接口是 Direct2D 图形效果(effect)的作者接口之一,用于在效果的计算管道中进行上下文管理。这个接口提供了一系列方法,允许图形效果与其输入、输出和相关资源进行交互。以下是 ID2D1EffectContext 接口的一些常见方法:1. CreateEffect:创建指定类型的图形效果。 STDMETHOD(CreateEffect)( _In_ REFCLSID effectId, _COM_Outptr_opt_ ID2D1Effect **effect ) PURE;2. GetMaximumSupportedFeatureLevel:获取当前图形效果上下文支持的最高特性级别。 STDMETHOD_(D2D1_FEATURE_LEVEL, GetMaximumSupportedFeatureLevel)( ) CONST PURE;3. GetDpi:获取图形效果上下文的 DPI(每英寸点数)。 STDMETHOD_(void, GetDpi...
Win32 API:D2D1_VERTEX_USAGE 枚举(D2d1effectauthor.h)
在 Win32 API 的 Direct2D 库中,D2D1_VERTEX_USAGE 枚举定义了顶点的使用方式,该枚举用于 Direct2D 图形效果(effect)的作者接口。以下是 D2D1_VERTEX_USAGE 枚举的定义:typedef enum D2D1_VERTEX_USAGE { D2D1_VERTEX_USAGE_STATIC, D2D1_VERTEX_USAGE_DYNAMIC} D2D1_VERTEX_USAGE;这个枚举包含两个成员:1. D2D1_VERTEX_USAGE_STATIC:表示顶点数据是静态的,不会在每帧中修改。这样的顶点数据适用于相对稳定的几何形状。2. D2D1_VERTEX_USAGE_DYNAMIC:表示顶点数据是动态的,可能在每帧中都会被修改。这样的顶点数据适用于需要频繁更新的几何形状。在 Direct2D 中,D2D1_VERTEX_USAGE 枚举通常用于描述效果的输入顶点数据的使用方式,以便进行相应的优化。请注意,具体使用时要根据你的图形效果和场景来选择适当的顶点使用方式。
Win32 API:D2D1_BLEND_OPERATION 枚举(D2d1effectauthor.h)
在 Win32 API 中,D2D1_BLEND_OPERATION 枚举定义在 Direct2D 库的头文件 D2d1effectauthor.h 中。这个枚举用于指定混合操作(blend operation),它是 Direct2D 图形效果(effect)的一部分。以下是 D2D1_BLEND_OPERATION 枚举的定义:typedef enum D2D1_BLEND_OPERATION { D2D1_BLEND_OPERATION_ADD = 1, D2D1_BLEND_OPERATION_SUBTRACT = 2, D2D1_BLEND_OPERATION_REV_SUBTRACT = 3, D2D1_BLEND_OPERATION_MIN = 4, D2D1_BLEND_OPERATION_MAX = 5} D2D1_BLEND_OPERATION;这个枚举包含了一系列混合操作的常量,用于定义源像素和目标像素之间混合的方式。具体的混合操作决定了如何组合源和目标像素的颜色值。以下是各个常量的...
Win32 API:D2D1_BLEND 枚举(D2d1effectauthor.h)
在 Win32 API 中,D2D1_BLEND 枚举定义在 Direct2D 库的头文件 D2d1effectauthor.h 中。这个枚举用于指定混合模式,它是 Direct2D 图形效果(effect)的一部分。以下是 D2D1_BLEND 枚举的定义:typedef enum D2D1_BLEND { D2D1_BLEND_ZERO = 1, D2D1_BLEND_ONE = 2, D2D1_BLEND_SRC_COLOR = 3, D2D1_BLEND_INV_SRC_COLOR = 4, D2D1_BLEND_SRC_ALPHA = 5, D2D1_BLEND_INV_SRC_ALPHA = 6, D2D1_BLEND_DEST_ALPHA = 7, D2D1_BLEND_INV_DEST_ALPHA = 8, D2D1_BLEND_DEST_COLOR = 9, D2D1_BLEND_INV_DEST_COLOR = 10, D2D1_BLEND_SRC_ALPHA_SAT = 11, D2D1_BLEND_BLEND_FACTOR = 14, ...
Win32 API:D2D1_VERTEX_RANGE 结构(D2d1effectauthor.h)
D2D1_VERTEX_RANGE 是 Windows 图形编程中 Direct2D 库中的一个结构体,定义在头文件 D2d1effectauthor.h 中。这个结构体通常用于 Direct2D 效果的作者(effect author)接口。以下是 D2D1_VERTEX_RANGE 结构体的定义:typedef struct D2D1_VERTEX_RANGE { UINT32 startVertex; UINT32 vertexCount;} D2D1_VERTEX_RANGE;这个结构体包含两个成员变量:1. startVertex:表示顶点缓冲区中的起始顶点索引。2. vertexCount:表示顶点的数量。这个结构体通常用于指定一个范围的顶点,用于 Direct2D 中的效果实现。在 Direct2D 中,效果是通过顶点着色器(vertex shader)和像素着色器(pixel shader)来实现的,而 D2D1_VERTEX_RANGE 结构体可以帮助指定这些着色器操作的顶点范围。需要注意的是,这个结构体的具体用法可能会依赖于你的代码上下文和 Direct2D 中...
Win32 API:D2D1_VERTEX_BUFFER_PROPERTIES 结构(D2d1effectauthor.h)
D2D1_VERTEX_BUFFER_PROPERTIES 结构是 Direct2D 中的一个结构体,用于描述顶点缓冲区的相关属性。这个结构在 D2d1effectauthor.h 头文件中定义。以下是 D2D1_VERTEX_BUFFER_PROPERTIES 结构的简要定义:typedef struct D2D1_VERTEX_BUFFER_PROPERTIES{ UINT32 inputCount; D2D1_VERTEX_USAGE usage; const void *data; UINT32 byteWidth;} D2D1_VERTEX_BUFFER_PROPERTIES;结构的字段包括: inputCount:顶点输入的数量。 usage:顶点缓冲区的用途,表示该缓冲区是静态的、动态的还是仅用于 CPU 访问。 data:指向包含顶点数据的内存块的指针。 byteWidth:顶点数据的总字节数。这个结构通常用于在 Direct2D 特效(effect)实现中定义和传递顶点缓冲区的属性,以便在图形渲染中使用。请注意,具体的使用方式和如何与 Dire...
Win32 API:D2D1_PROPERTY_BINDING 结构(D2d1effectauthor.h)
D2D1_PROPERTY_BINDING 结构是 Direct2D 中的一个结构体,用于描述属性(property)和相应的回调函数的绑定关系。这个结构通常在实现 Direct2D 特效(effect)时使用,以便在运行时控制特效的属性。以下是 D2D1_PROPERTY_BINDING 结构的定义:typedef struct D2D1_PROPERTY_BINDING{ PCWSTR propertyName; const D2D1_PROPERTY_TYPE *propertyType; PD2D1_PROPERTY_SET_FUNCTION setFunction; PD2D1_PROPERTY_GET_FUNCTION getFunction;} D2D1_PROPERTY_BINDING;结构的字段包括: propertyName:属性的名称,用于在运行时标识属性。 propertyType:属性的类型,表示属性的数据类型。 setFunction:设置属性值的回调函数。 getFunction:获取属性值的回调函数。这个结构用于将属性和特效实现中...
Win32 API:D2D1_CUSTOM_VERTEX_BUFFER_PROPERTIES 结构(D2d1effectauthor.h)
D2D1_CUSTOM_VERTEX_BUFFER_PROPERTIES 结构是 Direct2D 中的一个结构体,用于描述自定义顶点缓冲区的相关属性。这个结构在 D2d1effectauthor.h 头文件中定义。以下是 D2D1_CUSTOM_VERTEX_BUFFER_PROPERTIES 结构的简要定义:typedef struct D2D1_CUSTOM_VERTEX_BUFFER_PROPERTIES{ UINT32 inputCount; PCWSTR *shaderSemantics; PCWSTR *semanticNamePostfixes;} D2D1_CUSTOM_VERTEX_BUFFER_PROPERTIES;结构的字段包括: inputCount:顶点输入的数量。 shaderSemantics:一个指向字符串数组的指针,表示每个输入的语义。 semanticNamePostfixes:一个指向字符串数组的指针,表示每个输入语义的后缀。这个结构用于定义自定义的顶点缓冲区的属性,通常在 Direct2D 特效(effect)的实现中使用。顶...
Win32 API:D2D1_BLEND_DESCRIPTION 结构(D2d1effectauthor.h)
D2D1_BLEND_DESCRIPTION 结构是 Direct2D 中的一个结构体,用于描述混合(blending)的相关信息。这个结构在 D2d1effectauthor.h 头文件中定义。以下是 D2D1_BLEND_DESCRIPTION 结构的简要定义:typedef struct D2D1_BLEND_DESCRIPTION{ D2D1_BLEND sourceBlend; D2D1_BLEND destinationBlend; D2D1_BLEND_OPERATION blendOperation; D2D1_BLEND sourceBlendAlpha; D2D1_BLEND destinationBlendAlpha; D2D1_BLEND_OPERATION blendOperationAlpha; D2D1_COLOR_WRITE_ENABLE renderTargetWriteMask;} D2D1_BLEND_DESCRIPTION;结构的字段包括: sourceBlend:源颜色混合模式。 destination...
Win32 API:PD2D1_PROPERTY_SET_FUNCTION 回调函数(D2d1effectauthor.h)
PD2D1_PROPERTY_SET_FUNCTION 是 Direct2D 中的一个宏,用于创建属性设置函数。这个宏在 D2d1effectauthor.h 头文件中定义。这个宏的作用是定义一个用于设置 Direct2D 特效(effect)属性值的回调函数。类似于属性获取函数,这个回调函数通常由 Direct2D 特效的作者实现,并用于在运行时设置特效的属性值。这些属性值可以影响特效的外观和行为。以下是 PD2D1_PROPERTY_SET_FUNCTION 宏的简要定义:#define PD2D1_PROPERTY_SET_FUNCTION( functionName, propertyType )宏接受两个参数: functionName:用于定义回调函数的名称。 propertyType:属性的类型。使用这个宏的目的是简化属性设置函数的创建过程。例如:PD2D1_PROPERTY_SET_FUNCTION(SetMyEffectProperty, FLOAT)上述宏的展开将创建一个名为 SetMyEffectProperty 的函数,该函数用于设置浮点类型的特效属性值。请注意...