C# Class Axiom.RenderSystems.OpenGL.GLSL.GLSLGpuProgram

GLSL low level compiled shader object - this class is used to get at the linked program object and provide an interface for GLRenderSystem calls. GLSL does not provide access to the low level code of the shader so this class is really just a dummy place holder. GLSL uses a program object to represent the active vertex and fragment programs used but Axiom materials maintain seperate instances of the active vertex and fragment programs which creates a small problem for GLSL integration. The GLSLGpuProgram class provides the interface between the GLSLLinkProgramManager , GLRenderSystem, and the active GLSLProgram instances.
Inheritance: GLGpuProgram
显示文件 Open project: mono-soc-2011/axiom Class Usage Examples

Protected Properties

Property Type Description
fragmentShaderCount int
geometryShaderCount int
glslProgram GLSLProgram
vertexShaderCount int

Public Methods

Method Description
Bind ( ) : void
BindProgramParameters ( GpuProgramParameters parms, GpuProgramParameters mask ) : void
BindProgramPassIterationParameters ( GpuProgramParameters parms ) : void
GLSLGpuProgram ( GLSLProgram parent ) : System
Unbind ( ) : void

Protected Methods

Method Description
LoadFromSource ( ) : void
load ( ) : void
unload ( ) : void

Private Methods

Method Description
AttributeIndex ( VertexElementSemantic semantic, uint index ) : uint
IsAttributeValid ( VertexElementSemantic semantic, uint index ) : bool

Method Details

Bind() public method

public Bind ( ) : void
return void

BindProgramParameters() public method

public BindProgramParameters ( GpuProgramParameters parms, GpuProgramParameters mask ) : void
parms Axiom.Graphics.GpuProgramParameters
mask Axiom.Graphics.GpuProgramParameters
return void

BindProgramPassIterationParameters() public method

public BindProgramPassIterationParameters ( GpuProgramParameters parms ) : void
parms Axiom.Graphics.GpuProgramParameters
return void

GLSLGpuProgram() public method

public GLSLGpuProgram ( GLSLProgram parent ) : System
parent GLSLProgram
return System

LoadFromSource() protected method

protected LoadFromSource ( ) : void
return void

Unbind() public method

public Unbind ( ) : void
return void

load() protected method

protected load ( ) : void
return void

unload() protected method

protected unload ( ) : void
return void

Property Details

fragmentShaderCount protected_oe static_oe property

Keep track of the number of fragment shaders created.
protected static int fragmentShaderCount
return int

geometryShaderCount protected_oe static_oe property

Keep track of the number of geometry shaders created.
protected static int geometryShaderCount
return int

glslProgram protected_oe property

GL Handle for the shader object.
protected GLSLProgram,Axiom.RenderSystems.OpenGL.GLSL glslProgram
return GLSLProgram

vertexShaderCount protected_oe static_oe property

Keep track of the number of vertex shaders created.
protected static int vertexShaderCount
return int