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
Показать файл Открыть проект

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

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