- Home /
Question by
sergiobd · Jul 08, 2019 at 04:30 AM ·
post processingpost-process-effectpost-processing
How to set default texture value in Post-processing stack V2
When programming a custom effect in for the Post-processing stack v2, I can properly set default Float values. But how about default Texture values?
public sealed class Watercolor : PostProcessEffectSettings
{
public FloatParameter scale = new FloatParameter { value = 1f };
public TextureParameter tex = new TextureParameter { value = ?};
}
Comment
Answer by Jeizar · Feb 26, 2020 at 03:48 PM
Hello, You cannot really do anything better than null easily.
But There is an enum TextureParameterDefault that you can use to set the default value to defaultState . You can use Black, White, Transparent or Lut2D
You can find info in the script ParameterOverride.cs in PostProcessing/Runtime .
If you write something like this :
public TextureParameter yourTextureParameter= new TextureParameter {
value = null,
defaultState = TextureParameterDefault.Black
};
you can use that value with RuntimeUtilities to get a default texture when you check if your parameter is null.
Texture texParameter = settings.yourTextureParameter.value;
if ( texParameter == null)
{
TextureParameterDefault def = settings.yourTextureParameter.defaultState;
switch (def)
{
case TextureParameterDefault.Black:
texParameter = RuntimeUtilities.blackTexture;
break;
case TextureParameterDefault.White:
texParameter = RuntimeUtilities.whiteTexture;
break;
case TextureParameterDefault.Transparent:
texParameter = RuntimeUtilities.transparentTexture;
break;
}
}