mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-03-02 20:10:32 +00:00
Merge pull request #1234 from marauder2k9-torque/virtuals-override
Virtuals override
This commit is contained in:
commit
05a083ca6f
710 changed files with 6353 additions and 6324 deletions
|
|
@ -50,19 +50,19 @@ public:
|
|||
//****************************************************************************
|
||||
// Accu Texture
|
||||
//****************************************************************************
|
||||
virtual void processVert( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd );
|
||||
void processVert( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd ) override;
|
||||
|
||||
virtual void processPix( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd );
|
||||
void processPix( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd ) override;
|
||||
|
||||
void getAccuVec( MultiLine *meta, LangElement *accuVec );
|
||||
|
||||
Var* addOutAccuVec( Vector<ShaderComponent*> &componentList, MultiLine *meta );
|
||||
|
||||
virtual Material::BlendOp getBlendOp(){ return Material::LerpAlpha; }
|
||||
Material::BlendOp getBlendOp() override{ return Material::LerpAlpha; }
|
||||
|
||||
virtual Resources getResources( const MaterialFeatureData &fd )
|
||||
Resources getResources( const MaterialFeatureData &fd ) override
|
||||
{
|
||||
Resources res;
|
||||
res.numTex = 1;
|
||||
|
|
@ -70,12 +70,12 @@ public:
|
|||
return res;
|
||||
}
|
||||
|
||||
virtual void setTexData( Material::StageData &stageDat,
|
||||
void setTexData( Material::StageData &stageDat,
|
||||
const MaterialFeatureData &fd,
|
||||
RenderPassData &passData,
|
||||
U32 &texIndex );
|
||||
U32 &texIndex ) override;
|
||||
|
||||
virtual String getName()
|
||||
String getName() override
|
||||
{
|
||||
return "Accu Texture";
|
||||
}
|
||||
|
|
@ -84,7 +84,7 @@ public:
|
|||
class AccuScaleFeature : public ShaderFeatureHLSL
|
||||
{
|
||||
public:
|
||||
virtual void processPix( Vector<ShaderComponent*> &componentList, const MaterialFeatureData &fd )
|
||||
void processPix( Vector<ShaderComponent*> &componentList, const MaterialFeatureData &fd ) override
|
||||
{
|
||||
// Find the constant value
|
||||
Var *accuScale = (Var *)( LangElement::find("accuScale") );
|
||||
|
|
@ -98,13 +98,13 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
virtual String getName() { return "Accu Scale"; }
|
||||
String getName() override { return "Accu Scale"; }
|
||||
};
|
||||
|
||||
class AccuDirectionFeature : public ShaderFeatureHLSL
|
||||
{
|
||||
public:
|
||||
virtual void processPix( Vector<ShaderComponent*> &componentList, const MaterialFeatureData &fd )
|
||||
void processPix( Vector<ShaderComponent*> &componentList, const MaterialFeatureData &fd ) override
|
||||
{
|
||||
// Find the constant value
|
||||
Var *accuDirection = (Var *)( LangElement::find("accuDirection") );
|
||||
|
|
@ -118,13 +118,13 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
virtual String getName() { return "Accu Direction"; }
|
||||
String getName() override { return "Accu Direction"; }
|
||||
};
|
||||
|
||||
class AccuStrengthFeature : public ShaderFeatureHLSL
|
||||
{
|
||||
public:
|
||||
virtual void processPix( Vector<ShaderComponent*> &componentList, const MaterialFeatureData &fd )
|
||||
void processPix( Vector<ShaderComponent*> &componentList, const MaterialFeatureData &fd ) override
|
||||
{
|
||||
// Find the constant value
|
||||
Var *accuStrength = (Var *)( LangElement::find("accuStrength") );
|
||||
|
|
@ -138,13 +138,13 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
virtual String getName() { return "Accu Strength"; }
|
||||
String getName() override { return "Accu Strength"; }
|
||||
};
|
||||
|
||||
class AccuCoverageFeature : public ShaderFeatureHLSL
|
||||
{
|
||||
public:
|
||||
virtual void processPix( Vector<ShaderComponent*> &componentList, const MaterialFeatureData &fd )
|
||||
void processPix( Vector<ShaderComponent*> &componentList, const MaterialFeatureData &fd ) override
|
||||
{
|
||||
// Find the constant value
|
||||
Var *accuCoverage = (Var *)( LangElement::find("accuCoverage") );
|
||||
|
|
@ -158,14 +158,14 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
virtual String getName() { return "Accu Coverage"; }
|
||||
String getName() override { return "Accu Coverage"; }
|
||||
};
|
||||
|
||||
|
||||
class AccuSpecularFeature : public ShaderFeatureHLSL
|
||||
{
|
||||
public:
|
||||
virtual void processPix( Vector<ShaderComponent*> &componentList, const MaterialFeatureData &fd )
|
||||
void processPix( Vector<ShaderComponent*> &componentList, const MaterialFeatureData &fd ) override
|
||||
{
|
||||
// Find the constant value
|
||||
Var *accuSpecular = (Var *)( LangElement::find("accuSpecular") );
|
||||
|
|
@ -179,7 +179,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
virtual String getName() { return "Accu Specular"; }
|
||||
String getName() override { return "Accu Specular"; }
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
@ -43,17 +43,17 @@ class BumpFeatHLSL : public ShaderFeatureHLSL
|
|||
public:
|
||||
|
||||
// ShaderFeatureHLSL
|
||||
virtual void processVert( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd );
|
||||
virtual void processPix( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd );
|
||||
virtual Material::BlendOp getBlendOp(){ return Material::LerpAlpha; }
|
||||
virtual Resources getResources( const MaterialFeatureData &fd );
|
||||
virtual void setTexData( Material::StageData &stageDat,
|
||||
void processVert( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd ) override;
|
||||
void processPix( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd ) override;
|
||||
Material::BlendOp getBlendOp() override{ return Material::LerpAlpha; }
|
||||
Resources getResources( const MaterialFeatureData &fd ) override;
|
||||
void setTexData( Material::StageData &stageDat,
|
||||
const MaterialFeatureData &fd,
|
||||
RenderPassData &passData,
|
||||
U32 &texIndex );
|
||||
virtual String getName() { return "Bumpmap"; }
|
||||
U32 &texIndex ) override;
|
||||
String getName() override { return "Bumpmap"; }
|
||||
};
|
||||
|
||||
|
||||
|
|
@ -75,16 +75,16 @@ public:
|
|||
ParallaxFeatHLSL();
|
||||
|
||||
// ShaderFeatureHLSL
|
||||
virtual void processVert( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd );
|
||||
virtual void processPix( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd );
|
||||
virtual Resources getResources( const MaterialFeatureData &fd );
|
||||
virtual void setTexData( Material::StageData &stageDat,
|
||||
void processVert( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd ) override;
|
||||
void processPix( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd ) override;
|
||||
Resources getResources( const MaterialFeatureData &fd ) override;
|
||||
void setTexData( Material::StageData &stageDat,
|
||||
const MaterialFeatureData &fd,
|
||||
RenderPassData &passData,
|
||||
U32 &texIndex );
|
||||
virtual String getName() { return "Parallax"; }
|
||||
U32 &texIndex ) override;
|
||||
String getName() override { return "Parallax"; }
|
||||
};
|
||||
|
||||
|
||||
|
|
@ -95,12 +95,12 @@ class NormalsOutFeatHLSL : public ShaderFeatureHLSL
|
|||
public:
|
||||
|
||||
// ShaderFeatureHLSL
|
||||
virtual void processVert( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd );
|
||||
virtual void processPix( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd );
|
||||
virtual Material::BlendOp getBlendOp(){ return Material::LerpAlpha; }
|
||||
virtual String getName() { return "NormalsOut"; }
|
||||
void processVert( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd ) override;
|
||||
void processPix( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd ) override;
|
||||
Material::BlendOp getBlendOp() override{ return Material::LerpAlpha; }
|
||||
String getName() override { return "NormalsOut"; }
|
||||
};
|
||||
|
||||
#endif // _BUMP_HLSL_H_
|
||||
|
|
@ -94,15 +94,15 @@ public:
|
|||
//****************************************************************************
|
||||
// Accu Texture
|
||||
//****************************************************************************
|
||||
virtual void processVert(Vector<ShaderComponent*>& componentList,
|
||||
const MaterialFeatureData& fd);
|
||||
void processVert(Vector<ShaderComponent*>& componentList,
|
||||
const MaterialFeatureData& fd) override;
|
||||
|
||||
virtual void processPix(Vector<ShaderComponent*>& componentList,
|
||||
const MaterialFeatureData& fd);
|
||||
void processPix(Vector<ShaderComponent*>& componentList,
|
||||
const MaterialFeatureData& fd) override;
|
||||
|
||||
virtual Material::BlendOp getBlendOp() { return Material::LerpAlpha; }
|
||||
Material::BlendOp getBlendOp() override { return Material::LerpAlpha; }
|
||||
|
||||
virtual Resources getResources(const MaterialFeatureData& fd)
|
||||
Resources getResources(const MaterialFeatureData& fd) override
|
||||
{
|
||||
Resources res;
|
||||
res.numTex = 1;
|
||||
|
|
@ -110,12 +110,12 @@ public:
|
|||
return res;
|
||||
}
|
||||
|
||||
virtual void setTexData(Material::StageData& stageDat,
|
||||
void setTexData(Material::StageData& stageDat,
|
||||
const MaterialFeatureData& fd,
|
||||
RenderPassData& passData,
|
||||
U32& texIndex);
|
||||
U32& texIndex) override;
|
||||
|
||||
virtual String getName()
|
||||
String getName() override
|
||||
{
|
||||
return mOwner->getName();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -34,8 +34,8 @@ public:
|
|||
|
||||
DebugVizHLSL();
|
||||
|
||||
virtual void processPix(Vector<ShaderComponent*>& componentList,
|
||||
const MaterialFeatureData& fd);
|
||||
void processPix(Vector<ShaderComponent*>& componentList,
|
||||
const MaterialFeatureData& fd) override;
|
||||
|
||||
virtual String getName() { return "Debug Viz"; }
|
||||
String getName() override { return "Debug Viz"; }
|
||||
};
|
||||
|
|
|
|||
|
|
@ -35,12 +35,12 @@ class EyeSpaceDepthOutHLSL : public ShaderFeatureHLSL
|
|||
public:
|
||||
|
||||
// ShaderFeature
|
||||
virtual void processVert( Vector<ShaderComponent*> &componentList, const MaterialFeatureData &fd );
|
||||
virtual void processPix( Vector<ShaderComponent*> &componentList, const MaterialFeatureData &fd );
|
||||
virtual Resources getResources( const MaterialFeatureData &fd );
|
||||
virtual String getName() { return "Eye Space Depth (Out)"; }
|
||||
virtual Material::BlendOp getBlendOp() { return Material::None; }
|
||||
virtual const char* getOutputVarName() const { return "eyeSpaceDepth"; }
|
||||
void processVert( Vector<ShaderComponent*> &componentList, const MaterialFeatureData &fd ) override;
|
||||
void processPix( Vector<ShaderComponent*> &componentList, const MaterialFeatureData &fd ) override;
|
||||
Resources getResources( const MaterialFeatureData &fd ) override;
|
||||
String getName() override { return "Eye Space Depth (Out)"; }
|
||||
Material::BlendOp getBlendOp() override { return Material::None; }
|
||||
const char* getOutputVarName() const override { return "eyeSpaceDepth"; }
|
||||
};
|
||||
|
||||
|
||||
|
|
@ -49,12 +49,12 @@ class DepthOutHLSL : public ShaderFeatureHLSL
|
|||
public:
|
||||
|
||||
// ShaderFeature
|
||||
virtual void processVert( Vector<ShaderComponent*> &componentList, const MaterialFeatureData &fd );
|
||||
virtual void processPix( Vector<ShaderComponent*> &componentList, const MaterialFeatureData &fd );
|
||||
virtual Resources getResources( const MaterialFeatureData &fd );
|
||||
virtual String getName() { return "Depth (Out)"; }
|
||||
virtual Material::BlendOp getBlendOp() { return Material::None; }
|
||||
virtual const char* getOutputVarName() const { return "IN.depth"; }
|
||||
void processVert( Vector<ShaderComponent*> &componentList, const MaterialFeatureData &fd ) override;
|
||||
void processPix( Vector<ShaderComponent*> &componentList, const MaterialFeatureData &fd ) override;
|
||||
Resources getResources( const MaterialFeatureData &fd ) override;
|
||||
String getName() override { return "Depth (Out)"; }
|
||||
Material::BlendOp getBlendOp() override { return Material::None; }
|
||||
const char* getOutputVarName() const override { return "IN.depth"; }
|
||||
};
|
||||
|
||||
#endif // _DEPTH_HLSL_H_
|
||||
|
|
@ -37,11 +37,11 @@ class ParaboloidVertTransformHLSL : public ShaderFeatureHLSL
|
|||
public:
|
||||
|
||||
// ShaderFeature
|
||||
virtual void processVert( Vector<ShaderComponent*> &componentList, const MaterialFeatureData &fd );
|
||||
virtual void processPix( Vector<ShaderComponent*> &componentList, const MaterialFeatureData &fd );
|
||||
virtual Resources getResources( const MaterialFeatureData &fd );
|
||||
virtual String getName() { return "Paraboloid Vert Transform"; }
|
||||
virtual Material::BlendOp getBlendOp() { return Material::None; }
|
||||
void processVert( Vector<ShaderComponent*> &componentList, const MaterialFeatureData &fd ) override;
|
||||
void processPix( Vector<ShaderComponent*> &componentList, const MaterialFeatureData &fd ) override;
|
||||
Resources getResources( const MaterialFeatureData &fd ) override;
|
||||
String getName() override { return "Paraboloid Vert Transform"; }
|
||||
Material::BlendOp getBlendOp() override { return Material::None; }
|
||||
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -35,40 +35,40 @@ private:
|
|||
public:
|
||||
|
||||
// ShaderConnector
|
||||
virtual Var* getElement( RegisterType type,
|
||||
Var* getElement( RegisterType type,
|
||||
U32 numElements = 1,
|
||||
U32 numRegisters = -1 );
|
||||
U32 numRegisters = -1 ) override;
|
||||
virtual Var* getIndexedElement( U32 index,
|
||||
RegisterType type,
|
||||
U32 numElements = 1,
|
||||
U32 numRegisters = -1 );
|
||||
|
||||
virtual void setName( const char *newName );
|
||||
virtual void reset();
|
||||
virtual void sortVars();
|
||||
void setName( const char *newName ) override;
|
||||
void reset() override;
|
||||
void sortVars() override;
|
||||
|
||||
virtual void print( Stream &stream, bool isVertexShader );
|
||||
void print( Stream &stream, bool isVertexShader ) override;
|
||||
};
|
||||
|
||||
|
||||
class ParamsDefHLSL : public ParamsDef
|
||||
{
|
||||
protected:
|
||||
virtual void assignConstantNumbers();
|
||||
void assignConstantNumbers() override;
|
||||
};
|
||||
|
||||
|
||||
class VertexParamsDefHLSL : public ParamsDefHLSL
|
||||
{
|
||||
public:
|
||||
virtual void print( Stream &stream, bool isVerterShader );
|
||||
void print( Stream &stream, bool isVerterShader ) override;
|
||||
};
|
||||
|
||||
|
||||
class PixelParamsDefHLSL : public ParamsDefHLSL
|
||||
{
|
||||
public:
|
||||
virtual void print( Stream &stream, bool isVerterShader );
|
||||
void print( Stream &stream, bool isVerterShader ) override;
|
||||
};
|
||||
|
||||
#endif // _SHADERCOMP_HLSL_H_
|
||||
|
|
|
|||
|
|
@ -141,10 +141,10 @@ public:
|
|||
Var* getInWorldNormal(Vector<ShaderComponent*>& componentList);
|
||||
|
||||
// ShaderFeature
|
||||
Var* getVertTexCoord( const String &name );
|
||||
LangElement* setupTexSpaceMat( Vector<ShaderComponent*> &componentList, Var **texSpaceMat );
|
||||
LangElement* assignColor( LangElement *elem, Material::BlendOp blend, LangElement *lerpElem = NULL, ShaderFeature::OutputTarget outputTarget = ShaderFeature::DefaultTarget );
|
||||
LangElement* expandNormalMap( LangElement *sampleNormalOp, LangElement *normalDecl, LangElement *normalVar, const MaterialFeatureData &fd );
|
||||
Var* getVertTexCoord( const String &name ) override;
|
||||
LangElement* setupTexSpaceMat( Vector<ShaderComponent*> &componentList, Var **texSpaceMat ) override;
|
||||
LangElement* assignColor( LangElement *elem, Material::BlendOp blend, LangElement *lerpElem = NULL, ShaderFeature::OutputTarget outputTarget = ShaderFeature::DefaultTarget ) override;
|
||||
LangElement* expandNormalMap( LangElement *sampleNormalOp, LangElement *normalDecl, LangElement *normalVar, const MaterialFeatureData &fd ) override;
|
||||
};
|
||||
|
||||
|
||||
|
|
@ -158,7 +158,7 @@ public:
|
|||
: mName( name )
|
||||
{}
|
||||
|
||||
virtual String getName() { return mName; }
|
||||
String getName() override { return mName; }
|
||||
};
|
||||
|
||||
class RenderTargetZeroHLSL : public ShaderFeatureHLSL
|
||||
|
|
@ -176,12 +176,12 @@ public:
|
|||
mFeatureName = buffer;
|
||||
}
|
||||
|
||||
virtual String getName() { return mFeatureName; }
|
||||
String getName() override { return mFeatureName; }
|
||||
|
||||
virtual void processPix( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd );
|
||||
void processPix( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd ) override;
|
||||
|
||||
virtual U32 getOutputTargets( const MaterialFeatureData &fd ) const { return mOutputTargetMask; }
|
||||
U32 getOutputTargets( const MaterialFeatureData &fd ) const override { return mOutputTargetMask; }
|
||||
};
|
||||
|
||||
|
||||
|
|
@ -189,23 +189,23 @@ public:
|
|||
class VertPositionHLSL : public ShaderFeatureHLSL
|
||||
{
|
||||
public:
|
||||
virtual void processVert( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd );
|
||||
void processVert( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd ) override;
|
||||
|
||||
virtual void processPix( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd);
|
||||
void processPix( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd) override;
|
||||
|
||||
virtual String getName()
|
||||
String getName() override
|
||||
{
|
||||
return "Vert Position";
|
||||
}
|
||||
|
||||
virtual void determineFeature( Material *material,
|
||||
void determineFeature( Material *material,
|
||||
const GFXVertexFormat *vertexFormat,
|
||||
U32 stageNum,
|
||||
const FeatureType &type,
|
||||
const FeatureSet &features,
|
||||
MaterialFeatureData *outFeatureData );
|
||||
MaterialFeatureData *outFeatureData ) override;
|
||||
|
||||
};
|
||||
|
||||
|
|
@ -222,17 +222,17 @@ public:
|
|||
|
||||
RTLightingFeatHLSL();
|
||||
|
||||
virtual void processVert( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd );
|
||||
void processVert( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd ) override;
|
||||
|
||||
virtual void processPix( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd );
|
||||
void processPix( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd ) override;
|
||||
|
||||
virtual Material::BlendOp getBlendOp(){ return Material::None; }
|
||||
Material::BlendOp getBlendOp() override{ return Material::None; }
|
||||
|
||||
virtual Resources getResources( const MaterialFeatureData &fd );
|
||||
Resources getResources( const MaterialFeatureData &fd ) override;
|
||||
|
||||
virtual String getName()
|
||||
String getName() override
|
||||
{
|
||||
return "RT Lighting";
|
||||
}
|
||||
|
|
@ -248,25 +248,25 @@ protected:
|
|||
|
||||
public:
|
||||
DiffuseMapFeatHLSL();
|
||||
virtual void processVert( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd );
|
||||
void processVert( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd ) override;
|
||||
|
||||
virtual void processPix( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd );
|
||||
void processPix( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd ) override;
|
||||
|
||||
virtual U32 getOutputTargets(const MaterialFeatureData &fd) const;
|
||||
U32 getOutputTargets(const MaterialFeatureData &fd) const override;
|
||||
|
||||
virtual Material::BlendOp getBlendOp(){ return Material::LerpAlpha; }
|
||||
Material::BlendOp getBlendOp() override{ return Material::LerpAlpha; }
|
||||
|
||||
virtual Resources getResources( const MaterialFeatureData &fd );
|
||||
Resources getResources( const MaterialFeatureData &fd ) override;
|
||||
|
||||
// Sets textures and texture flags for current pass
|
||||
virtual void setTexData( Material::StageData &stageDat,
|
||||
void setTexData( Material::StageData &stageDat,
|
||||
const MaterialFeatureData &fd,
|
||||
RenderPassData &passData,
|
||||
U32 &texIndex );
|
||||
U32 &texIndex ) override;
|
||||
|
||||
virtual String getName()
|
||||
String getName() override
|
||||
{
|
||||
return "Base Texture";
|
||||
}
|
||||
|
|
@ -277,23 +277,23 @@ public:
|
|||
class OverlayTexFeatHLSL : public ShaderFeatureHLSL
|
||||
{
|
||||
public:
|
||||
virtual void processVert( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd );
|
||||
void processVert( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd ) override;
|
||||
|
||||
virtual void processPix( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd );
|
||||
void processPix( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd ) override;
|
||||
|
||||
virtual Material::BlendOp getBlendOp(){ return Material::LerpAlpha; }
|
||||
Material::BlendOp getBlendOp() override{ return Material::LerpAlpha; }
|
||||
|
||||
virtual Resources getResources( const MaterialFeatureData &fd );
|
||||
Resources getResources( const MaterialFeatureData &fd ) override;
|
||||
|
||||
// Sets textures and texture flags for current pass
|
||||
virtual void setTexData( Material::StageData &stageDat,
|
||||
void setTexData( Material::StageData &stageDat,
|
||||
const MaterialFeatureData &fd,
|
||||
RenderPassData &passData,
|
||||
U32 &texIndex );
|
||||
U32 &texIndex ) override;
|
||||
|
||||
virtual String getName()
|
||||
String getName() override
|
||||
{
|
||||
return "Overlay Texture";
|
||||
}
|
||||
|
|
@ -304,13 +304,13 @@ public:
|
|||
class DiffuseFeatureHLSL : public ShaderFeatureHLSL
|
||||
{
|
||||
public:
|
||||
virtual void processPix( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd );
|
||||
void processPix( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd ) override;
|
||||
|
||||
virtual Material::BlendOp getBlendOp(){ return Material::None; }
|
||||
Material::BlendOp getBlendOp() override{ return Material::None; }
|
||||
|
||||
virtual U32 getOutputTargets(const MaterialFeatureData &fd) const;
|
||||
virtual String getName()
|
||||
U32 getOutputTargets(const MaterialFeatureData &fd) const override;
|
||||
String getName() override
|
||||
{
|
||||
return "Diffuse Color";
|
||||
}
|
||||
|
|
@ -321,14 +321,14 @@ class DiffuseVertColorFeatureHLSL : public ShaderFeatureHLSL
|
|||
{
|
||||
public:
|
||||
|
||||
virtual void processVert( Vector< ShaderComponent* >& componentList,
|
||||
const MaterialFeatureData& fd );
|
||||
virtual void processPix( Vector< ShaderComponent* >&componentList,
|
||||
const MaterialFeatureData& fd );
|
||||
void processVert( Vector< ShaderComponent* >& componentList,
|
||||
const MaterialFeatureData& fd ) override;
|
||||
void processPix( Vector< ShaderComponent* >&componentList,
|
||||
const MaterialFeatureData& fd ) override;
|
||||
|
||||
virtual Material::BlendOp getBlendOp(){ return Material::None; }
|
||||
Material::BlendOp getBlendOp() override{ return Material::None; }
|
||||
|
||||
virtual String getName()
|
||||
String getName() override
|
||||
{
|
||||
return "Diffuse Vertex Color";
|
||||
}
|
||||
|
|
@ -338,28 +338,28 @@ public:
|
|||
class LightmapFeatHLSL : public ShaderFeatureHLSL
|
||||
{
|
||||
public:
|
||||
virtual void processVert( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd );
|
||||
void processVert( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd ) override;
|
||||
|
||||
virtual void processPix( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd );
|
||||
void processPix( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd ) override;
|
||||
|
||||
virtual Material::BlendOp getBlendOp(){ return Material::LerpAlpha; }
|
||||
Material::BlendOp getBlendOp() override{ return Material::LerpAlpha; }
|
||||
|
||||
virtual Resources getResources( const MaterialFeatureData &fd );
|
||||
Resources getResources( const MaterialFeatureData &fd ) override;
|
||||
|
||||
// Sets textures and texture flags for current pass
|
||||
virtual void setTexData( Material::StageData &stageDat,
|
||||
void setTexData( Material::StageData &stageDat,
|
||||
const MaterialFeatureData &fd,
|
||||
RenderPassData &passData,
|
||||
U32 &texIndex );
|
||||
U32 &texIndex ) override;
|
||||
|
||||
virtual String getName()
|
||||
String getName() override
|
||||
{
|
||||
return "Lightmap";
|
||||
}
|
||||
|
||||
virtual U32 getOutputTargets( const MaterialFeatureData &fd ) const;
|
||||
U32 getOutputTargets( const MaterialFeatureData &fd ) const override;
|
||||
};
|
||||
|
||||
|
||||
|
|
@ -367,28 +367,28 @@ public:
|
|||
class TonemapFeatHLSL : public ShaderFeatureHLSL
|
||||
{
|
||||
public:
|
||||
virtual void processVert( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd );
|
||||
void processVert( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd ) override;
|
||||
|
||||
virtual void processPix( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd );
|
||||
void processPix( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd ) override;
|
||||
|
||||
virtual Material::BlendOp getBlendOp(){ return Material::LerpAlpha; }
|
||||
Material::BlendOp getBlendOp() override{ return Material::LerpAlpha; }
|
||||
|
||||
virtual Resources getResources( const MaterialFeatureData &fd );
|
||||
Resources getResources( const MaterialFeatureData &fd ) override;
|
||||
|
||||
// Sets textures and texture flags for current pass
|
||||
virtual void setTexData( Material::StageData &stageDat,
|
||||
void setTexData( Material::StageData &stageDat,
|
||||
const MaterialFeatureData &fd,
|
||||
RenderPassData &passData,
|
||||
U32 &texIndex );
|
||||
U32 &texIndex ) override;
|
||||
|
||||
virtual String getName()
|
||||
String getName() override
|
||||
{
|
||||
return "Tonemap";
|
||||
}
|
||||
|
||||
virtual U32 getOutputTargets( const MaterialFeatureData &fd ) const;
|
||||
U32 getOutputTargets( const MaterialFeatureData &fd ) const override;
|
||||
};
|
||||
|
||||
|
||||
|
|
@ -396,20 +396,20 @@ public:
|
|||
class VertLitHLSL : public ShaderFeatureHLSL
|
||||
{
|
||||
public:
|
||||
virtual void processVert( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd );
|
||||
void processVert( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd ) override;
|
||||
|
||||
virtual void processPix( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd );
|
||||
void processPix( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd ) override;
|
||||
|
||||
virtual Material::BlendOp getBlendOp(){ return Material::None; }
|
||||
Material::BlendOp getBlendOp() override{ return Material::None; }
|
||||
|
||||
virtual String getName()
|
||||
String getName() override
|
||||
{
|
||||
return "Vert Lit";
|
||||
}
|
||||
|
||||
virtual U32 getOutputTargets( const MaterialFeatureData &fd ) const;
|
||||
U32 getOutputTargets( const MaterialFeatureData &fd ) const override;
|
||||
};
|
||||
|
||||
|
||||
|
|
@ -417,23 +417,23 @@ public:
|
|||
class DetailFeatHLSL : public ShaderFeatureHLSL
|
||||
{
|
||||
public:
|
||||
virtual void processVert( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd );
|
||||
void processVert( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd ) override;
|
||||
|
||||
virtual void processPix( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd );
|
||||
void processPix( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd ) override;
|
||||
|
||||
virtual Resources getResources( const MaterialFeatureData &fd );
|
||||
Resources getResources( const MaterialFeatureData &fd ) override;
|
||||
|
||||
virtual Material::BlendOp getBlendOp(){ return Material::Mul; }
|
||||
Material::BlendOp getBlendOp() override{ return Material::Mul; }
|
||||
|
||||
// Sets textures and texture flags for current pass
|
||||
virtual void setTexData( Material::StageData &stageDat,
|
||||
void setTexData( Material::StageData &stageDat,
|
||||
const MaterialFeatureData &fd,
|
||||
RenderPassData &passData,
|
||||
U32 &texIndex );
|
||||
U32 &texIndex ) override;
|
||||
|
||||
virtual String getName()
|
||||
String getName() override
|
||||
{
|
||||
return "Detail";
|
||||
}
|
||||
|
|
@ -444,21 +444,21 @@ public:
|
|||
class ReflectCubeFeatHLSL : public ShaderFeatureHLSL
|
||||
{
|
||||
public:
|
||||
virtual void processVert( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd );
|
||||
void processVert( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd ) override;
|
||||
|
||||
virtual void processPix( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd );
|
||||
void processPix( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd ) override;
|
||||
|
||||
virtual Resources getResources( const MaterialFeatureData &fd );
|
||||
Resources getResources( const MaterialFeatureData &fd ) override;
|
||||
|
||||
// Sets textures and texture flags for current pass
|
||||
virtual void setTexData( Material::StageData &stageDat,
|
||||
void setTexData( Material::StageData &stageDat,
|
||||
const MaterialFeatureData &fd,
|
||||
RenderPassData &passData,
|
||||
U32 &texIndex );
|
||||
U32 &texIndex ) override;
|
||||
|
||||
virtual String getName()
|
||||
String getName() override
|
||||
{
|
||||
return "Reflect Cube";
|
||||
}
|
||||
|
|
@ -475,17 +475,17 @@ protected:
|
|||
public:
|
||||
FogFeatHLSL();
|
||||
|
||||
virtual void processVert( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd );
|
||||
void processVert( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd ) override;
|
||||
|
||||
virtual void processPix( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd );
|
||||
void processPix( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd ) override;
|
||||
|
||||
virtual Resources getResources( const MaterialFeatureData &fd );
|
||||
Resources getResources( const MaterialFeatureData &fd ) override;
|
||||
|
||||
virtual Material::BlendOp getBlendOp() { return Material::LerpAlpha; }
|
||||
Material::BlendOp getBlendOp() override { return Material::LerpAlpha; }
|
||||
|
||||
virtual String getName()
|
||||
String getName() override
|
||||
{
|
||||
return "Fog";
|
||||
}
|
||||
|
|
@ -496,9 +496,9 @@ public:
|
|||
class TexAnimHLSL : public ShaderFeatureHLSL
|
||||
{
|
||||
public:
|
||||
virtual Material::BlendOp getBlendOp() { return Material::None; }
|
||||
Material::BlendOp getBlendOp() override { return Material::None; }
|
||||
|
||||
virtual String getName()
|
||||
String getName() override
|
||||
{
|
||||
return "Texture Animation";
|
||||
}
|
||||
|
|
@ -516,17 +516,17 @@ public:
|
|||
|
||||
VisibilityFeatHLSL();
|
||||
|
||||
virtual void processVert( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd );
|
||||
void processVert( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd ) override;
|
||||
|
||||
virtual void processPix( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd );
|
||||
void processPix( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd ) override;
|
||||
|
||||
virtual Resources getResources( const MaterialFeatureData &fd );
|
||||
Resources getResources( const MaterialFeatureData &fd ) override;
|
||||
|
||||
virtual Material::BlendOp getBlendOp() { return Material::None; }
|
||||
Material::BlendOp getBlendOp() override { return Material::None; }
|
||||
|
||||
virtual String getName()
|
||||
String getName() override
|
||||
{
|
||||
return "Visibility";
|
||||
}
|
||||
|
|
@ -537,12 +537,12 @@ public:
|
|||
class AlphaTestHLSL : public ShaderFeatureHLSL
|
||||
{
|
||||
public:
|
||||
virtual void processPix( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd );
|
||||
void processPix( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd ) override;
|
||||
|
||||
virtual Material::BlendOp getBlendOp() { return Material::None; }
|
||||
Material::BlendOp getBlendOp() override { return Material::None; }
|
||||
|
||||
virtual String getName()
|
||||
String getName() override
|
||||
{
|
||||
return "Alpha Test";
|
||||
}
|
||||
|
|
@ -555,12 +555,12 @@ public:
|
|||
class GlowMaskHLSL : public ShaderFeatureHLSL
|
||||
{
|
||||
public:
|
||||
virtual void processPix( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd );
|
||||
void processPix( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd ) override;
|
||||
|
||||
virtual Material::BlendOp getBlendOp() { return Material::None; }
|
||||
Material::BlendOp getBlendOp() override { return Material::None; }
|
||||
|
||||
virtual String getName()
|
||||
String getName() override
|
||||
{
|
||||
return "Glow Mask";
|
||||
}
|
||||
|
|
@ -581,12 +581,12 @@ public:
|
|||
|
||||
HDROutHLSL();
|
||||
|
||||
virtual void processPix( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd );
|
||||
void processPix( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd ) override;
|
||||
|
||||
virtual Material::BlendOp getBlendOp() { return Material::None; }
|
||||
Material::BlendOp getBlendOp() override { return Material::None; }
|
||||
|
||||
virtual String getName() { return "HDR Output"; }
|
||||
String getName() override { return "HDR Output"; }
|
||||
};
|
||||
|
||||
///
|
||||
|
|
@ -600,35 +600,35 @@ public:
|
|||
|
||||
FoliageFeatureHLSL();
|
||||
|
||||
virtual void processVert( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd );
|
||||
void processVert( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd ) override;
|
||||
|
||||
virtual void processPix( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd );
|
||||
void processPix( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd ) override;
|
||||
|
||||
virtual String getName()
|
||||
String getName() override
|
||||
{
|
||||
return "Foliage Feature";
|
||||
}
|
||||
|
||||
virtual void determineFeature( Material *material,
|
||||
void determineFeature( Material *material,
|
||||
const GFXVertexFormat *vertexFormat,
|
||||
U32 stageNum,
|
||||
const FeatureType &type,
|
||||
const FeatureSet &features,
|
||||
MaterialFeatureData *outFeatureData );
|
||||
MaterialFeatureData *outFeatureData ) override;
|
||||
|
||||
virtual ShaderFeatureConstHandles* createConstHandles( GFXShader *shader, SimObject *userObject );
|
||||
ShaderFeatureConstHandles* createConstHandles( GFXShader *shader, SimObject *userObject ) override;
|
||||
};
|
||||
|
||||
class ParticleNormalFeatureHLSL : public ShaderFeatureHLSL
|
||||
{
|
||||
public:
|
||||
|
||||
virtual void processVert( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd );
|
||||
void processVert( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd ) override;
|
||||
|
||||
virtual String getName()
|
||||
String getName() override
|
||||
{
|
||||
return "Particle Normal Generation Feature";
|
||||
}
|
||||
|
|
@ -648,20 +648,20 @@ public:
|
|||
|
||||
ImposterVertFeatureHLSL();
|
||||
|
||||
virtual void processVert( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd );
|
||||
void processVert( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd ) override;
|
||||
|
||||
virtual void processPix( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd );
|
||||
void processPix( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd ) override;
|
||||
|
||||
virtual String getName() { return "Imposter Vert"; }
|
||||
String getName() override { return "Imposter Vert"; }
|
||||
|
||||
virtual void determineFeature( Material *material,
|
||||
void determineFeature( Material *material,
|
||||
const GFXVertexFormat *vertexFormat,
|
||||
U32 stageNum,
|
||||
const FeatureType &type,
|
||||
const FeatureSet &features,
|
||||
MaterialFeatureData *outFeatureData );
|
||||
MaterialFeatureData *outFeatureData ) override;
|
||||
};
|
||||
|
||||
/// Hardware Skinning
|
||||
|
|
@ -671,10 +671,10 @@ protected:
|
|||
|
||||
public:
|
||||
|
||||
virtual void processVert( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd );
|
||||
void processVert( Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd ) override;
|
||||
|
||||
virtual String getName() { return "Hardware Skinning"; }
|
||||
String getName() override { return "Hardware Skinning"; }
|
||||
};
|
||||
|
||||
/// Reflection Probes
|
||||
|
|
@ -686,21 +686,21 @@ protected:
|
|||
public:
|
||||
ReflectionProbeFeatHLSL();
|
||||
|
||||
virtual void processVert(Vector<ShaderComponent*>& componentList,
|
||||
const MaterialFeatureData& fd);
|
||||
void processVert(Vector<ShaderComponent*>& componentList,
|
||||
const MaterialFeatureData& fd) override;
|
||||
|
||||
virtual void processPix(Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd);
|
||||
void processPix(Vector<ShaderComponent*> &componentList,
|
||||
const MaterialFeatureData &fd) override;
|
||||
|
||||
virtual Resources getResources(const MaterialFeatureData &fd);
|
||||
Resources getResources(const MaterialFeatureData &fd) override;
|
||||
|
||||
// Sets textures and texture flags for current pass
|
||||
virtual void setTexData(Material::StageData &stageDat,
|
||||
void setTexData(Material::StageData &stageDat,
|
||||
const MaterialFeatureData &fd,
|
||||
RenderPassData &passData,
|
||||
U32 &texIndex);
|
||||
U32 &texIndex) override;
|
||||
|
||||
virtual String getName()
|
||||
String getName() override
|
||||
{
|
||||
return "Reflection Probes";
|
||||
}
|
||||
|
|
|
|||
|
|
@ -33,12 +33,12 @@ class ShaderGenPrinterHLSL : public ShaderGenPrinter
|
|||
public:
|
||||
|
||||
// ShaderGenPrinter
|
||||
virtual void printShaderHeader(Stream& stream);
|
||||
virtual void printMainComment(Stream& stream);
|
||||
virtual void printVertexShaderCloser(Stream& stream);
|
||||
virtual void printPixelShaderOutputStruct(Stream& stream, const MaterialFeatureData &featureData);
|
||||
virtual void printPixelShaderCloser(Stream& stream);
|
||||
virtual void printLine(Stream& stream, const String& line);
|
||||
void printShaderHeader(Stream& stream) override;
|
||||
void printMainComment(Stream& stream) override;
|
||||
void printVertexShaderCloser(Stream& stream) override;
|
||||
void printPixelShaderOutputStruct(Stream& stream, const MaterialFeatureData &featureData) override;
|
||||
void printPixelShaderCloser(Stream& stream) override;
|
||||
void printLine(Stream& stream, const String& line) override;
|
||||
};
|
||||
|
||||
class ShaderGenComponentFactoryHLSL : public ShaderGenComponentFactory
|
||||
|
|
@ -50,10 +50,10 @@ public:
|
|||
static const char* typeToString( GFXDeclType type );
|
||||
|
||||
// ShaderGenComponentFactory
|
||||
virtual ShaderComponent* createVertexInputConnector( const GFXVertexFormat &vertexFormat );
|
||||
virtual ShaderComponent* createVertexPixelConnector();
|
||||
virtual ShaderComponent* createVertexParamsDef();
|
||||
virtual ShaderComponent* createPixelParamsDef();
|
||||
ShaderComponent* createVertexInputConnector( const GFXVertexFormat &vertexFormat ) override;
|
||||
ShaderComponent* createVertexPixelConnector() override;
|
||||
ShaderComponent* createVertexParamsDef() override;
|
||||
ShaderComponent* createPixelParamsDef() override;
|
||||
};
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue