C# Класс 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.

Наследование: Axiom.Core.ResourceManager
Показать файл Открыть проект Примеры использования класса

Защищенные свойства (Protected)

Свойство Тип Описание
factories AxiomCollection

Открытые методы

Метод Описание
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.

Защищенные методы

Метод Описание
_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.

Приватные методы

Метод Описание
HighLevelGpuProgramManager ( ) : System

Internal constructor. This class cannot be instantiated externally.

Описание методов

AddFactory() публичный Метод

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. ///
Результат void

CreateProgram() публичный Метод

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.
Результат Axiom.Graphics.HighLevelGpuProgram

GetFactory() публичный Метод

Retreives a factory instance capable of producing HighLevelGpuPrograms of the specified language.
public GetFactory ( string language ) : HighLevelGpuProgramFactory
language string HLSL language.
Результат HighLevelGpuProgramFactory

IsLanguageSupported() публичный Метод

public IsLanguageSupported ( string language ) : bool
language string
Результат bool

RemoveFactory() публичный Метод

Unregisters a factory
public RemoveFactory ( HighLevelGpuProgramFactory factory ) : void
factory HighLevelGpuProgramFactory
Результат void

_create() защищенный Метод

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
Результат Axiom.Core.Resource

dispose() защищенный Метод

Called when the engine is shutting down. Called when the engine is shutting down.
protected dispose ( bool disposeManagedResources ) : void
disposeManagedResources bool
Результат void

this() публичный Метод

Gets a HighLevelGpuProgram with the specified handle.
public this ( System.UInt64 handle ) : Axiom.Graphics.HighLevelGpuProgram
handle System.UInt64 Handle of the program to retrieve.
Результат Axiom.Graphics.HighLevelGpuProgram

this() публичный Метод

Gets a HighLevelGpuProgram with the specified name.
public this ( string name ) : Axiom.Graphics.HighLevelGpuProgram
name string Name of the program to retrieve.
Результат Axiom.Graphics.HighLevelGpuProgram

Описание свойств

factories защищенное свойство

Lookup table for list of registered factories.
protected AxiomCollection factories
Результат AxiomCollection