com.threerings.opengl.renderer.config
Class ShaderConfig

java.lang.Object
  extended by com.threerings.util.DeepObject
      extended by com.threerings.config.ManagedConfig
          extended by com.threerings.config.ParameterizedConfig
              extended by com.threerings.opengl.renderer.config.ShaderConfig
All Implemented Interfaces:
ConfigUpdateListener<ManagedConfig>, Exportable, com.threerings.resource.ResourceManager.ModificationObserver, Copyable, Cloneable

public class ShaderConfig
extends ParameterizedConfig

Shader metadata.


Nested Class Summary
static class ShaderConfig.ArrayRefUniformConfig<T>
          Base class for configs representing uniform arrays whose values come from references to scoped variables.
static class ShaderConfig.BooleanDefinition
          A boolean definition.
static class ShaderConfig.BooleanExprUniformConfig
          A boolean-valued uniform whose value is derived from an expression.
static class ShaderConfig.BooleanUniformConfig
          A boolean-valued uniform.
static class ShaderConfig.ColorDefinition
          A color-valued definition.
static class ShaderConfig.ColorExprUniformConfig
          A color-valued uniform whose value is derived from an expression.
static class ShaderConfig.ColorUniformConfig
          A color-valued uniform.
static class ShaderConfig.Definition
          Represents a preprocessor definition.
static class ShaderConfig.Derived
          A derived implementation.
static class ShaderConfig.ExpressionUniformConfig
          Base class for expression-derived uniforms.
static class ShaderConfig.FloatDefinition
          A float-valued definition.
static class ShaderConfig.FloatExprUniformConfig
          A float-valued uniform whose value is derived from an expression.
static class ShaderConfig.FloatUniformConfig
          A float-valued uniform.
static class ShaderConfig.FogBlendSnippet
          Defines a snippet that blends in the fog according to the fog parameter to simulate the behavior of the fixed-function pipeline.
static class ShaderConfig.FogParamSnippet
          Defines a snippet that sets the fog parameter value to simulate the behavior of the fixed-function pipeline.
static class ShaderConfig.Fragment
          A fragment shader.
static class ShaderConfig.FragmentLightingSnippet
          Defines a snippet that computes the fragment color based on the lighting parameters.
static class ShaderConfig.Implementation
          Contains the actual implementation of the shader.
static class ShaderConfig.IntegerDefinition
          An integer-valued definition.
static class ShaderConfig.IntegerExprUniformConfig
          An integer-valued uniform whose value is derived from an expression.
static class ShaderConfig.IntegerUniformConfig
          An integer-valued uniform.
static class ShaderConfig.MatrixArrayRefUniformConfig
          References an array of matrices.
static class ShaderConfig.Original
          The superclass of the original implementations.
static class ShaderConfig.PolarUniformConfig
          A polar coordinate-valued uniform.
static class ShaderConfig.SimpleUniformConfig
          Base class for simple uniforms.
static class ShaderConfig.StringDefinition
          A string-valued definition.
static class ShaderConfig.TexCoordSnippet
          Defines a snippet that sets the tex coords to simulate the behavior of the fixed-function pipeline.
static class ShaderConfig.TransformDefinition
          A transform-valued definition.
static class ShaderConfig.TransformExprUniformConfig
          A transform-valued uniform whose value is derived from an expression.
static class ShaderConfig.TransformUniformConfig
          A transform-valued uniform.
static class ShaderConfig.UniformConfig
          Represents the configuration of one or more shader uniforms.
static class ShaderConfig.Vertex
          A vertex shader.
static class ShaderConfig.VertexLightingSnippet
          Defines a snippet that sets the front and/or back colors to simulate the behavior of the fixed-function pipeline.
 
Field Summary
 ShaderConfig.Implementation implementation
          The actual shader implementation.
 
Fields inherited from class com.threerings.config.ParameterizedConfig
parameters
 
Constructor Summary
ShaderConfig()
           
 
Method Summary
 Shader getShader(GlContext ctx, Scope scope, RenderState[] states, boolean vertexProgramTwoSide)
          Returns the shader corresponding to this configuration.
 ShaderConfig.UniformConfig[] getUniforms(GlContext ctx)
          Returns the array of uniforms for this configuration.
 void populateDescriptor(GlContext ctx, PassDescriptor desc)
          Populates the relevant portion of the supplied descriptor.
 
Methods inherited from class com.threerings.config.ParameterizedConfig
getInstance, getParameter, getReference, validateOuters, validateReferences, wasUpdated
 
Methods inherited from class com.threerings.config.ManagedConfig
addListener, configUpdated, getConfigManager, getInstance, getInstance, getInstance, getInstance, getName, init, removeListener, resourceModified, setName, updateFromSource
 
Methods inherited from class com.threerings.util.DeepObject
clone, copy, copy, equals, hashCode, toString
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

implementation

@Editable
public ShaderConfig.Implementation implementation
The actual shader implementation.

Constructor Detail

ShaderConfig

public ShaderConfig()
Method Detail

populateDescriptor

public void populateDescriptor(GlContext ctx,
                               PassDescriptor desc)
Populates the relevant portion of the supplied descriptor.


getShader

public Shader getShader(GlContext ctx,
                        Scope scope,
                        RenderState[] states,
                        boolean vertexProgramTwoSide)
Returns the shader corresponding to this configuration.


getUniforms

public ShaderConfig.UniformConfig[] getUniforms(GlContext ctx)
Returns the array of uniforms for this configuration.



Copyright © 2011. All Rights Reserved.