C# Class Axiom.Graphics.UnifiedHighLevelGpuProgram

Specialization of HighLevelGpuProgram which just delegates its implementation to one other high level program, allowing a single program definition to represent one supported program from a number of options
Whilst you can use Technique to implement several ways to render an object depending on hardware support, if the only reason to need multiple paths is because of the high-level shader language supported, this can be cumbersome. For example you might want to implement the same shader in HLSL and GLSL for portability but apart from the implementation detail, the shaders do the same thing and take the same parameters. If the materials in question are complex, duplicating the techniques just to switch language is not optimal, so instead you can define high-level programs with a syntax of 'unified', and list the actual implementations in order of preference via repeated use of the 'delegate' parameter, which just points at another program name. The first one which has a supported syntax will be used.
Inheritance: Axiom.Graphics.HighLevelGpuProgram
Afficher le fichier Open project: mono-soc-2011/axiom

Méthodes publiques

Méthode Description
AddDelegateProgram ( string delegateName ) : void

Adds a new delegate program to the list.

Delegates are tested in order so earlier ones are preferred.

ClearDelegatePrograms ( ) : void

Remove all delegate programs

CreateParameters ( ) : GpuProgramParameters
Load ( bool background ) : void
SetParam ( string name, string val ) : bool

Méthodes protégées

Méthode Description
BuildConstantDefinitions ( ) : void
CreateLowLevelImpl ( ) : void
LoadFromSource ( ) : void
PopulateParameterNames ( GpuProgramParameters parms ) : void
UnloadImpl ( ) : void
buildConstantDefinitions ( ) : void
chooseDelegate ( ) : void

Private Methods

Méthode Description
UnifiedHighLevelGpuProgram ( ResourceManager creator, string name, System.UInt64 handle, string group ) : System
UnifiedHighLevelGpuProgram ( ResourceManager creator, string name, System.UInt64 handle, string group, bool isManual, IManualResourceLoader loader ) : System

Method Details

AddDelegateProgram() public méthode

Adds a new delegate program to the list.
Delegates are tested in order so earlier ones are preferred.
public AddDelegateProgram ( string delegateName ) : void
delegateName string
Résultat void

BuildConstantDefinitions() protected méthode

protected BuildConstantDefinitions ( ) : void
Résultat void

ClearDelegatePrograms() public méthode

Remove all delegate programs
public ClearDelegatePrograms ( ) : void
Résultat void

CreateLowLevelImpl() protected méthode

protected CreateLowLevelImpl ( ) : void
Résultat void

CreateParameters() public méthode

public CreateParameters ( ) : GpuProgramParameters
Résultat GpuProgramParameters

Load() public méthode

public Load ( bool background ) : void
background bool
Résultat void

LoadFromSource() protected méthode

protected LoadFromSource ( ) : void
Résultat void

PopulateParameterNames() protected méthode

protected PopulateParameterNames ( GpuProgramParameters parms ) : void
parms GpuProgramParameters
Résultat void

SetParam() public méthode

public SetParam ( string name, string val ) : bool
name string
val string
Résultat bool

UnloadImpl() protected méthode

protected UnloadImpl ( ) : void
Résultat void

buildConstantDefinitions() protected méthode

protected buildConstantDefinitions ( ) : void
Résultat void

chooseDelegate() protected méthode

protected chooseDelegate ( ) : void
Résultat void