C# Класс Axiom.RenderSystems.OpenGL.ATI.PixelShader

Subclasses Compiler2Pass to provide a ps_1_x compiler that takes DirectX pixel shader assembly and converts it to a form that can be used by ATI_fragment_shader OpenGL API.
All ps_1_1, ps_1_2, ps_1_3, ps_1_4 assembly instructions are recognized but not all are passed on to ATI_fragment_shader. ATI_fragment_shader does not have an equivelant directive for texkill or texdepth instructions.

The user must provide the GL binding interfaces.

A Test method is provided to verify the basic operation of the compiler which outputs the test results to a file.

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

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

Метод Описание
BindAllMachineInstToFragmentShader ( ) : bool

Binds machine instructions generated in Pass 2 to the ATI GL fragment shader.

PixelShader ( ) : System
RunTests ( ) : bool

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

Метод Описание
DoPass2 ( ) : bool

Pass 1 is completed so now take tokens generated and build machine instructions.

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

Метод Описание
AddMachineInst ( PhaseType phase, int inst ) : void
BindMachineInstInPassToFragmentShader ( Axiom.Core.IntList PassMachineInstructions ) : bool
BuildMachineInst ( ) : bool
ClearAllMachineInst ( ) : void
ClearMachineInstState ( ) : void
ExpandMachineInstruction ( ) : bool
ExpandMacro ( Axiom.RenderSystems.OpenGL.ATI.MacroRegModify MacroMod ) : bool
GetMachineInst ( int Idx ) : int
GetMachineInstCount ( ) : int
IsRegisterReadValid ( PhaseType phase, int param ) : bool
Optimize ( ) : void
Pass2scan ( Axiom.RenderSystems.OpenGL.ATI.TokenInstruction Tokens, int size ) : bool
SetOpParam ( Axiom.RenderSystems.OpenGL.ATI.SymbolDef symboldef ) : bool
TestCompile ( string testName, string snippet, Symbol expectedResults ) : void
TestCompile ( string testName, string snippet, Symbol expectedResults, int machineInstResults ) : void
UpdateRegisterWriteState ( PhaseType phase ) : void

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

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

Binds machine instructions generated in Pass 2 to the ATI GL fragment shader.
public BindAllMachineInstToFragmentShader ( ) : bool
Результат bool

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

Pass 1 is completed so now take tokens generated and build machine instructions.
protected DoPass2 ( ) : bool
Результат bool

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

public PixelShader ( ) : System
Результат System

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

public RunTests ( ) : bool
Результат bool