Share via


EffectCompiler.CompileShader(EffectHandle,String,ShaderFlags,String) Method (Microsoft.DirectX.Direct3D)

Compiles a shader from an effect that contains one or more functions.

Definition

Visual Basic Public Function CompileShader( _
    ByVal functionName As EffectHandle, _
    ByVal target As String, _
    ByVal flags As ShaderFlags, _
    ByRef errorMessages As String _
) As GraphicsStream
C# public GraphicsStream CompileShader(
    EffectHandle functionName,
    string target,
    ShaderFlags flags,
    out string errorMessages
);
C++ public:
GraphicsStreamCompileShader(
    EffectHandlefunctionName,
    StringLeave Sitetarget,
    ShaderFlags flags,
    [Out] StringLeave Site^% errorMessages
);
JScript public function CompileShader(
    functionName : EffectHandle,
    target : String,
    flags : ShaderFlags,
    errorMessages : String
) : GraphicsStream;

Parameters

functionName Microsoft.DirectX.Direct3D.EffectHandle
An EffectHandle used as a unique identifier for the function to be compiled. This value must not be null.
target System.String
String that identifies the shader version. See Remarks.
flags Microsoft.DirectX.Direct3D.ShaderFlags
One or more ShaderFlags flags that specify compile options, or 0.
errorMessages System.String
String that contains at least the first compile error message that occurred. This includes effect compiler errors and high-level language compile errors.

Return Value

Microsoft.DirectX.GraphicsStream
A GraphicsStream object that contains the compiled shader. The compiler shader is an array of Int32Leave Site values.

Remarks

Targets for vertex shaders, pixel shaders, and texture fill functions can be specified in the target parameter. The following table lists the shader versions for each type.

Target type Shader version
Vertex shader vs_1_1, vs_2_0, vs_2_sw, vs_3_0
Pixel shader ps_1_1, ps_1_2, ps_1_3, ps_1_4, ps_2_0, ps_2_sw, ps_3_0
Texture fill tx_0, tx_1

This method compiles a shader from a function that is written in a C-like language.

Exceptions

InvalidCallException

The method call is invalid. For example, a method's parameter might contain an invalid value.