📄 d3d10effect.h
字号:
D3D10_SHADER_VARIABLE_CLASS Class; // (e.g. scalar, vector, object, etc.)
D3D10_SHADER_VARIABLE_TYPE Type; // (e.g. float, texture, vertexshader, etc.)
UINT Elements; // Number of elements in this type
// (0 if not an array)
UINT Members; // Number of members
// (0 if not a structure)
UINT Rows; // Number of rows in this type
// (0 if not a numeric primitive)
UINT Columns; // Number of columns in this type
// (0 if not a numeric primitive)
UINT PackedSize; // Number of bytes required to represent
// this data type, when tightly packed
UINT UnpackedSize; // Number of bytes occupied by this data
// type, when laid out in a constant buffer
UINT Stride; // Number of bytes to seek between elements,
// when laid out in a constant buffer
} D3D10_EFFECT_TYPE_DESC;
typedef interface ID3D10EffectType ID3D10EffectType;
typedef interface ID3D10EffectType *LPD3D10EFFECTTYPE;
// {4E9E1DDC-CD9D-4772-A837-00180B9B88FD}
DEFINE_GUID(IID_ID3D10EffectType,
0x4e9e1ddc, 0xcd9d, 0x4772, 0xa8, 0x37, 0x0, 0x18, 0xb, 0x9b, 0x88, 0xfd);
#undef INTERFACE
#define INTERFACE ID3D10EffectType
DECLARE_INTERFACE(ID3D10EffectType)
{
STDMETHOD_(BOOL, IsValid)(THIS) PURE;
STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_TYPE_DESC *pDesc) PURE;
STDMETHOD_(ID3D10EffectType*, GetMemberTypeByIndex)(THIS_ UINT Index) PURE;
STDMETHOD_(ID3D10EffectType*, GetMemberTypeByName)(THIS_ LPCSTR Name) PURE;
STDMETHOD_(ID3D10EffectType*, GetMemberTypeBySemantic)(THIS_ LPCSTR Semantic) PURE;
STDMETHOD_(LPCSTR, GetMemberName)(THIS_ UINT Index) PURE;
STDMETHOD_(LPCSTR, GetMemberSemantic)(THIS_ UINT Index) PURE;
};
//////////////////////////////////////////////////////////////////////////////
// ID3D10EffectVariable //////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
//----------------------------------------------------------------------------
// D3D10_EFFECT_VARIABLE_DESC:
//
// Retrieved by ID3D10EffectVariable::GetDesc()
//----------------------------------------------------------------------------
typedef struct _D3D10_EFFECT_VARIABLE_DESC
{
LPCSTR Name; // Name of this variable, annotation,
// or structure member
LPCSTR Semantic; // Semantic string of this variable
// or structure member (NULL for
// annotations or if not present)
UINT Flags; // D3D10_EFFECT_VARIABLE_* flags
UINT Annotations; // Number of annotations on this variable
// (always 0 for annotations)
UINT BufferOffset; // Offset into containing cbuffer or tbuffer
// (always 0 for annotations or variables
// not in constant buffers)
} D3D10_EFFECT_VARIABLE_DESC;
typedef interface ID3D10EffectVariable ID3D10EffectVariable;
typedef interface ID3D10EffectVariable *LPD3D10EFFECTVARIABLE;
// {AE897105-00E6-45bf-BB8E-281DD6DB8E1B}
DEFINE_GUID(IID_ID3D10EffectVariable,
0xae897105, 0xe6, 0x45bf, 0xbb, 0x8e, 0x28, 0x1d, 0xd6, 0xdb, 0x8e, 0x1b);
#undef INTERFACE
#define INTERFACE ID3D10EffectVariable
// Forward defines
typedef interface ID3D10EffectScalarVariable ID3D10EffectScalarVariable;
typedef interface ID3D10EffectVectorVariable ID3D10EffectVectorVariable;
typedef interface ID3D10EffectMatrixVariable ID3D10EffectMatrixVariable;
typedef interface ID3D10EffectStringVariable ID3D10EffectStringVariable;
typedef interface ID3D10EffectShaderResourceVariable ID3D10EffectShaderResourceVariable;
typedef interface ID3D10EffectConstantBuffer ID3D10EffectConstantBuffer;
typedef interface ID3D10EffectShaderVariable ID3D10EffectShaderVariable;
typedef interface ID3D10EffectBlendVariable ID3D10EffectBlendVariable;
typedef interface ID3D10EffectDepthStencilVariable ID3D10EffectDepthStencilVariable;
typedef interface ID3D10EffectRasterizerVariable ID3D10EffectRasterizerVariable;
typedef interface ID3D10EffectSamplerVariable ID3D10EffectSamplerVariable;
DECLARE_INTERFACE(ID3D10EffectVariable)
{
STDMETHOD_(BOOL, IsValid)(THIS) PURE;
STDMETHOD_(ID3D10EffectType*, GetType)(THIS) PURE;
STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *pDesc) PURE;
STDMETHOD_(ID3D10EffectVariable*, GetAnnotationByIndex)(THIS_ UINT Index) PURE;
STDMETHOD_(ID3D10EffectVariable*, GetAnnotationByName)(THIS_ LPCSTR Name) PURE;
STDMETHOD_(ID3D10EffectVariable*, GetMemberByIndex)(THIS_ UINT Index) PURE;
STDMETHOD_(ID3D10EffectVariable*, GetMemberByName)(THIS_ LPCSTR Name) PURE;
STDMETHOD_(ID3D10EffectVariable*, GetMemberBySemantic)(THIS_ LPCSTR Semantic) PURE;
STDMETHOD_(ID3D10EffectVariable*, GetElement)(THIS_ UINT Index) PURE;
STDMETHOD_(ID3D10EffectConstantBuffer*, GetParentConstantBuffer)(THIS) PURE;
STDMETHOD_(ID3D10EffectScalarVariable*, AsScalar)(THIS) PURE;
STDMETHOD_(ID3D10EffectVectorVariable*, AsVector)(THIS) PURE;
STDMETHOD_(ID3D10EffectMatrixVariable*, AsMatrix)(THIS) PURE;
STDMETHOD_(ID3D10EffectStringVariable*, AsString)(THIS) PURE;
STDMETHOD_(ID3D10EffectShaderResourceVariable*, AsShaderResource)(THIS) PURE;
STDMETHOD_(ID3D10EffectConstantBuffer*, AsConstantBuffer)(THIS) PURE;
STDMETHOD_(ID3D10EffectShaderVariable*, AsShader)(THIS) PURE;
STDMETHOD_(ID3D10EffectBlendVariable*, AsBlend)(THIS) PURE;
STDMETHOD_(ID3D10EffectDepthStencilVariable*, AsDepthStencil)(THIS) PURE;
STDMETHOD_(ID3D10EffectRasterizerVariable*, AsRasterizer)(THIS) PURE;
STDMETHOD_(ID3D10EffectSamplerVariable*, AsSampler)(THIS) PURE;
STDMETHOD(SetRawValue)(THIS_ void *pData, UINT Offset, UINT Count) PURE;
STDMETHOD(GetRawValue)(THIS_ void *pData, UINT Offset, UINT Count) PURE;
};
//////////////////////////////////////////////////////////////////////////////
// ID3D10EffectScalarVariable ////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
typedef interface ID3D10EffectScalarVariable ID3D10EffectScalarVariable;
typedef interface ID3D10EffectScalarVariable *LPD3D10EFFECTSCALARVARIABLE;
// {00E48F7B-D2C8-49e8-A86C-022DEE53431F}
DEFINE_GUID(IID_ID3D10EffectScalarVariable,
0xe48f7b, 0xd2c8, 0x49e8, 0xa8, 0x6c, 0x2, 0x2d, 0xee, 0x53, 0x43, 0x1f);
#undef INTERFACE
#define INTERFACE ID3D10EffectScalarVariable
DECLARE_INTERFACE_(ID3D10EffectScalarVariable, ID3D10EffectVariable)
{
STDMETHOD_(BOOL, IsValid)(THIS) PURE;
STDMETHOD_(ID3D10EffectType*, GetType)(THIS) PURE;
STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *pDesc) PURE;
STDMETHOD_(ID3D10EffectVariable*, GetAnnotationByIndex)(THIS_ UINT Index) PURE;
STDMETHOD_(ID3D10EffectVariable*, GetAnnotationByName)(THIS_ LPCSTR Name) PURE;
STDMETHOD_(ID3D10EffectVariable*, GetMemberByIndex)(THIS_ UINT Index) PURE;
STDMETHOD_(ID3D10EffectVariable*, GetMemberByName)(THIS_ LPCSTR Name) PURE;
STDMETHOD_(ID3D10EffectVariable*, GetMemberBySemantic)(THIS_ LPCSTR Semantic) PURE;
STDMETHOD_(ID3D10EffectVariable*, GetElement)(THIS_ UINT Index) PURE;
STDMETHOD_(ID3D10EffectConstantBuffer*, GetParentConstantBuffer)(THIS) PURE;
STDMETHOD_(ID3D10EffectScalarVariable*, AsScalar)(THIS) PURE;
STDMETHOD_(ID3D10EffectVectorVariable*, AsVector)(THIS) PURE;
STDMETHOD_(ID3D10EffectMatrixVariable*, AsMatrix)(THIS) PURE;
STDMETHOD_(ID3D10EffectStringVariable*, AsString)(THIS) PURE;
STDMETHOD_(ID3D10EffectShaderResourceVariable*, AsShaderResource)(THIS) PURE;
STDMETHOD_(ID3D10EffectConstantBuffer*, AsConstantBuffer)(THIS) PURE;
STDMETHOD_(ID3D10EffectShaderVariable*, AsShader)(THIS) PURE;
STDMETHOD_(ID3D10EffectBlendVariable*, AsBlend)(THIS) PURE;
STDMETHOD_(ID3D10EffectDepthStencilVariable*, AsDepthStencil)(THIS) PURE;
STDMETHOD_(ID3D10EffectRasterizerVariable*, AsRasterizer)(THIS) PURE;
STDMETHOD_(ID3D10EffectSamplerVariable*, AsSampler)(THIS) PURE;
STDMETHOD(SetRawValue)(THIS_ void *pData, UINT ByteOffset, UINT ByteCount) PURE;
STDMETHOD(GetRawValue)(THIS_ void *pData, UINT ByteOffset, UINT ByteCount) PURE;
STDMETHOD(SetFloat)(THIS_ float Value) PURE;
STDMETHOD(GetFloat)(THIS_ float *pValue) PURE;
STDMETHOD(SetFloatArray)(THIS_ float *pData, UINT Offset, UINT Count) PURE;
STDMETHOD(GetFloatArray)(THIS_ float *pData, UINT Offset, UINT Count) PURE;
STDMETHOD(SetInt)(THIS_ int Value) PURE;
STDMETHOD(GetInt)(THIS_ int *pValue) PURE;
STDMETHOD(SetIntArray)(THIS_ int *pData, UINT Offset, UINT Count) PURE;
STDMETHOD(GetIntArray)(THIS_ int *pData, UINT Offset, UINT Count) PURE;
STDMETHOD(SetBool)(THIS_ BOOL Value) PURE;
STDMETHOD(GetBool)(THIS_ BOOL *pValue) PURE;
STDMETHOD(SetBoolArray)(THIS_ BOOL *pData, UINT Offset, UINT Count) PURE;
STDMETHOD(GetBoolArray)(THIS_ BOOL *pData, UINT Offset, UINT Count) PURE;
};
//////////////////////////////////////////////////////////////////////////////
// ID3D10EffectVectorVariable ////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
typedef interface ID3D10EffectVectorVariable ID3D10EffectVectorVariable;
typedef interface ID3D10EffectVectorVariable *LPD3D10EFFECTVECTORVARIABLE;
// {62B98C44-1F82-4c67-BCD0-72CF8F217E81}
DEFINE_GUID(IID_ID3D10EffectVectorVariable,
0x62b98c44, 0x1f82, 0x4c67, 0xbc, 0xd0, 0x72, 0xcf, 0x8f, 0x21, 0x7e, 0x81);
#undef INTERFACE
#define INTERFACE ID3D10EffectVectorVariable
DECLARE_INTERFACE_(ID3D10EffectVectorVariable, ID3D10EffectVariable)
{
STDMETHOD_(BOOL, IsValid)(THIS) PURE;
STDMETHOD_(ID3D10EffectType*, GetType)(THIS) PURE;
STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *pDesc) PURE;
STDMETHOD_(ID3D10EffectVariable*, GetAnnotationByIndex)(THIS_ UINT Index) PURE;
STDMETHOD_(ID3D10EffectVariable*, GetAnnotationByName)(THIS_ LPCSTR Name) PURE;
STDMETHOD_(ID3D10EffectVariable*, GetMemberByIndex)(THIS_ UINT Index) PURE;
STDMETHOD_(ID3D10EffectVariable*, GetMemberByName)(THIS_ LPCSTR Name) PURE;
STDMETHOD_(ID3D10EffectVariable*, GetMemberBySemantic)(THIS_ LPCSTR Semantic) PURE;
STDMETHOD_(ID3D10EffectVariable*, GetElement)(THIS_ UINT Index) PURE;
STDMETHOD_(ID3D10EffectConstantBuffer*, GetParentConstantBuffer)(THIS) PURE;
STDMETHOD_(ID3D10EffectScalarVariable*, AsScalar)(THIS) PURE;
STDMETHOD_(ID3D10EffectVectorVariable*, AsVector)(THIS) PURE;
STDMETHOD_(ID3D10EffectMatrixVariable*, AsMatrix)(THIS) PURE;
STDMETHOD_(ID3D10EffectStringVariable*, AsString)(THIS) PURE;
STDMETHOD_(ID3D10EffectShaderResourceVariable*, AsShaderResource)(THIS) PURE;
STDMETHOD_(ID3D10EffectConstantBuffer*, AsConstantBuffer)(THIS) PURE;
STDMETHOD_(ID3D10EffectShaderVariable*, AsShader)(THIS) PURE;
STDMETHOD_(ID3D10EffectBlendVariable*, AsBlend)(THIS) PURE;
STDMETHOD_(ID3D10EffectDepthStencilVariable*, AsDepthStencil)(THIS) PURE;
STDMETHOD_(ID3D10EffectRasterizerVariable*, AsRasterizer)(THIS) PURE;
STDMETHOD_(ID3D10EffectSamplerVariable*, AsSampler)(THIS) PURE;
STDMETHOD(SetRawValue)(THIS_ void *pData, UINT ByteOffset, UINT ByteCount) PURE;
STDMETHOD(GetRawValue)(THIS_ void *pData, UINT ByteOffset, UINT ByteCount) PURE;
STDMETHOD(SetBoolVector) (THIS_ BOOL *pData) PURE;
STDMETHOD(SetIntVector) (THIS_ int *pData) PURE;
STDMETHOD(SetFloatVector)(THIS_ float *pData) PURE;
STDMETHOD(GetBoolVector) (THIS_ BOOL *pData) PURE;
STDMETHOD(GetIntVector) (THIS_ int *pData) PURE;
STDMETHOD(GetFloatVector)(THIS_ float *pData) PURE;
STDMETHOD(SetBoolVectorArray) (THIS_ BOOL *pData, UINT Offset, UINT Count) PURE;
STDMETHOD(SetIntVectorArray) (THIS_ int *pData, UINT Offset, UINT Count) PURE;
STDMETHOD(SetFloatVectorArray)(THIS_ float *pData, UINT Offset, UINT Count) PURE;
STDMETHOD(GetBoolVectorArray) (THIS_ BOOL *pData, UINT Offset, UINT Count) PURE;
STDMETHOD(GetIntVectorArray) (THIS_ int *pData, UINT Offset, UINT Count) PURE;
STDMETHOD(GetFloatVectorArray)(THIS_ float *pData, UINT Offset, UINT Count) PURE;
};
//////////////////////////////////////////////////////////////////////////////
// ID3D10EffectMatrixVariable ////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
typedef interface ID3D10EffectMatrixVariable ID3D10EffectMatrixVariable;
typedef interface ID3D10EffectMatrixVariable *LPD3D10EFFECTMATRIXVARIABLE;
// {50666C24-B82F-4eed-A172-5B6E7E8522E0}
DEFINE_GUID(IID_ID3D10EffectMatrixVariable,
0x50666c24, 0xb82f, 0x4eed, 0xa1, 0x72, 0x5b, 0x6e, 0x7e, 0x85, 0x22, 0xe0);
#undef INTERFACE
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -