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
파일 보기 프로젝트 열기: WolfgangSt/axiom 1 사용 예제들

보호된 프로퍼티들

프로퍼티 타입 설명
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