以下是 ID3D10EffectPass 接口的一些主要方法:
1. Apply 方法:
用于激活或应用此通道,将其渲染状态和着色器应用到设备上。
HRESULT Apply(UINT Flags);
2. GetDesc 方法:
获取此通道的描述信息,包括通道的名称、标志等。
HRESULT GetDesc(D3D10_PASS_DESC *pDesc);
3. GetVertexShaderDesc 和 GetGeometryShaderDesc 方法:
获取此通道中顶点着色器和几何着色器的描述信息。
HRESULT GetVertexShaderDesc(D3D10_SHADER_DESC *pDesc);
HRESULT GetGeometryShaderDesc(D3D10_SHADER_DESC *pDesc);
4. GetPixelShaderDesc 方法:
获取此通道中像素着色器的描述信息。
HRESULT GetPixelShaderDesc(D3D10_SHADER_DESC *pDesc);
5. GetAnnotationByIndex 和 GetAnnotationByName 方法:
获取通道的注释信息,可以用于获取附加的元数据。
ID3D10EffectVariable* GetAnnotationByIndex(UINT Index);
ID3D10EffectVariable* GetAnnotationByName(LPCSTR Name);
6. GetVertexShader、GetGeometryShader 和 GetPixelShader 方法:
获取此通道中的顶点着色器、几何着色器和像素着色器。
ID3D10EffectShaderVariable* GetVertexShader();
ID3D10EffectShaderVariable* GetGeometryShader();
ID3D10EffectShaderVariable* GetPixelShader();
通常,使用 Apply 方法来激活通道,并使用其他方法来获取或操作通道中的各种信息。这些方法通常需要一个 ID3D10EffectPass 接口的实例,你可以通过 ID3D10EffectTechnique 接口中的方法来获取一个通道实例。
转载请注明出处:http://www.zyzy.cn/article/detail/25592/Win32 API/D3d10effect.h/ID3D10EffectPass