Merge pull request #1234 from marauder2k9-torque/virtuals-override

Virtuals override
This commit is contained in:
Brian Roberts 2024-03-21 10:43:26 -05:00 committed by GitHub
commit 05a083ca6f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
710 changed files with 6353 additions and 6324 deletions

View file

@ -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

View file

@ -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_

View file

@ -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();
}

View file

@ -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"; }
};

View file

@ -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_

View file

@ -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; }
};

View file

@ -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_

View file

@ -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";
}

View file

@ -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;
};