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
Afficher le fichier Open project: WolfgangSt/axiom Class Usage Examples

Protected Properties

Свойство Type Description
factories AxiomCollection

Méthodes publiques

Méthode 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.

Méthodes protégées

Méthode 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

Méthode Description
HighLevelGpuProgramManager ( ) : System

Internal constructor. This class cannot be instantiated externally.

Method Details

AddFactory() public méthode

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. ///
Résultat void

CreateProgram() public méthode

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.
Résultat Axiom.Graphics.HighLevelGpuProgram

GetFactory() public méthode

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

IsLanguageSupported() public méthode

public IsLanguageSupported ( string language ) : bool
language string
Résultat bool

RemoveFactory() public méthode

Unregisters a factory
public RemoveFactory ( HighLevelGpuProgramFactory factory ) : void
factory HighLevelGpuProgramFactory
Résultat void

_create() protected méthode

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
Résultat Axiom.Core.Resource

dispose() protected méthode

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

this() public méthode

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

this() public méthode

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

Property Details

factories protected_oe property

Lookup table for list of registered factories.
protected AxiomCollection factories
Résultat AxiomCollection