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

공개 메소드들

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