C# 클래스 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.
상속: Axiom.Graphics.HighLevelGpuProgram
파일 보기 프로젝트 열기: mono-soc-2011/axiom

공개 메소드들

메소드 설명
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

보호된 메소드들

메소드 설명
BuildConstantDefinitions ( ) : void
CreateLowLevelImpl ( ) : void
LoadFromSource ( ) : void
PopulateParameterNames ( GpuProgramParameters parms ) : void
UnloadImpl ( ) : void
buildConstantDefinitions ( ) : void
chooseDelegate ( ) : void

비공개 메소드들

메소드 설명
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

메소드 상세

AddDelegateProgram() 공개 메소드

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
리턴 void

BuildConstantDefinitions() 보호된 메소드

protected BuildConstantDefinitions ( ) : void
리턴 void

ClearDelegatePrograms() 공개 메소드

Remove all delegate programs
public ClearDelegatePrograms ( ) : void
리턴 void

CreateLowLevelImpl() 보호된 메소드

protected CreateLowLevelImpl ( ) : void
리턴 void

CreateParameters() 공개 메소드

public CreateParameters ( ) : GpuProgramParameters
리턴 GpuProgramParameters

Load() 공개 메소드

public Load ( bool background ) : void
background bool
리턴 void

LoadFromSource() 보호된 메소드

protected LoadFromSource ( ) : void
리턴 void

PopulateParameterNames() 보호된 메소드

protected PopulateParameterNames ( GpuProgramParameters parms ) : void
parms GpuProgramParameters
리턴 void

SetParam() 공개 메소드

public SetParam ( string name, string val ) : bool
name string
val string
리턴 bool

UnloadImpl() 보호된 메소드

protected UnloadImpl ( ) : void
리턴 void

buildConstantDefinitions() 보호된 메소드

protected buildConstantDefinitions ( ) : void
리턴 void

chooseDelegate() 보호된 메소드

protected chooseDelegate ( ) : void
리턴 void