from @rextimmy new isbackground shader feature. used the same z=w trick we've done before to force things to render behind everything else. applied to fog

This commit is contained in:
AzaezelX 2020-07-14 14:08:12 -05:00
parent dda0cc9aa7
commit 454192ed02
8 changed files with 15 additions and 4 deletions

View file

@ -105,6 +105,7 @@ ImplementFeatureType( MFT_ImposterVert, MFG_PreTransform, 1.0, false );
// Deferred Shading
ImplementFeatureType( MFT_isDeferred, U32(-1), -1, true );
ImplementFeatureType( MFT_SkyBox, MFG_Transform, 1.0f, false );
ImplementFeatureType( MFT_isBackground, MFG_Transform, 1.0f, false );
ImplementFeatureType( MFT_SkyBox, MFG_Transform, 2.0f, false );
ImplementFeatureType( MFT_HardwareSkinning, MFG_Transform,-2.0, false );

View file

@ -192,6 +192,7 @@ DeclareFeatureType( MFT_HardwareSkinning );
// Deferred Shading
DeclareFeatureType( MFT_isDeferred );
DeclareFeatureType( MFT_isBackground );
DeclareFeatureType( MFT_SkyBox );
DeclareFeatureType( MFT_MatInfoFlags );
#endif // _MATERIALFEATURETYPES_H_

View file

@ -452,6 +452,10 @@ void ProcessedShaderMaterial::_determineFeatures( U32 stageNum,
// Deferred Shading : Material Info Flags
fd.features.addFeature(MFT_MatInfoFlags);
if (features.hasFeature(MFT_isBackground))
{
fd.features.addFeature(MFT_isBackground);
}
if (features.hasFeature(MFT_SkyBox))
{
fd.features.addFeature(MFT_StaticCubemap);