UINT Techniques;
} D3D10_EFFECT_DESC;
+typedef struct _D3D10_EFFECT_SHADER_DESC
+{
+ const BYTE *pInputSignature;
+ BOOL IsInline;
+ const BYTE *pBytecode;
+ UINT BytecodeLength;
+ LPCSTR SODecl;
+ UINT NumInputSignatureEntries;
+ UINT NumOutputSignatureEntries;
+} D3D10_EFFECT_SHADER_DESC;
+
typedef struct _D3D10_PASS_DESC
{
LPCSTR Name;
};
#undef INTERFACE
+DEFINE_GUID(IID_ID3D10EffectShaderResourceVariable,
+ 0xc0a7157b, 0xd872, 0x4b1d, 0x80, 0x73, 0xef, 0xc2, 0xac, 0xd4, 0xb1, 0xfc);
+
+#define INTERFACE ID3D10EffectShaderResourceVariable
+DECLARE_INTERFACE_(ID3D10EffectShaderResourceVariable, ID3D10EffectVariable)
+{
+ /* ID3D10EffectVariable methods */
+ STDMETHOD_(BOOL, IsValid)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectType *, GetType)(THIS) PURE;
+ STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *desc) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ LPCSTR name) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByIndex)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByName)(THIS_ LPCSTR name) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberBySemantic)(THIS_ LPCSTR semantic) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetElement)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetParentConstantBuffer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectScalarVariable *, AsScalar)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectVectorVariable *, AsVector)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectMatrixVariable *, AsMatrix)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectStringVariable *, AsString)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectShaderResourceVariable *, AsShaderResource)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectRenderTargetViewVariable *, AsRenderTargetView)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectDepthStencilViewVariable *, AsDepthStencilView)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectConstantBuffer *, AsConstantBuffer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectShaderVariable *, AsShader)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectBlendVariable *, AsBlend)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectDepthStencilVariable *, AsDepthStencil)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectRasterizerVariable *, AsRasterizer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectSamplerVariable *, AsSampler)(THIS) PURE;
+ STDMETHOD(SetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
+ STDMETHOD(GetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
+ /* ID3D10EffectShaderResourceVariable methods */
+ STDMETHOD(SetResource)(THIS_ ID3D10ShaderResourceView *resource) PURE;
+ STDMETHOD(GetResource)(THIS_ ID3D10ShaderResourceView **resource) PURE;
+ STDMETHOD(SetResourceArray)(THIS_ ID3D10ShaderResourceView **resources, UINT offset, UINT count) PURE;
+ STDMETHOD(GetResourceArray)(THIS_ ID3D10ShaderResourceView **resources, UINT offset, UINT count) PURE;
+};
+#undef INTERFACE
+
+DEFINE_GUID(IID_ID3D10EffectRenderTargetViewVariable,
+ 0x28ca0cc3, 0xc2c9, 0x40bb, 0xb5, 0x7f, 0x67, 0xb7, 0x37, 0x12, 0x2b, 0x17);
+
+#define INTERFACE ID3D10EffectRenderTargetViewVariable
+DECLARE_INTERFACE_(ID3D10EffectRenderTargetViewVariable, ID3D10EffectVariable)
+{
+ /* ID3D10EffectVariable methods */
+ STDMETHOD_(BOOL, IsValid)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectType *, GetType)(THIS) PURE;
+ STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *desc) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ LPCSTR name) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByIndex)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByName)(THIS_ LPCSTR name) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberBySemantic)(THIS_ LPCSTR semantic) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetElement)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetParentConstantBuffer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectScalarVariable *, AsScalar)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectVectorVariable *, AsVector)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectMatrixVariable *, AsMatrix)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectStringVariable *, AsString)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectShaderResourceVariable *, AsShaderResource)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectRenderTargetViewVariable *, AsRenderTargetView)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectDepthStencilViewVariable *, AsDepthStencilView)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectConstantBuffer *, AsConstantBuffer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectShaderVariable *, AsShader)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectBlendVariable *, AsBlend)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectDepthStencilVariable *, AsDepthStencil)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectRasterizerVariable *, AsRasterizer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectSamplerVariable *, AsSampler)(THIS) PURE;
+ STDMETHOD(SetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
+ STDMETHOD(GetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
+ /* ID3D10EffectRenderTargetViewVariable methods */
+ STDMETHOD(SetRenderTarget)(THIS_ ID3D10RenderTargetView *view) PURE;
+ STDMETHOD(GetRenderTarget)(THIS_ ID3D10RenderTargetView **view) PURE;
+ STDMETHOD(SetRenderTargetArray)(THIS_ ID3D10RenderTargetView **views, UINT offset, UINT count) PURE;
+ STDMETHOD(GetRenderTargetArray)(THIS_ ID3D10RenderTargetView **views, UINT offset, UINT count) PURE;
+};
+#undef INTERFACE
+
+DEFINE_GUID(IID_ID3D10EffectDepthStencilViewVariable,
+ 0x3e02c918, 0xcc79, 0x4985, 0xb6, 0x22, 0x2d, 0x92, 0xad, 0x70, 0x16, 0x23);
+
+#define INTERFACE ID3D10EffectDepthStencilViewVariable
+DECLARE_INTERFACE_(ID3D10EffectDepthStencilViewVariable, ID3D10EffectVariable)
+{
+ /* ID3D10EffectVariable methods */
+ STDMETHOD_(BOOL, IsValid)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectType *, GetType)(THIS) PURE;
+ STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *desc) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ LPCSTR name) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByIndex)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByName)(THIS_ LPCSTR name) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberBySemantic)(THIS_ LPCSTR semantic) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetElement)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetParentConstantBuffer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectScalarVariable *, AsScalar)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectVectorVariable *, AsVector)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectMatrixVariable *, AsMatrix)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectStringVariable *, AsString)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectShaderResourceVariable *, AsShaderResource)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectRenderTargetViewVariable *, AsRenderTargetView)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectDepthStencilViewVariable *, AsDepthStencilView)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectConstantBuffer *, AsConstantBuffer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectShaderVariable *, AsShader)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectBlendVariable *, AsBlend)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectDepthStencilVariable *, AsDepthStencil)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectRasterizerVariable *, AsRasterizer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectSamplerVariable *, AsSampler)(THIS) PURE;
+ STDMETHOD(SetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
+ STDMETHOD(GetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
+ /* ID3D10EffectDepthStencilViewVariable methods */
+ STDMETHOD(SetDepthStencil)(THIS_ ID3D10DepthStencilView *view) PURE;
+ STDMETHOD(GetDepthStencil)(THIS_ ID3D10DepthStencilView **view) PURE;
+ STDMETHOD(SetDepthStencilArray)(THIS_ ID3D10DepthStencilView **views, UINT offset, UINT count) PURE;
+ STDMETHOD(GetDepthStencilArray)(THIS_ ID3D10DepthStencilView **views, UINT offset, UINT count) PURE;
+};
+#undef INTERFACE
+
+DEFINE_GUID(IID_ID3D10EffectShaderVariable, 0x80849279, 0xc799, 0x4797, 0x8c, 0x33, 0x04, 0x07, 0xa0, 0x7d, 0x9e, 0x06);
+
+#define INTERFACE ID3D10EffectShaderVariable
+DECLARE_INTERFACE_(ID3D10EffectShaderVariable, ID3D10EffectVariable)
+{
+ /* ID3D10EffectVariable methods */
+ STDMETHOD_(BOOL, IsValid)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectType *, GetType)(THIS) PURE;
+ STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *desc) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ LPCSTR name) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByIndex)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByName)(THIS_ LPCSTR name) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberBySemantic)(THIS_ LPCSTR semantic) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetElement)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetParentConstantBuffer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectScalarVariable *, AsScalar)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectVectorVariable *, AsVector)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectMatrixVariable *, AsMatrix)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectStringVariable *, AsString)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectShaderResourceVariable *, AsShaderResource)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectRenderTargetViewVariable *, AsRenderTargetView)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectDepthStencilViewVariable *, AsDepthStencilView)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectConstantBuffer *, AsConstantBuffer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectShaderVariable *, AsShader)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectBlendVariable *, AsBlend)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectDepthStencilVariable *, AsDepthStencil)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectRasterizerVariable *, AsRasterizer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectSamplerVariable *, AsSampler)(THIS) PURE;
+ STDMETHOD(SetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
+ STDMETHOD(GetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
+ /* ID3D10EffectShaderVariable methods */
+ STDMETHOD(GetShaderDesc)(THIS_ UINT index, D3D10_EFFECT_SHADER_DESC *desc) PURE;
+ STDMETHOD(GetVertexShader)(THIS_ UINT index, ID3D10VertexShader **shader) PURE;
+ STDMETHOD(GetGeometryShader)(THIS_ UINT index, ID3D10GeometryShader **shader) PURE;
+ STDMETHOD(GetPixelShader)(THIS_ UINT index, ID3D10PixelShader **shader) PURE;
+ STDMETHOD(GetInputSignatureElementDesc)(THIS_ UINT shader_index, UINT element_index,
+ D3D10_SIGNATURE_PARAMETER_DESC *desc) PURE;
+ STDMETHOD(GetOutputSignatureElementDesc)(THIS_ UINT shader_index, UINT element_index,
+ D3D10_SIGNATURE_PARAMETER_DESC *desc) PURE;
+};
+#undef INTERFACE
+
+DEFINE_GUID(IID_ID3D10EffectBlendVariable, 0x1fcd2294, 0xdf6d, 0x4eae, 0x86, 0xb3, 0x0e, 0x91, 0x60, 0xcf, 0xb0, 0x7b);
+
+#define INTERFACE ID3D10EffectBlendVariable
+DECLARE_INTERFACE_(ID3D10EffectBlendVariable, ID3D10EffectVariable)
+{
+ /* ID3D10EffectVariable methods */
+ STDMETHOD_(BOOL, IsValid)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectType *, GetType)(THIS) PURE;
+ STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *desc) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ LPCSTR name) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByIndex)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByName)(THIS_ LPCSTR name) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberBySemantic)(THIS_ LPCSTR semantic) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetElement)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetParentConstantBuffer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectScalarVariable *, AsScalar)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectVectorVariable *, AsVector)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectMatrixVariable *, AsMatrix)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectStringVariable *, AsString)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectShaderResourceVariable *, AsShaderResource)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectRenderTargetViewVariable *, AsRenderTargetView)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectDepthStencilViewVariable *, AsDepthStencilView)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectConstantBuffer *, AsConstantBuffer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectShaderVariable *, AsShader)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectBlendVariable *, AsBlend)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectDepthStencilVariable *, AsDepthStencil)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectRasterizerVariable *, AsRasterizer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectSamplerVariable *, AsSampler)(THIS) PURE;
+ STDMETHOD(SetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
+ STDMETHOD(GetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
+ /* ID3D10EffectBlendVariable methods */
+ STDMETHOD(GetBlendState)(THIS_ UINT index, ID3D10BlendState **blend_state) PURE;
+ STDMETHOD(GetBackingStore)(THIS_ UINT index, D3D10_BLEND_DESC *desc) PURE;
+};
+#undef INTERFACE
+
+DEFINE_GUID(IID_ID3D10EffectDepthStencilVariable,
+ 0xaf482368, 0x330a, 0x46a5, 0x9a, 0x5c, 0x01, 0xc7, 0x1a, 0xf2, 0x4c, 0x8d);
+
+#define INTERFACE ID3D10EffectDepthStencilVariable
+DECLARE_INTERFACE_(ID3D10EffectDepthStencilVariable, ID3D10EffectVariable)
+{
+ /* ID3D10EffectVariable methods */
+ STDMETHOD_(BOOL, IsValid)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectType *, GetType)(THIS) PURE;
+ STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *desc) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ LPCSTR name) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByIndex)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByName)(THIS_ LPCSTR name) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberBySemantic)(THIS_ LPCSTR semantic) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetElement)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetParentConstantBuffer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectScalarVariable *, AsScalar)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectVectorVariable *, AsVector)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectMatrixVariable *, AsMatrix)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectStringVariable *, AsString)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectShaderResourceVariable *, AsShaderResource)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectRenderTargetViewVariable *, AsRenderTargetView)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectDepthStencilViewVariable *, AsDepthStencilView)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectConstantBuffer *, AsConstantBuffer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectShaderVariable *, AsShader)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectBlendVariable *, AsBlend)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectDepthStencilVariable *, AsDepthStencil)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectRasterizerVariable *, AsRasterizer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectSamplerVariable *, AsSampler)(THIS) PURE;
+ STDMETHOD(SetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
+ STDMETHOD(GetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
+ /* ID3D10EffectDepthStencilVariable methods */
+ STDMETHOD(GetDepthStencilState)(THIS_ UINT index, ID3D10DepthStencilState **depth_stencil_state) PURE;
+ STDMETHOD(GetBackingStore)(THIS_ UINT index, D3D10_DEPTH_STENCIL_DESC *desc) PURE;
+};
+#undef INTERFACE
+
+DEFINE_GUID(IID_ID3D10EffectRasterizerVariable,
+ 0x21af9f0e, 0x4d94, 0x4ea9, 0x97, 0x85, 0x2c, 0xb7, 0x6b, 0x8c, 0x0b, 0x34);
+
+#define INTERFACE ID3D10EffectRasterizerVariable
+DECLARE_INTERFACE_(ID3D10EffectRasterizerVariable, ID3D10EffectVariable)
+{
+ /* ID3D10EffectVariable methods */
+ STDMETHOD_(BOOL, IsValid)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectType *, GetType)(THIS) PURE;
+ STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *desc) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ LPCSTR name) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByIndex)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByName)(THIS_ LPCSTR name) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberBySemantic)(THIS_ LPCSTR semantic) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetElement)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetParentConstantBuffer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectScalarVariable *, AsScalar)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectVectorVariable *, AsVector)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectMatrixVariable *, AsMatrix)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectStringVariable *, AsString)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectShaderResourceVariable *, AsShaderResource)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectRenderTargetViewVariable *, AsRenderTargetView)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectDepthStencilViewVariable *, AsDepthStencilView)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectConstantBuffer *, AsConstantBuffer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectShaderVariable *, AsShader)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectBlendVariable *, AsBlend)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectDepthStencilVariable *, AsDepthStencil)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectRasterizerVariable *, AsRasterizer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectSamplerVariable *, AsSampler)(THIS) PURE;
+ STDMETHOD(SetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
+ STDMETHOD(GetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
+ /* ID3D10EffectRasterizerVariable methods */
+ STDMETHOD(GetRasterizerState)(THIS_ UINT index, ID3D10RasterizerState **rasterizer_state) PURE;
+ STDMETHOD(GetBackingStore)(THIS_ UINT index, D3D10_RASTERIZER_DESC *desc) PURE;
+};
+#undef INTERFACE
+
+DEFINE_GUID(IID_ID3D10EffectSamplerVariable,
+ 0x6530d5c7, 0x07e9, 0x4271, 0xa4, 0x18, 0xe7, 0xce, 0x4b, 0xd1, 0xe4, 0x80);
+
+#define INTERFACE ID3D10EffectSamplerVariable
+DECLARE_INTERFACE_(ID3D10EffectSamplerVariable, ID3D10EffectVariable)
+{
+ /* ID3D10EffectVariable methods */
+ STDMETHOD_(BOOL, IsValid)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectType *, GetType)(THIS) PURE;
+ STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *desc) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ LPCSTR name) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByIndex)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByName)(THIS_ LPCSTR name) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberBySemantic)(THIS_ LPCSTR semantic) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetElement)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetParentConstantBuffer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectScalarVariable *, AsScalar)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectVectorVariable *, AsVector)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectMatrixVariable *, AsMatrix)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectStringVariable *, AsString)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectShaderResourceVariable *, AsShaderResource)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectRenderTargetViewVariable *, AsRenderTargetView)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectDepthStencilViewVariable *, AsDepthStencilView)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectConstantBuffer *, AsConstantBuffer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectShaderVariable *, AsShader)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectBlendVariable *, AsBlend)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectDepthStencilVariable *, AsDepthStencil)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectRasterizerVariable *, AsRasterizer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectSamplerVariable *, AsSampler)(THIS) PURE;
+ STDMETHOD(SetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
+ STDMETHOD(GetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
+ /* ID3D10EffectSamplerVariable methods */
+ STDMETHOD(GetSampler)(THIS_ UINT index, ID3D10SamplerState **sampler) PURE;
+ STDMETHOD(GetBackingStore)(THIS_ UINT index, D3D10_SAMPLER_DESC *desc) PURE;
+};
+#undef INTERFACE
+
DEFINE_GUID(IID_ID3D10EffectTechnique, 0xdb122ce8, 0xd1c9, 0x4292, 0xb2, 0x37, 0x24, 0xed, 0x3d, 0xe8, 0xb1, 0x75);
#define INTERFACE ID3D10EffectTechnique