Esempio n. 1
0
 public RemapColorProcessor(FrameProcessorStack stack, ProcessorInfo info)
     : base("Packages/com.unity.vfx-toolbox/ImageSequencer/Editor/Shaders/RemapColor.shader", stack, info)
 {
     if (settings.Gradient == null)
     {
         settings.DefaultGradient();
     }
 }
Esempio n. 2
0
 public GPUFrameProcessor(Shader shader, FrameProcessorStack processorStack, ProcessorInfo info) : base(processorStack, info)
 {
     m_Shader   = shader;
     m_Material = new Material(m_Shader)
     {
         hideFlags = HideFlags.DontSave
     };
     m_Material.hideFlags = HideFlags.DontSave;
 }
Esempio n. 3
0
 public FrameProcessor(FrameProcessorStack processorStack, ProcessorInfo info)
 {
     m_ProcessorInfo = info;
     m_ProcessorInfo.ProcessorName = GetName();
     m_bEnabled       = m_ProcessorInfo.Enabled;
     m_ProcessorStack = processorStack;
     m_OutputSequence = new ProcessingFrameSequence(this);
     Linear           = true;
     GenerateMipMaps  = true;
 }
Esempio n. 4
0
        public ColorCorrectionProcessor(FrameProcessorStack stack, ProcessorInfo info)
            : base("Assets/VFXToolbox/ImageSequencer/Editor/Shaders/ColorCorrection.shader", stack, info)
        {
            if (m_CurveDrawer == null)
            {
                m_CurveDrawer = new CurveDrawer(null, 0.0f, 1.0f, 0.0f, 1.0f, 140, false);
                m_CurveDrawer.AddCurve(m_SerializedObject.FindProperty("AlphaCurve"), new Color(1.0f, 0.55f, 0.1f), "Alpha Curve");
            }

            if (settings.AlphaCurve == null)
            {
                settings.DefaultCurve();
            }
        }
Esempio n. 5
0
        public FadeProcessor(FrameProcessorStack processorStack, ProcessorInfo info)
            : base("Assets/VFXToolbox/ImageSequencer/Editor/Shaders/Fade.shader", processorStack, info)
        {
            if (m_CurveDrawer == null)
            {
                m_CurveDrawer = new CurveDrawer("Fade Curve", 0.0f, 1.0f, 0.0f, 1.0f, 140, false);
                m_CurveDrawer.AddCurve(m_SerializedObject.FindProperty("FadeCurve"), new Color(0.75f, 0.5f, 1.0f), "Fade Curve");
                m_CurveDrawer.OnPostGUI = OnCurveFieldGUI;
            }

            if (settings.FadeCurve.keys.Length < 2)
            {
                settings.FadeCurve.AddKey(new Keyframe(0.85f, 1f));
                settings.FadeCurve.AddKey(new Keyframe(1f, 0f));
            }
        }
Esempio n. 6
0
        public RetimeProcessor(FrameProcessorStack processorStack, ProcessorInfo info)
            : base("Packages/com.unity.vfx-toolbox/ImageSequencer/Editor/Shaders/Blend.shader", processorStack, info)
        {
            if (m_CurveDrawer == null)
            {
                m_CurveDrawer = new CurveDrawer("Retime Curve", 0.0f, 1.0f, 0.0f, InputSequence.length, 140, false);
                m_CurveDrawer.AddCurve(m_SerializedObject.FindProperty("curve"), new Color(0.5f, 0.75f, 1.0f), "Retime Curve");
                m_CurveDrawer.OnPostGUI = OnCurveFieldGUI;
            }

            if (settings.curve.keys.Length < 2)
            {
                settings.curve.AddKey(new Keyframe(0, 0));
                settings.curve.AddKey(new Keyframe(1, 24));
            }
        }
Esempio n. 7
0
        public LoopingProcessor(FrameProcessorStack processorStack, ProcessorInfo info)
            : base("Assets/VFXToolbox/ImageSequencer/Editor/Shaders/Blend.shader", processorStack, info)
        {
            if (m_CurveDrawer == null)
            {
                m_CurveDrawer = new CurveDrawer(null, 0.0f, 1.0f, 0.0f, 1.0f, 140, false);
                m_CurveDrawer.AddCurve(m_SerializedObject.FindProperty("curve"), new Color(0.5f, 0.75f, 1.0f), "Looping Curve");
                m_CurveDrawer.OnPostGUI = OnCurveFieldGUI;
            }

            if (settings.curve.keys.Length < 2)
            {
                settings.curve.AddKey(0.25f, 0.0f);
                settings.curve.AddKey(0.75f, 1.0f);
            }
        }
Esempio n. 8
0
 public RotateProcessor(FrameProcessorStack processorStack, ProcessorInfo info)
     : base("Assets/VFXToolbox/ImageSequencer/Editor/Shaders/Rotate.shader", processorStack, info)
 {
 }
Esempio n. 9
0
 public CropProcessor(FrameProcessorStack stack, ProcessorInfo info)
     : base("Packages/com.unity.vfx-toolbox/ImageSequencer/Editor/Shaders/Crop.shader", stack, info)
 {
 }
 public CustomMaterialProcessor(FrameProcessorStack stack, ProcessorInfo info)
     : base("Packages/com.unity.vfx-toolbox/ImageSequencer/Editor/Shaders/Null.shader", stack, info)
 {
 }
Esempio n. 11
0
 public AssembleProcessor(FrameProcessorStack processorStack, ProcessorInfo info)
     : base("Assets/VFXToolbox/ImageSequencer/Editor/Shaders/AssembleBlit.shader", processorStack, info)
 {
 }
Esempio n. 12
0
 public BreakFlipbookProcessor(FrameProcessorStack stack, ProcessorInfo info)
     : base("Assets/VFXToolbox/ImageSequencer/Editor/Shaders/GetSubUV.shader", stack, info)
 {
 }
Esempio n. 13
0
 public DecimateProcessor(FrameProcessorStack stack, ProcessorInfo info)
     : base("Packages/com.unity.vfx-toolbox/ImageSequencer/Editor/Shaders/Null.shader", stack, info)
 {
     settings.DecimateBy = 2;
 }
Esempio n. 14
0
 public RemoveBackgroundBlendingProcessor(FrameProcessorStack processorStack, ProcessorInfo info)
     : base("Packages/com.unity.vfx-toolbox/ImageSequencer/Editor/Shaders/Unblend.shader", processorStack, info)
 {
 }
Esempio n. 15
0
        public void LoadAsset(ImageSequence asset)
        {
            m_CurrentAsset = asset;

            m_InputFramesReorderableList = null;
            m_ProcessorsReorderableList  = null;
            m_LockedPreviewProcessor     = null;
            m_CurrentProcessor           = null;

            // Free resources if any
            if (m_processorStack != null)
            {
                m_processorStack.Dispose();
            }

            InitializeGUI();

            if (m_CurrentAsset != null)
            {
                m_processorStack = new FrameProcessorStack(new ProcessingFrameSequence(null), this);

                m_CurrentAssetSerializedObject = new SerializedObject(m_CurrentAsset);

                VFXToolboxGUIUtility.DisplayProgressBar("Image Sequencer", "Loading asset....", 0.0f);

                m_LockedPreviewProcessor = null;

                VFXToolboxGUIUtility.DisplayProgressBar("Image Sequencer", "Loading Frames", 0.333333f);

                m_processorStack.LoadFramesFromAsset(m_CurrentAsset);
                UpdateInputTexturesHash();

                m_InputFramesReorderableList = new ReorderableList(m_processorStack.inputSequence.frames, typeof(Texture2D), true, false, true, true);
                m_InputFramesReorderableList.onAddCallback       = AddInputFrame;
                m_InputFramesReorderableList.onRemoveCallback    = RemoveInputFrame;
                m_InputFramesReorderableList.onReorderCallback   = ReorderInputFrame;
                m_InputFramesReorderableList.drawElementCallback = DrawInputFrameRListElement;
                m_InputFramesReorderableList.onSelectCallback    = SelectInputFrameRListElement;

                VFXToolboxGUIUtility.DisplayProgressBar("Image Sequencer", "Loading Processors", 0.66666f);

                ImageSequence inheritedSettingReference = m_CurrentAsset;

                // Loading other settings if inheriting settings
                if (m_CurrentAsset.inheritSettingsReference != null)
                {
                    var dependencyList = new List <ImageSequence>();
                    var referenceAsset = FindSettingsReference(m_CurrentAsset.inheritSettingsReference, ref dependencyList);
                    if (referenceAsset == null)
                    {
                        Debug.LogWarning("Dependency Loop detected, ignoring using external settings");
                        m_IgnoreInheritSettings = true;
                    }
                    else
                    {
                        inheritedSettingReference = referenceAsset;
                        m_IgnoreInheritSettings   = false;
                    }
                }

                m_processorStack.LoadProcessorsFromAsset(inheritedSettingReference);
                m_ProcessorDataProvider = new ProcessorDataProvider(m_processorStack, m_CurrentAsset);

                // Construct the RList
                if (m_CurrentAsset.inheritSettingsReference == null)
                {
                    m_ProcessorsReorderableList = new ReorderableList(m_CurrentAssetSerializedObject, m_CurrentAssetSerializedObject.FindProperty("processorInfos"), true, false, true, true);
                    m_ProcessorsReorderableList.onAddCallback       = ShowAddProcessorMenu;
                    m_ProcessorsReorderableList.onRemoveCallback    = MenuRemoveProcessor;
                    m_ProcessorsReorderableList.onReorderCallback   = ReorderProcessor;
                    m_ProcessorsReorderableList.onSelectCallback    = MenuSelectProcessor;
                    m_ProcessorsReorderableList.drawElementCallback = DrawRListProcessorElement;
                    m_SettingsReferenceSerializedObject             = null;
                }
                else
                {
                    m_SettingsReferenceSerializedObject             = new SerializedObject(inheritedSettingReference);
                    m_ProcessorsReorderableList                     = new ReorderableList(m_SettingsReferenceSerializedObject, m_SettingsReferenceSerializedObject.FindProperty("processorInfos"), false, false, false, false);
                    m_ProcessorsReorderableList.drawElementCallback = DrawRListPreviewProcessorElement;
                    m_ProcessorsReorderableList.onSelectCallback    = MenuSelectProcessor;
                }

                m_PreviewCanvas.sequence = m_processorStack.inputSequence;
                if (m_PreviewCanvas.sequence.length > 0)
                {
                    m_PreviewCanvas.currentFrameIndex = 0;
                }
                else
                {
                    m_PreviewCanvas.currentFrameIndex = -1;
                }

                VFXToolboxGUIUtility.DisplayProgressBar("Image Sequencer", "Finalizing...", 1.0f);

                m_processorStack.InvalidateAll();
                RestoreProcessorView();

                EditorUtility.ClearProgressBar();
            }
        }
Esempio n. 16
0
 public CropProcessor(FrameProcessorStack stack, ProcessorInfo info)
     : base("Assets/VFXToolbox/ImageSequencer/Editor/Shaders/Crop.shader", stack, info)
 {
 }
 public RemoveBackgroundBlendingProcessor(FrameProcessorStack processorStack, ProcessorInfo info)
     : base("Assets/VFXToolbox/ImageSequencer/Editor/Shaders/Unblend.shader", processorStack, info)
 {
 }
Esempio n. 18
0
 public PremultiplyAlphaProcessor(FrameProcessorStack stack, ProcessorInfo info)
     : base("Assets/VFXToolbox/ImageSequencer/Editor/Shaders/PremultiplyAlpha.shader", stack, info)
 {
 }
Esempio n. 19
0
 public AlphaFromRGBProcessor(FrameProcessorStack stack, ProcessorInfo info)
     : base("Assets/VFXToolbox/ImageSequencer/Editor/Shaders/AlphaFromRGB.shader", stack, info)
 {
 }
Esempio n. 20
0
 public DecimateProcessor(FrameProcessorStack stack, ProcessorInfo info)
     : base("Assets/VFXToolbox/ImageSequencer/Editor/Shaders/Null.shader", stack, info)
 {
     settings.DecimateBy = 2;
 }
 public PremultiplyAlphaProcessor(FrameProcessorStack stack, ProcessorInfo info)
     : base("Packages/com.unity.vfx-toolbox/ImageSequencer/Editor/Shaders/PremultiplyAlpha.shader", stack, info)
 {
 }
Esempio n. 22
0
 internal ProcessorDataProvider(FrameProcessorStack stack, ImageSequence asset)
 {
     m_dataSource     = stack.settingsDefinitions;
     m_processorStack = stack;
     m_CurrentAsset   = asset;
 }
Esempio n. 23
0
 public GPUFrameProcessor(string shaderPath, FrameProcessorStack processorStack, ProcessorInfo info)
     : this(AssetDatabase.LoadAssetAtPath <Shader>(shaderPath), processorStack, info)
 {
 }
Esempio n. 24
0
 public RotateProcessor(FrameProcessorStack processorStack, ProcessorInfo info)
     : base("Packages/com.unity.vfx-toolbox/ImageSequencer/Editor/Shaders/Rotate.shader", processorStack, info)
 {
 }
Esempio n. 25
0
 public CustomMaterialProcessor(FrameProcessorStack stack, ProcessorInfo info)
     : base("Assets/VFXToolbox/ImageSequencer/Editor/Shaders/Null.shader", stack, info)
 {
 }
 public BreakFlipbookProcessor(FrameProcessorStack stack, ProcessorInfo info)
     : base("Packages/com.unity.vfx-toolbox/ImageSequencer/Editor/Shaders/GetSubUV.shader", stack, info)
 {
 }