Revert "Fix Blend Mode on Terrain materials to be unenviable due to not implemented"
This reverts commit 641f70d4ac.
Transparent material on terrain is used by terrain brushes and terrain highlight tools in editor.
This commit is contained in:
@@ -57,7 +57,7 @@ namespace FlaxEditor.Windows.Assets
|
||||
[EditorOrder(20), VisibleIf(nameof(IsStandard)), EditorDisplay("General"), Tooltip("Defines how material inputs and properties are combined to result the final surface color.")]
|
||||
public MaterialShadingModel ShadingModel;
|
||||
|
||||
[EditorOrder(30), VisibleIf(nameof(ShowBlendMode)), EditorDisplay("General"), Tooltip("Determinates how materials' color should be blended with the background colors.")]
|
||||
[EditorOrder(30), VisibleIf(nameof(IsStandard)), EditorDisplay("General"), Tooltip("Determinates how materials' color should be blended with the background colors.")]
|
||||
public MaterialBlendMode BlendMode;
|
||||
|
||||
// Rendering
|
||||
@@ -145,7 +145,6 @@ namespace FlaxEditor.Windows.Assets
|
||||
|
||||
// Visibility conditionals
|
||||
|
||||
private bool ShowBlendMode => Domain != MaterialDomain.Terrain;
|
||||
private bool IsPostProcess => Domain == MaterialDomain.PostProcess;
|
||||
private bool IsDecal => Domain == MaterialDomain.Decal;
|
||||
private bool IsGUI => Domain == MaterialDomain.GUI;
|
||||
@@ -188,14 +187,6 @@ namespace FlaxEditor.Windows.Assets
|
||||
|
||||
// Link
|
||||
Window = window;
|
||||
|
||||
// [Deprecated in 1.12]
|
||||
// Fix old terrain materials to go back into opaque
|
||||
if (Domain == MaterialDomain.Terrain && BlendMode != MaterialBlendMode.Opaque)
|
||||
{
|
||||
BlendMode = MaterialBlendMode.Opaque;
|
||||
FlaxEngine.Scripting.InvokeOnUpdate(Window.MarkAsEdited);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -150,6 +150,21 @@ bool TerrainMaterialShader::Load()
|
||||
}
|
||||
#endif
|
||||
|
||||
// Support blending but then use only emissive channel
|
||||
switch (_info.BlendMode)
|
||||
{
|
||||
case MaterialBlendMode::Transparent:
|
||||
psDesc.BlendMode = BlendingMode::AlphaBlend;
|
||||
break;
|
||||
case MaterialBlendMode::Additive:
|
||||
psDesc.BlendMode = BlendingMode::Additive;
|
||||
break;
|
||||
case MaterialBlendMode::Multiply:
|
||||
psDesc.BlendMode = BlendingMode::Multiply;
|
||||
break;
|
||||
default: ;
|
||||
}
|
||||
|
||||
// GBuffer Pass
|
||||
psDesc.VS = _shader->GetVS("VS");
|
||||
psDesc.PS = _shader->GetPS("PS_GBuffer");
|
||||
@@ -170,6 +185,7 @@ bool TerrainMaterialShader::Load()
|
||||
|
||||
// Depth Pass
|
||||
psDesc.CullMode = CullMode::TwoSided;
|
||||
psDesc.BlendMode = BlendingMode::Opaque;
|
||||
psDesc.DepthClipEnable = false;
|
||||
psDesc.DepthWriteEnable = true;
|
||||
psDesc.DepthEnable = true;
|
||||
|
||||
Reference in New Issue
Block a user