iBicha / ImageEffectGraph

Image effects for post processing stack created with shader graph for Unity
MIT License
168 stars 18 forks source link

Can't use multiple effects at once #7

Open iBicha opened 5 years ago

iBicha commented 5 years ago

Post processing profile prevents from adding the same effect more than once. Even when using hacks, and successfully adding more than one effect of the same type, the renderer will only render one of them not both. This is needs to be updated in the post processing stack side.

As a work around, for each additional effect you want to use:

  1. Create a class that inherits from RenderWithMaterial like so:
    
    using System;
    using ImageEffectGraph.PostProcessing;
    using UnityEngine.Rendering.PostProcessing;

namespace ImageEffectGraph.Demo { [Serializable] [PostProcess(typeof(RenderWithMaterialRenderer), PostProcessEvent.AfterStack, "Custom/My Other Effect")] public class MyOtherEffect : RenderWithMaterial { } }


2. Create an editor (inspector) for that class that inherits from `RenderWithMaterialEditor` like so:

using ImageEffectGraph.Demo; using ImageEffectGraph.Editor.PostProcessing; using UnityEditor.Rendering.PostProcessing;

namespace ImageEffectGraph.Editor.Demo { [PostProcessEditor(typeof(MyOtherEffect))] public class MyOtherEffectEditor : RenderWithMaterialEditor { } }



And now you should be able to add the new effect from the editor:

<img width="441" alt="screen shot 2018-12-08 at 10 30 07 am" src="https://user-images.githubusercontent.com/17722782/49687661-4d330480-fad4-11e8-9dee-6dad0fdb5751.png">

These are included in the repository for the sake of the example, until this is permanently fixed.