📄 d3d10effect.h
字号:
STDMETHOD_(ID3D10EffectRenderTargetViewVariable*, AsRenderTargetView)(THIS) PURE;
STDMETHOD_(ID3D10EffectDepthStencilViewVariable*, AsDepthStencilView)(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;
STDMETHOD(GetDepthStencilState)(THIS_ UINT Index, ID3D10DepthStencilState **ppDepthStencilState) PURE;
STDMETHOD(GetBackingStore)(THIS_ UINT Index, D3D10_DEPTH_STENCIL_DESC *pDepthStencilDesc) PURE;
};
//////////////////////////////////////////////////////////////////////////////
// ID3D10EffectRasterizerVariable ////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
typedef interface ID3D10EffectRasterizerVariable ID3D10EffectRasterizerVariable;
typedef interface ID3D10EffectRasterizerVariable *LPD3D10EFFECTRASTERIZERVARIABLE;
// {21AF9F0E-4D94-4ea9-9785-2CB76B8C0B34}
DEFINE_GUID(IID_ID3D10EffectRasterizerVariable,
0x21af9f0e, 0x4d94, 0x4ea9, 0x97, 0x85, 0x2c, 0xb7, 0x6b, 0x8c, 0xb, 0x34);
#undef INTERFACE
#define INTERFACE ID3D10EffectRasterizerVariable
DECLARE_INTERFACE_(ID3D10EffectRasterizerVariable, ID3D10EffectVariable)
{
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_(ID3D10EffectRenderTargetViewVariable*, AsRenderTargetView)(THIS) PURE;
STDMETHOD_(ID3D10EffectDepthStencilViewVariable*, AsDepthStencilView)(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;
STDMETHOD(GetRasterizerState)(THIS_ UINT Index, ID3D10RasterizerState **ppRasterizerState) PURE;
STDMETHOD(GetBackingStore)(THIS_ UINT Index, D3D10_RASTERIZER_DESC *pRasterizerDesc) PURE;
};
//////////////////////////////////////////////////////////////////////////////
// ID3D10EffectSamplerVariable ///////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
typedef interface ID3D10EffectSamplerVariable ID3D10EffectSamplerVariable;
typedef interface ID3D10EffectSamplerVariable *LPD3D10EFFECTSAMPLERVARIABLE;
// {6530D5C7-07E9-4271-A418-E7CE4BD1E480}
DEFINE_GUID(IID_ID3D10EffectSamplerVariable,
0x6530d5c7, 0x7e9, 0x4271, 0xa4, 0x18, 0xe7, 0xce, 0x4b, 0xd1, 0xe4, 0x80);
#undef INTERFACE
#define INTERFACE ID3D10EffectSamplerVariable
DECLARE_INTERFACE_(ID3D10EffectSamplerVariable, ID3D10EffectVariable)
{
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_(ID3D10EffectRenderTargetViewVariable*, AsRenderTargetView)(THIS) PURE;
STDMETHOD_(ID3D10EffectDepthStencilViewVariable*, AsDepthStencilView)(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;
STDMETHOD(GetSampler)(THIS_ UINT Index, ID3D10SamplerState **ppSampler) PURE;
STDMETHOD(GetBackingStore)(THIS_ UINT Index, D3D10_SAMPLER_DESC *pSamplerDesc) PURE;
};
//////////////////////////////////////////////////////////////////////////////
// ID3D10EffectPass //////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
//----------------------------------------------------------------------------
// D3D10_PASS_DESC:
//
// Retrieved by ID3D10EffectPass::GetDesc()
//----------------------------------------------------------------------------
typedef struct _D3D10_PASS_DESC
{
LPCSTR Name; // Name of this pass (NULL if not anonymous)
UINT Annotations; // Number of annotations on this pass
BYTE *pIAInputSignature; // Signature from VS or GS (if there is no VS)
// or NULL if neither exists
SIZE_T IAInputSignatureSize; // Singature size in bytes
UINT StencilRef; // Specified in SetDepthStencilState()
UINT SampleMask; // Specified in SetBlendState()
FLOAT BlendFactor[4]; // Specified in SetBlendState()
} D3D10_PASS_DESC;
//----------------------------------------------------------------------------
// D3D10_PASS_SHADER_DESC:
//
// Retrieved by ID3D10EffectPass::Get**ShaderDesc()
//----------------------------------------------------------------------------
typedef struct _D3D10_PASS_SHADER_DESC
{
ID3D10EffectShaderVariable *pShaderVariable; // The variable that this shader came from.
// If this is an inline shader assignment,
// the returned interface will be an
// anonymous shader variable, which is
// not retrievable any other way. It's
// name in the variable description will
// be "$Anonymous".
// If there is no assignment of this type in
// the pass block, pShaderVariable != NULL,
// but pShaderVariable->IsValid() == FALSE.
UINT ShaderIndex; // The element of pShaderVariable (if an array)
// or 0 if not applicable
} D3D10_PASS_SHADER_DESC;
typedef interface ID3D10EffectPass ID3D10EffectPass;
typedef interface ID3D10EffectPass *LPD3D10EFFECTPASS;
// {5CFBEB89-1A06-46e0-B282-E3F9BFA36A54}
DEFINE_GUID(IID_ID3D10EffectPass,
0x5cfbeb89, 0x1a06, 0x46e0, 0xb2, 0x82, 0xe3, 0xf9, 0xbf, 0xa3, 0x6a, 0x54);
#undef INTERFACE
#define INTERFACE ID3D10EffectPass
DECLARE_INTERFACE(ID3D10EffectPass)
{
STDMETHOD_(BOOL, IsValid)(THIS) PURE;
STDMETHOD(GetDesc)(THIS_ D3D10_PASS_DESC *pDesc) PURE;
STDMETHOD(GetVertexShaderDesc)(THIS_ D3D10_PASS_SHADER_DESC *pDesc) PURE;
STDMETHOD(GetGeometryShaderDesc)(THIS_ D3D10_PASS_SHADER_DESC *pDesc) PURE;
STDMETHOD(GetPixelShaderDesc)(THIS_ D3D10_PASS_SHADER_DESC *pDesc) PURE;
STDMETHOD_(ID3D10EffectVariable*, GetAnnotationByIndex)(THIS_ UINT Index) PURE;
STDMETHOD_(ID3D10EffectVariable*, GetAnnotationByName)(THIS_ LPCSTR Name) PURE;
STDMETHOD(Apply)(THIS_ UINT Flags) PURE;
STDMETHOD(ComputeStateBlockMask)(THIS_ D3D10_STATE_BLOCK_MASK *pStateBlockMask) PURE;
};
//////////////////////////////////////////////////////////////////////////////
// ID3D10EffectTechnique /////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
//----------------------------------------------------------------------------
// D3D10_TECHNIQUE_DESC:
//
// Retrieved by ID3D10EffectTechnique::GetDesc()
//----------------------------------------------------------------------------
typedef struct _D3D10_TECHNIQUE_DESC
{
LPCSTR Name; // Name of this technique (NULL if not anonymous)
UINT Passes; // Number of passes contained within
UINT Annotations; // Number of annotations on this technique
} D3D10_TECHNIQUE_DESC;
typedef interface ID3D10EffectTechnique ID3D10EffectTechnique;
typedef interface ID3D10EffectTechnique *LPD3D10EFFECTTECHNIQUE;
// {DB122CE8-D1C9-4292-B237-24ED3DE8B175}
DEFINE_GUID(IID_ID3D10EffectTechnique,
0xdb122ce8, 0xd1c9, 0x4292, 0xb2, 0x37, 0x24, 0xed, 0x3d, 0xe8, 0xb1, 0x75);
#undef INTERFACE
#define INTERFACE ID3D10EffectTechnique
DECLARE_INTERFACE(ID3D10EffectTechnique)
{
STDMETHOD_(BOOL, IsValid)(THIS) PURE;
STDMETHOD(GetDesc)(THIS_ D3D10_TECHNIQUE_DESC *pDesc) PURE;
STDMETHOD_(ID3D10EffectVariable*, GetAnnotationByIndex)(THIS_ UINT Index) PURE;
STDMETHOD_(ID3D10EffectVariable*, GetAnnotationByName)(THIS_ LPCSTR Name) PURE;
STDMETHOD_(ID3D10EffectPass*, GetPassByIndex)(THIS_ UINT Index) PURE;
STDMETHOD_(ID3D10EffectPass*, GetPassByName)(THIS_ LPCSTR Name) PURE;
STDMETHOD(ComputeStateBlockMask)(THIS_ D3D10_STATE_BLOCK_MASK *pStateBlockMask) PURE;
};
//////////////////////////////////////////////////////////////////////////////
// ID3D10Effect //////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
//----------------------------------------------------------------------------
// D3D10_EFFECT_DESC:
//
// Retrieved by ID3D10Effect::GetDesc()
//----------------------------------------------------------------------------
typedef struct _D3D10_EFFECT_DESC
{
//TODO: do we need these?
//LPCSTR Creator;
//UINT Version;
BOOL IsChildEffect; // TRUE if this is a child effect,
// FALSE if this is standalone or an effect pool.
UINT ConstantBuffers; // Number of constant buffers in this effect,
// excluding the effect pool.
UINT SharedConstantBuffers; // Number of constant buffers shared in this
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -