mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-07-14 16:14:38 +00:00
remove all stage specifics and dynamic naming
always running into issues with this as at times features are coming in with a different index and that affects how another stage is interacting with that shader. This produces alot more shaders, previous run with these was around 500 but without it is producing over 800 (this includes tso compiled output) This may be something that will only work for the shadernodes as users will be designing those.
This commit is contained in:
parent
dc2a9ed2e5
commit
2ca11b4a94
7 changed files with 13 additions and 44 deletions
|
|
@ -46,8 +46,6 @@ public:
|
||||||
void processVert( Vector<ShaderComponent*> &componentList,
|
void processVert( Vector<ShaderComponent*> &componentList,
|
||||||
const MaterialFeatureData &fd ) override;
|
const MaterialFeatureData &fd ) override;
|
||||||
|
|
||||||
U32 getShaderStages() override { return GFXShaderStage::VERTEX_SHADER; }
|
|
||||||
|
|
||||||
String getName() override
|
String getName() override
|
||||||
{
|
{
|
||||||
return "Wind Effect";
|
return "Wind Effect";
|
||||||
|
|
|
||||||
|
|
@ -138,8 +138,6 @@ public:
|
||||||
void processPix( Vector<ShaderComponent*> &componentList,
|
void processPix( Vector<ShaderComponent*> &componentList,
|
||||||
const MaterialFeatureData &fd ) override;
|
const MaterialFeatureData &fd ) override;
|
||||||
|
|
||||||
U32 getShaderStages() override { return GFXShaderStage::PIXEL_SHADER; }
|
|
||||||
|
|
||||||
String getName() override
|
String getName() override
|
||||||
{
|
{
|
||||||
return "Sub-Surface Approximation [Deferred]";
|
return "Sub-Surface Approximation [Deferred]";
|
||||||
|
|
|
||||||
|
|
@ -57,8 +57,6 @@ public:
|
||||||
const MaterialFeatureData &fd ) override;
|
const MaterialFeatureData &fd ) override;
|
||||||
|
|
||||||
U32 getOutputTargets(const MaterialFeatureData& fd) const override;
|
U32 getOutputTargets(const MaterialFeatureData& fd) const override;
|
||||||
|
|
||||||
U32 getShaderStages() override { return GFXShaderStage::PIXEL_SHADER; }
|
|
||||||
};
|
};
|
||||||
|
|
||||||
class ORMConfigVarsHLSL : public ShaderFeatureHLSL
|
class ORMConfigVarsHLSL : public ShaderFeatureHLSL
|
||||||
|
|
@ -70,8 +68,6 @@ public:
|
||||||
|
|
||||||
void processPix( Vector<ShaderComponent*> &componentList,
|
void processPix( Vector<ShaderComponent*> &componentList,
|
||||||
const MaterialFeatureData &fd ) override;
|
const MaterialFeatureData &fd ) override;
|
||||||
|
|
||||||
U32 getShaderStages() override { return GFXShaderStage::PIXEL_SHADER; }
|
|
||||||
};
|
};
|
||||||
|
|
||||||
class GlowMapHLSL : public ShaderFeatureHLSL
|
class GlowMapHLSL : public ShaderFeatureHLSL
|
||||||
|
|
@ -82,8 +78,6 @@ public:
|
||||||
void processPix(Vector<ShaderComponent*> &componentList,
|
void processPix(Vector<ShaderComponent*> &componentList,
|
||||||
const MaterialFeatureData &fd) override;
|
const MaterialFeatureData &fd) override;
|
||||||
|
|
||||||
//U32 getShaderStages() override { return GFXShaderStage::PIXEL_SHADER; }
|
|
||||||
|
|
||||||
U32 getOutputTargets(const MaterialFeatureData& fd) const override;
|
U32 getOutputTargets(const MaterialFeatureData& fd) const override;
|
||||||
|
|
||||||
Resources getResources(const MaterialFeatureData& fd) override;
|
Resources getResources(const MaterialFeatureData& fd) override;
|
||||||
|
|
|
||||||
|
|
@ -98,8 +98,6 @@ public:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
U32 getShaderStages() override { return GFXShaderStage::PIXEL_SHADER; }
|
|
||||||
|
|
||||||
String getName() override { return "Accu Scale"; }
|
String getName() override { return "Accu Scale"; }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -120,8 +118,6 @@ public:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
U32 getShaderStages() override { return GFXShaderStage::PIXEL_SHADER; }
|
|
||||||
|
|
||||||
String getName() override { return "Accu Direction"; }
|
String getName() override { return "Accu Direction"; }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -142,8 +138,6 @@ public:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
U32 getShaderStages() override { return GFXShaderStage::PIXEL_SHADER; }
|
|
||||||
|
|
||||||
String getName() override { return "Accu Strength"; }
|
String getName() override { return "Accu Strength"; }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -164,8 +158,6 @@ public:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
U32 getShaderStages() override { return GFXShaderStage::PIXEL_SHADER; }
|
|
||||||
|
|
||||||
String getName() override { return "Accu Coverage"; }
|
String getName() override { return "Accu Coverage"; }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -187,8 +179,6 @@ public:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
U32 getShaderStages() override { return GFXShaderStage::PIXEL_SHADER; }
|
|
||||||
|
|
||||||
String getName() override { return "Accu Specular"; }
|
String getName() override { return "Accu Specular"; }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -37,7 +37,5 @@ public:
|
||||||
void processPix(Vector<ShaderComponent*>& componentList,
|
void processPix(Vector<ShaderComponent*>& componentList,
|
||||||
const MaterialFeatureData& fd) override;
|
const MaterialFeatureData& fd) override;
|
||||||
|
|
||||||
U32 getShaderStages() override { return GFXShaderStage::PIXEL_SHADER; }
|
|
||||||
|
|
||||||
String getName() override { return "Debug Viz"; }
|
String getName() override { return "Debug Viz"; }
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -307,8 +307,6 @@ public:
|
||||||
void processPix( Vector<ShaderComponent*> &componentList,
|
void processPix( Vector<ShaderComponent*> &componentList,
|
||||||
const MaterialFeatureData &fd ) override;
|
const MaterialFeatureData &fd ) override;
|
||||||
|
|
||||||
//U32 getShaderStages() override { return GFXShaderStage::PIXEL_SHADER; }
|
|
||||||
|
|
||||||
Material::BlendOp getBlendOp() override{ return Material::None; }
|
Material::BlendOp getBlendOp() override{ return Material::None; }
|
||||||
|
|
||||||
U32 getOutputTargets(const MaterialFeatureData &fd) const override;
|
U32 getOutputTargets(const MaterialFeatureData &fd) const override;
|
||||||
|
|
@ -561,8 +559,6 @@ public:
|
||||||
void processPix( Vector<ShaderComponent*> &componentList,
|
void processPix( Vector<ShaderComponent*> &componentList,
|
||||||
const MaterialFeatureData &fd ) override;
|
const MaterialFeatureData &fd ) override;
|
||||||
|
|
||||||
//U32 getShaderStages() override { return GFXShaderStage::PIXEL_SHADER; }
|
|
||||||
|
|
||||||
String getName() override
|
String getName() override
|
||||||
{
|
{
|
||||||
return "Glow Mask";
|
return "Glow Mask";
|
||||||
|
|
@ -587,8 +583,6 @@ public:
|
||||||
void processPix( Vector<ShaderComponent*> &componentList,
|
void processPix( Vector<ShaderComponent*> &componentList,
|
||||||
const MaterialFeatureData &fd ) override;
|
const MaterialFeatureData &fd ) override;
|
||||||
|
|
||||||
U32 getShaderStages() override { return GFXShaderStage::PIXEL_SHADER; }
|
|
||||||
|
|
||||||
Material::BlendOp getBlendOp() override { return Material::None; }
|
Material::BlendOp getBlendOp() override { return Material::None; }
|
||||||
|
|
||||||
String getName() override { return "HDR Output"; }
|
String getName() override { return "HDR Output"; }
|
||||||
|
|
@ -633,8 +627,6 @@ public:
|
||||||
void processVert( Vector<ShaderComponent*> &componentList,
|
void processVert( Vector<ShaderComponent*> &componentList,
|
||||||
const MaterialFeatureData &fd ) override;
|
const MaterialFeatureData &fd ) override;
|
||||||
|
|
||||||
U32 getShaderStages() override { return GFXShaderStage::VERTEX_SHADER; }
|
|
||||||
|
|
||||||
String getName() override
|
String getName() override
|
||||||
{
|
{
|
||||||
return "Particle Normal Generation Feature";
|
return "Particle Normal Generation Feature";
|
||||||
|
|
@ -681,8 +673,6 @@ public:
|
||||||
void processVert( Vector<ShaderComponent*> &componentList,
|
void processVert( Vector<ShaderComponent*> &componentList,
|
||||||
const MaterialFeatureData &fd ) override;
|
const MaterialFeatureData &fd ) override;
|
||||||
|
|
||||||
U32 getShaderStages() override { return GFXShaderStage::VERTEX_SHADER; }
|
|
||||||
|
|
||||||
String getName() override { return "Hardware Skinning"; }
|
String getName() override { return "Hardware Skinning"; }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -229,20 +229,21 @@ void ShaderGen::generateShader( const MaterialFeatureData& featureData,
|
||||||
const char* postfix = _getStagePostfix(curStage);
|
const char* postfix = _getStagePostfix(curStage);
|
||||||
String stageName;
|
String stageName;
|
||||||
|
|
||||||
if (curStage & GFXShaderStage::VERTEX_SHADER)
|
//if (curStage & GFXShaderStage::VERTEX_SHADER)
|
||||||
stageName += vertexFormat->getDescription();
|
// stageName += vertexFormat->getDescription();
|
||||||
|
|
||||||
// build our filename.
|
//// build our filename.
|
||||||
for (U32 i = 0; i < features.getCount(); i++)
|
//for (U32 i = 0; i < features.getCount(); i++)
|
||||||
{
|
//{
|
||||||
const FeatureType& type = features.getAt(i);
|
// const FeatureType& type = features.getAt(i);
|
||||||
if (stage & FEATUREMGR->getByType(type)->getShaderStages())
|
// if (stage & FEATUREMGR->getByType(type)->getShaderStages())
|
||||||
{
|
// {
|
||||||
stageName += type.getName();
|
// stageName += type.getName();
|
||||||
}
|
// }
|
||||||
}
|
//}
|
||||||
|
|
||||||
stageName = Torque::getStringHash64(stageName);
|
//stageName = Torque::getStringHash64(stageName);
|
||||||
|
stageName = cacheName;
|
||||||
stageName += postfix;
|
stageName += postfix;
|
||||||
|
|
||||||
FileCacheSet::iterator file = mFileCache.find(stageName);
|
FileCacheSet::iterator file = mFileCache.find(stageName);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue