C# Class Axiom.RenderSystems.DirectX9.HLSL.HLSLProgram

Summary description for HLSLProgram.
Inheritance: Axiom.Graphics.HighLevelGpuProgram
Show file Open project: WolfgangSt/axiom

Protected Properties

Property Type Description
columnMajorMatrices bool
entry string
microcode SlimDX.Direct3D9.ShaderBytecode
optimizationLevel OptimizationLevel
parametersMap GpuProgramParameters.GpuConstantDefinitionMap
preprocessorDefines string
target string

Public Methods

Method Description
CreateParameters ( ) : GpuProgramParameters

Creates a new parameters object compatible with this program definition.

Unlike low-level assembly programs, parameters objects are specific to the program and therefore must be created from it rather than by the HighLevelGpuProgramManager. This method creates a new instance of a parameters object containing the definition of the parameters this program understands.

HLSLProgram ( ResourceManager parent, string name, System.UInt64 handle, string group, bool isManual, IManualResourceLoader loader ) : System

Creates a new instance of HLSLProgram

SetParam ( string name, string val ) : bool

Sets a param for this HLSL program.

Protected Methods

Method Description
dispose ( bool disposeManagedResources ) : void

Private Methods

Method Description
BuildConstantDefinitions ( ) : void
CompileMicrocode ( ) : void
CreateLowLevelImpl ( ) : void
LoadFromSource ( ) : void
PopulateDef ( ConstantDescription d3DDesc, GpuProgramParameters def ) : void
ProcessParamElement ( ConstantTable constantTable, EffectHandle parent, string prefix, int index ) : void
UnloadHighLevelImpl ( ) : void
buildDefines ( string defines ) : List

Method Details

CreateParameters() public method

Creates a new parameters object compatible with this program definition.
Unlike low-level assembly programs, parameters objects are specific to the program and therefore must be created from it rather than by the HighLevelGpuProgramManager. This method creates a new instance of a parameters object containing the definition of the parameters this program understands.
public CreateParameters ( ) : GpuProgramParameters
return Axiom.Graphics.GpuProgramParameters

HLSLProgram() public method

Creates a new instance of HLSLProgram
public HLSLProgram ( ResourceManager parent, string name, System.UInt64 handle, string group, bool isManual, IManualResourceLoader loader ) : System
parent Axiom.Core.ResourceManager the ResourceManager that owns this resource
name string Name of the program
handle System.UInt64 The resource id of the program
group string the resource group
isManual bool is the program manually loaded?
loader IManualResourceLoader the loader responsible for this program
return System

SetParam() public method

Sets a param for this HLSL program.
public SetParam ( string name, string val ) : bool
name string
val string
return bool

dispose() protected method

protected dispose ( bool disposeManagedResources ) : void
disposeManagedResources bool
return void

Property Details

columnMajorMatrices protected property

determines which packing order to use for matrices
protected bool columnMajorMatrices
return bool

entry protected property

Entry point to compile from the program.
protected string entry
return string

microcode protected property

Holds the low level program instructions after the compile.
protected ShaderBytecode,SlimDX.Direct3D9 microcode
return SlimDX.Direct3D9.ShaderBytecode

optimizationLevel protected property

the optimization level to use.
protected OptimizationLevel optimizationLevel
return OptimizationLevel

parametersMap protected property

protected GpuProgramParameters.GpuConstantDefinitionMap parametersMap
return GpuProgramParameters.GpuConstantDefinitionMap

preprocessorDefines protected property

the preprocessor definitions to use to compile the program
protected string preprocessorDefines
return string

target protected property

Shader profile to target for the compile (i.e. vs1.1, etc).
protected string target
return string