BaseTexFeatHLSL Class Reference

#include <shaderFeatureHLSL.h>

Inheritance diagram for BaseTexFeatHLSL:

Inheritance graph
[legend]
List of all members.

Detailed Description

Base texture.


Public Member Functions

virtual void processVert (Vector< ShaderComponent * > &componentList, GFXMaterialFeatureData &fd)
virtual void processPix (Vector< ShaderComponent * > &componentList, GFXMaterialFeatureData &fd)
virtual Material::BlendOp getBlendOp ()
 Identifies what type of blending a feature uses.
virtual Resources getResources (GFXMaterialFeatureData &fd)
 Returns the resource requirements of this feature based on what other features are present.
virtual void setTexData (Material::StageData &stageDat, GFXMaterialFeatureData &fd, RenderPassData &passData, U32 &texIndex)
 Fills texture related info in RenderPassData for this feature.
virtual String getName ()
 Returns the name of this feature.


Member Function Documentation

virtual void BaseTexFeatHLSL::processVert ( Vector< ShaderComponent * > &  componentList,
GFXMaterialFeatureData fd 
) [virtual]

Process vertex shader - This function is used by each feature to generate a list of LangElements that can be traversed and "printed" to generate the actual shader code. The 'output' member is the head of that list.

The componentList is used mostly for access to the "Connector" structure which is used to pass data from the vertex to the pixel shader.

The GFXMaterialFeatureData parameter is used to determine what other features are present for the shader being generated.

Reimplemented from ShaderFeature.

virtual void BaseTexFeatHLSL::processPix ( Vector< ShaderComponent * > &  componentList,
GFXMaterialFeatureData fd 
) [virtual]

Process pixel shader - This function is used by each feature to generate a list of LangElements that can be traversed and "printed" to generate the actual shader code. The 'output' member is the head of that list.

The componentList is used mostly for access to the "Connector" structure which is used to pass data from the vertex to the pixel shader.

The GFXMaterialFeatureData parameter is used to determine what other features are present for the shader being generated.

Reimplemented from ShaderFeature.

virtual Material::BlendOp BaseTexFeatHLSL::getBlendOp (  )  [inline, virtual]

Identifies what type of blending a feature uses.

This is used to group features with the same blend operation together in a multipass situation.

Reimplemented from ShaderFeature.

virtual Resources BaseTexFeatHLSL::getResources ( GFXMaterialFeatureData fd  )  [virtual]

Returns the resource requirements of this feature based on what other features are present.

The "resources" are things such as texture units, and texture registers of which there can be very limited numbers. The resources can vary depending on hardware and what other features are present.

Reimplemented from ShaderFeature.

virtual void BaseTexFeatHLSL::setTexData ( Material::StageData stageDat,
GFXMaterialFeatureData fd,
RenderPassData passData,
U32 texIndex 
) [virtual]

Fills texture related info in RenderPassData for this feature.

It takes into account the current pass (passData) as well as what other data is available to the material stage (stageDat).

For instance, ReflectCubeFeatHLSL would like to modulate its output by the alpha channel of another texture. If the current pass does not contain a diffuse or bump texture, but the Material does, then this function allows it to use one of those textures in the current pass.

Reimplemented from ShaderFeature.

virtual String BaseTexFeatHLSL::getName (  )  [inline, virtual]

Returns the name of this feature.

Reimplemented from ShaderFeatureHLSL.