C# Class Axiom.Graphics.HighLevelGpuProgramManager

This ResourceManager manages high-level vertex and fragment programs.
High-level vertex and fragment programs can be used instead of assembler programs as managed by GpuProgramManager; however they typically result in a GpuProgram being created as a derivative of the high-level program. High-level programs are easier to write, and can often be API-independent, unlike assembler programs.

This class not only manages the programs themselves, it also manages the factory classes which allow the creation of high-level programs using a variety of high-level syntaxes. Plugins can be created which register themselves as high-level program factories and as such the engine can be extended to accept virtually any kind of program provided a plugin is written.

Inheritance: Axiom.Core.ResourceManager
Mostra file Open project: WolfgangSt/axiom Class Usage Examples

Protected Properties

Property Type Description
factories AxiomCollection

Public Methods

Method Description
AddFactory ( HighLevelGpuProgramFactory factory ) : void

Add a new factory object for high-level programs of a given language.

CreateProgram ( string name, string group, string language, GpuProgramType type ) : Axiom.Graphics.HighLevelGpuProgram

Creates a new, unloaded HighLevelGpuProgram instance.

This method creates a new program of the type specified as the second and third parameters. You will have to call further methods on the returned program in order to define the program fully before you can load it.

GetFactory ( string language ) : HighLevelGpuProgramFactory

Retreives a factory instance capable of producing HighLevelGpuPrograms of the specified language.

IsLanguageSupported ( string language ) : bool
RemoveFactory ( HighLevelGpuProgramFactory factory ) : void

Unregisters a factory

this ( System.UInt64 handle ) : Axiom.Graphics.HighLevelGpuProgram

Gets a HighLevelGpuProgram with the specified handle.

this ( string name ) : Axiom.Graphics.HighLevelGpuProgram

Gets a HighLevelGpuProgram with the specified name.

Protected Methods

Method Description
_create ( string name, System.UInt64 handle, string group, bool isManual, IManualResourceLoader loader, NameValuePairList createParams ) : Axiom.Core.Resource
dispose ( bool disposeManagedResources ) : void

Called when the engine is shutting down.

Called when the engine is shutting down.

Private Methods

Method Description
HighLevelGpuProgramManager ( ) : System

Internal constructor. This class cannot be instantiated externally.

Method Details

AddFactory() public method

Add a new factory object for high-level programs of a given language.
public AddFactory ( HighLevelGpuProgramFactory factory ) : void
factory HighLevelGpuProgramFactory /// The factory instance to register. ///
return void

CreateProgram() public method

Creates a new, unloaded HighLevelGpuProgram instance.
This method creates a new program of the type specified as the second and third parameters. You will have to call further methods on the returned program in order to define the program fully before you can load it.
public CreateProgram ( string name, string group, string language, GpuProgramType type ) : Axiom.Graphics.HighLevelGpuProgram
name string Name of the program to create.
group string
language string HLSL language to use.
type GpuProgramType Type of program, i.e. vertex or fragment.
return Axiom.Graphics.HighLevelGpuProgram

GetFactory() public method

Retreives a factory instance capable of producing HighLevelGpuPrograms of the specified language.
public GetFactory ( string language ) : HighLevelGpuProgramFactory
language string HLSL language.
return HighLevelGpuProgramFactory

IsLanguageSupported() public method

public IsLanguageSupported ( string language ) : bool
language string
return bool

RemoveFactory() public method

Unregisters a factory
public RemoveFactory ( HighLevelGpuProgramFactory factory ) : void
factory HighLevelGpuProgramFactory
return void

_create() protected method

protected _create ( string name, System.UInt64 handle, string group, bool isManual, IManualResourceLoader loader, NameValuePairList createParams ) : Axiom.Core.Resource
name string
handle System.UInt64
group string
isManual bool
loader IManualResourceLoader
createParams NameValuePairList
return Axiom.Core.Resource

dispose() protected method

Called when the engine is shutting down. Called when the engine is shutting down.
protected dispose ( bool disposeManagedResources ) : void
disposeManagedResources bool
return void

this() public method

Gets a HighLevelGpuProgram with the specified handle.
public this ( System.UInt64 handle ) : Axiom.Graphics.HighLevelGpuProgram
handle System.UInt64 Handle of the program to retrieve.
return Axiom.Graphics.HighLevelGpuProgram

this() public method

Gets a HighLevelGpuProgram with the specified name.
public this ( string name ) : Axiom.Graphics.HighLevelGpuProgram
name string Name of the program to retrieve.
return Axiom.Graphics.HighLevelGpuProgram

Property Details

factories protected_oe property

Lookup table for list of registered factories.
protected AxiomCollection factories
return AxiomCollection