ConditionerFeature
Engine/source/shaderGen/conditionerFeature.h
Public Types
MethodType { ConditionMethod = 0 UnconditionMethod NumMethodTypes }
Private Types
Parent
Public Friends
Public Static Attributes
Protected Static Attributes
Protected Attributes
Public Functions
ConditionerFeature(const GFXFormat bufferFormat)
assignColor(LangElement * elem, Material::BlendOp blend, LangElement * lerpElem, ShaderFeature::OutputTarget outputTarget)
Helper function for applying the color to shader output.
assignOutput(Var * unconditionedOutput, ShaderFeature::OutputTarget outputTarget)
expandNormalMap(LangElement * sampleNormalOp, LangElement * normalDecl, LangElement * normalVar, const MaterialFeatureData & fd)
Expand and assign a normal map. This takes care of compressed normal maps as well.
Identifies what type of blending a feature uses.
getShaderMethodName(MethodType methodType)
Var *
getVertTexCoord(const String & name)
Get the incoming base texture coords - useful for bumpmap and detail maps.
bool
setBufferFormat(const GFXFormat bufferFormat)
setupTexSpaceMat(Vector< ShaderComponent * > & componentList, Var ** texSpaceMat)
Set up a texture space matrix - to pass into pixel shader.
Public Static Functions
Protected Static Functions
Protected Functions
Var *
_conditionOutput(Var * unconditionedOutput, MultiLine * meta)
_printMethod(MethodType methodType, const String & methodName, Stream & stream)
Var *
_unconditionInput(Var * conditionedInput, MultiLine * meta)
printFooterComment(MethodType methodType, const String & methodName, Stream & stream, MultiLine * meta)
printHeaderComment(MethodType methodType, const String & methodName, Stream & stream, MultiLine * meta)
printMethodFooter(MethodType methodType, Var * retVar, Stream & stream, MultiLine * meta)
Var *
printMethodHeader(MethodType methodType, const String & methodName, Stream & stream, MultiLine * meta)
Detailed Description
Public Types
MethodType
Enumerator
- ConditionMethod = 0
Method used to take unconditioned data, and turn it into a format that can be written to the conditioned buffer.
- UnconditionMethod
Method used to take conditioned data from a buffer, and extract what is stored.
- NumMethodTypes
Private Types
typedef ShaderFeature Parent
Public Friends
Public Static Attributes
const String ConditionerIncludeFileName
Protected Static Attributes
Vector< ConditionerFeature * > smConditioners
bool smDirtyConditioners
Protected Attributes
GFXFormat mBufferFormat
String mConditionMethodName
ConditionerMethodDependency * mMethodDependency [NumMethodTypes]
String mShaderIncludePath
String mUnconditionMethodName
Public Functions
ConditionerFeature(const GFXFormat bufferFormat)
~ConditionerFeature()
assignColor(LangElement * elem, Material::BlendOp blend, LangElement * lerpElem, ShaderFeature::OutputTarget outputTarget)
Reimplemented from: ShaderFeature
assignOutput(Var * unconditionedOutput, ShaderFeature::OutputTarget outputTarget)
expandNormalMap(LangElement * sampleNormalOp, LangElement * normalDecl, LangElement * normalVar, const MaterialFeatureData & fd)
Reimplemented from: ShaderFeature
getBlendOp()
Reimplemented from: ShaderFeature
getBufferFormat()
getConditionerMethodDependency(MethodType methodType)
getShaderMethodName(MethodType methodType)
getVertTexCoord(const String & name)
Reimplemented from: ShaderFeature
setBufferFormat(const GFXFormat bufferFormat)
setupTexSpaceMat(Vector< ShaderComponent * > & componentList, Var ** texSpaceMat)
Reimplemented from: ShaderFeature
Public Static Functions
updateConditioners()
Protected Static Functions
_updateConditioners()
Protected Functions
_conditionOutput(Var * unconditionedOutput, MultiLine * meta)
Reimplemented by: AdvancedLightBufferConditioner, GBufferConditionerGLSL, GBufferConditionerHLSL, LinearEyeDepthConditioner
_print(Stream * stream)
_printMethod(MethodType methodType, const String & methodName, Stream & stream)
_unconditionInput(Var * conditionedInput, MultiLine * meta)
Reimplemented by: AdvancedLightBufferConditioner, GBufferConditionerGLSL, GBufferConditionerHLSL, LinearEyeDepthConditioner
printFooterComment(MethodType methodType, const String & methodName, Stream & stream, MultiLine * meta)
printHeaderComment(MethodType methodType, const String & methodName, Stream & stream, MultiLine * meta)
printMethodFooter(MethodType methodType, Var * retVar, Stream & stream, MultiLine * meta)
Reimplemented by: AdvancedLightBufferConditioner
printMethodHeader(MethodType methodType, const String & methodName, Stream & stream, MultiLine * meta)
Reimplemented by: AdvancedLightBufferConditioner, GBufferConditionerGLSL, GBufferConditionerHLSL, LinearEyeDepthConditioner