public void Apply(int pass) { shaderParams.Set(stepKey, Step); shaderParams.Set(sharpnessKey, new Vector3(Strength, Strength * 0.25f, Limit)); PlatformRenderer.SetBlendState(!Opaque ? Blending.GetBlendState() : disabledBlendingState); PlatformRenderer.SetShaderProgram(SharpenShaderProgram.GetInstance(Opaque)); PlatformRenderer.SetShaderParams(shaderParamsArray); }
public static SharpenShaderProgram GetInstance(bool opaque = false) { var key = GetInstanceKey(false); return(instances.TryGetValue(key, out var shaderProgram) ? shaderProgram : (instances[key] = new SharpenShaderProgram(opaque))); }