Ejemplo n.º 1
0
    public override void NodeGUI()
    {
        GUILayout.BeginVertical();

        // Last row, output box
        GUILayout.BeginHorizontal();
        // Input knobs
        GUILayout.BeginVertical();
        FloatKnobOrSlider(ref radius, 0, 10, radiusKnob);
        FloatKnobOrSlider(ref zoom, .0000000001f, 2, zoomKnob);
        FloatKnobOrSlider(ref bias, 0, 10, biasKnob);
        IntKnobOrSlider(ref maxIterations, 1, 100, maxIterationsKnob);
        IntKnobOrSlider(ref order, 1, 100, orderKnob);
        offsetKnob.DisplayLayout();
        GUILayout.EndVertical();
        GUILayout.EndHorizontal();

        GUILayout.BeginHorizontal();
        GUILayout.FlexibleSpace();
        GUILayout.Box(outputTex, GUILayout.MaxWidth(64), GUILayout.MaxHeight(64));
        GUILayout.EndHorizontal();

        GUILayout.Space(4);

        GUILayout.EndVertical();

        outputTexKnob.SetPosition(DefaultSize.x - 20);
        if (GUI.changed)
        {
            NodeEditor.curNodeCanvas.OnNodeChange(this);
        }
    }
Ejemplo n.º 2
0
    public override void NodeGUI()
    {
        inputTexKnob.SetPosition(20);
        GUILayout.BeginVertical();
        var newName = GUILayout.TextField(name);

        if (newName != name)
        {
            name = newName;
            spoutController.SetName(name);
            spoutController.RefreshSender();
        }
        // Bottom row: output image
        GUILayout.BeginHorizontal();
        var newAlpha = GUILayout.Toggle(sendAlpha, "Send alpha");

        if (newAlpha != sendAlpha)
        {
            spoutController.SendAlpha(newAlpha);
            sendAlpha = newAlpha;
        }
        GUILayout.FlexibleSpace();
        GUILayout.Box(outputTex, GUILayout.MaxWidth(64), GUILayout.MaxHeight(64));
        GUILayout.EndHorizontal();
        GUILayout.Space(4);
        GUILayout.EndVertical();

        if (GUI.changed)
        {
            NodeEditor.curNodeCanvas.OnNodeChange(this);
        }
    }
Ejemplo n.º 3
0
    public override void NodeGUI()
    {
        GUILayout.BeginVertical();

        // Signal input knob and value label
        GUILayout.BeginHorizontal();
        signalKnob.DisplayLayout();
        GUILayout.Label(string.Format("value: {0:0.0000}", signalKnob.GetValue <float>()));
        GUILayout.EndHorizontal();

        GUILayout.FlexibleSpace();

        GUILayout.BeginHorizontal();

        //Top/mid/bottom labels
        GUILayout.FlexibleSpace();
        GUILayout.BeginVertical();
        GUILayout.Label(string.Format("{0:0.00}", windowMaxY));
        GUILayout.FlexibleSpace();
        GUILayout.Label(string.Format("{0:0.00}", (windowMaxY + windowMinY) / 2));
        GUILayout.FlexibleSpace();
        GUILayout.Label(string.Format("{0:0.00}", windowMinY));
        GUILayout.EndVertical();

        GUILayout.Box(graphTexture, GUILayout.MaxWidth(256), GUILayout.MaxHeight(256));
        GUILayout.EndHorizontal();
        GUILayout.Space(4);
        GUILayout.EndVertical();
        outputTexKnob.SetPosition(DefaultSize.x - 20);
        if (GUI.changed)
        {
            NodeEditor.curNodeCanvas.OnNodeChange(this);
        }
    }
Ejemplo n.º 4
0
    public override void NodeGUI()
    {
        base.NodeGUI();
        GUILayout.BeginHorizontal();
        GUILayout.BeginVertical();

        // First input
        if (thresholdConnection.connected())
        {
            GUILayout.Label(thresholdConnection.name);
        }
        else
        {
            threshold = RTEditorGUI.FloatField(GUIContent.none, threshold);
        }
        thresholdConnection.SetPosition();

        GUILayout.EndVertical();
        GUILayout.EndHorizontal();

        if (GUI.changed)
        {
            NodeEditor.curNodeCanvas.OnNodeChange(this);
        }
    }
Ejemplo n.º 5
0
    public override void NodeGUI()
    {
        gameStateKnob.SetPosition(20);

        GUILayout.BeginVertical();
        if (gameStateKnob.connected())
        {
            if (GUILayout.Button("Apply state"))
            {
                Graphics.Blit(gameStateKnob.GetValue <Texture>(), inputState);
            }
        }
        string label = running ? "Stop" : "Run";

        if (GUILayout.Button(label))
        {
            running = !running;
        }

        GUILayout.BeginHorizontal();
        GUILayout.FlexibleSpace();
        GUILayout.Box(outputState, GUILayout.MaxWidth(64), GUILayout.MaxHeight(64));
        GUILayout.EndHorizontal();

        GUILayout.Space(4);
        GUILayout.EndVertical();

        outputTexKnob.SetPosition(DefaultSize.x - 20);
        if (GUI.changed)
        {
            NodeEditor.curNodeCanvas.OnNodeChange(this);
        }
    }
Ejemplo n.º 6
0
    public override void NodeGUI()
    {
        GUILayout.BeginHorizontal();
        GUILayout.BeginVertical();
        input.DisplayLayout();

        GUILayout.BeginHorizontal();
        GUILayout.Label(surfaceConnection.name);
        if (!surfaceConnection.connected())
        {
            surface = RTEditorGUI.FloatField(GUIContent.none, surface);
        }

        surfaceConnection.SetPosition();
        GUILayout.EndHorizontal();

        GUILayout.EndVertical();
        GUILayout.EndHorizontal();
        RTEditorGUI.EnumPopup(new GUIContent("Generation", "The type of Vertex generation"), mode, m =>
        {
            if (mode != m)
            {
                mode = m;
                NodeEditor.curNodeCanvas.OnNodeChange(this);
            }
        });

        if (GUI.changed)
        {
            NodeEditor.curNodeCanvas.OnNodeChange(this);
        }
    }
Ejemplo n.º 7
0
 public override void NodeGUI()
 {
     inputTexKnob.SetPosition(20);
     GUILayout.BeginVertical();
     controlSignalKnob.DisplayLayout();
     if (!controlSignalKnob.connected())
     {
         controlSignal = RTEditorGUI.Slider(controlSignal, 0, 1);
     }
     else
     {
         controlSignal = controlSignalKnob.GetValue <float>();
     }
     GUILayout.FlexibleSpace();
     GUILayout.BeginHorizontal();
     GUILayout.FlexibleSpace();
     GUILayout.Box(outputTex, GUILayout.MaxWidth(64), GUILayout.MaxHeight(64));
     GUILayout.EndHorizontal();
     GUILayout.Space(4);
     GUILayout.EndVertical();
     outputTexKnob.SetPosition(180);
     if (GUI.changed)
     {
         NodeEditor.curNodeCanvas.OnNodeChange(this);
     }
 }
Ejemplo n.º 8
0
    public override void NodeGUI()
    {
        GUILayout.BeginVertical();

        emissionRateKnob.DisplayLayout();
        if (!emissionRateKnob.connected())
        {
            emissionRate = RTEditorGUI.Slider(emissionRate, 0, 1000);
        }
        else
        {
            emissionRate = emissionRateKnob.GetValue <float>();
        }

        GUILayout.FlexibleSpace();
        GUILayout.BeginHorizontal();
        GUILayout.FlexibleSpace();
        GUILayout.Box(outputTex, GUILayout.MaxWidth(64), GUILayout.MaxHeight(64));
        GUILayout.EndHorizontal();
        GUILayout.Space(4);

        GUILayout.EndVertical();

        outputTexKnob.SetPosition(180);

        if (GUI.changed)
        {
            NodeEditor.curNodeCanvas.OnNodeChange(this);
        }
    }
Ejemplo n.º 9
0
    public override void NodeGUI()
    {
        GUILayout.BeginHorizontal();
        GUILayout.BeginVertical();

        GUILayout.Label(block1Connection.name);
        block1Connection.SetPosition();

        GUILayout.Label(block2Connection.name);
        block2Connection.SetPosition();

        GUILayout.EndVertical();
        GUILayout.BeginVertical();

        GUILayout.Label(outputConnection.name);
        outputConnection.SetPosition();

        GUILayout.EndVertical();
        GUILayout.EndHorizontal();
        RTEditorGUI.EnumPopup(new GUIContent("Combine", "The combination type to use"), mode, m => {
            if (mode != m)
            {
                mode = m;
                NodeEditor.curNodeCanvas.OnNodeChange(this);
            }
        });

        if (GUI.changed)
        {
            NodeEditor.curNodeCanvas.OnNodeChange(this);
        }
    }
Ejemplo n.º 10
0
    public override void NodeGUI()
    {
        inputTexKnob.SetPosition(20);
        GUILayout.BeginVertical();

        GUILayout.BeginHorizontal();
        ip = RTEditorGUI.TextField(new GUIContent("IP"), ip);
        if (GUILayout.Button("Set IP"))
        {
            controller.remoteIP = ip;
        }
        GUILayout.EndHorizontal();

        mirrorOffset = RTEditorGUI.IntSlider(mirrorOffset, 0, 95);

        GUILayout.FlexibleSpace();
        GUILayout.BeginHorizontal();
        GUILayout.FlexibleSpace();
        GUILayout.EndHorizontal();
        GUILayout.Space(4);
        GUILayout.EndVertical();
        if (GUI.changed)
        {
            NodeEditor.curNodeCanvas.OnNodeChange(this);
        }
    }
Ejemplo n.º 11
0
        public override void NodeGUI()
        {
            // value = RTEditorGUI.FloatField(new GUIContent("Value", "The input value of type float"), value);
            inputType = (InputType)RTEditorGUI.EnumPopup(new GUIContent("Input type:", ""), inputType);
            RTEditorGUI.Space();

            switch (inputType)
            {
            case InputType.player:
                playerValue = (PlayerValue)RTEditorGUI.EnumPopup(new GUIContent("Players value:", ""), playerValue);
                break;

            case InputType.agent:
                agentValue = (AgentValue)RTEditorGUI.EnumPopup(new GUIContent("This Agents value:", ""), agentValue);
                break;

            case InputType.world:
                worldValue = (WorldValue)RTEditorGUI.EnumPopup(new GUIContent("The Worlds value:", ""), worldValue);
                break;

            default:
                break;
            }

            outputKnob.SetPosition();

            if (GUI.changed)
            {
                NodeEditor.curNodeCanvas.OnNodeChange(this);
            }
        }
Ejemplo n.º 12
0
    //float viscosity = 1;
    public override void NodeGUI()
    {
        GUILayout.BeginHorizontal();
        velocityInputKnob.SetPosition(140);

        // Top row simulation control buttons
        GUILayout.BeginVertical();
        FloatKnobOrSlider(ref timeMultiplier, -1, 2, timeMultiplierKnob);
        FloatKnobOrSlider(ref dyeInputLevel, 0, 1, dyeInputLevelKnob);
        FloatKnobOrSlider(ref dyeDecay, 0, 1, dyeDecayKnob);
        string cmd = running ? "Stop" : "Run";

        clicked = EventKnobOrButton(cmd, runKnob);
        if (clicked)
        {
            running = !running;
        }
        if (EventKnobOrButton("Apply dye", applyDyeKnob))
        {
            AddDye();
        }
        if (EventKnobOrButton("Apply velocity", applyForceKnob))
        {
            ApplyVelocity();
        }
        if (EventKnobOrButton("Reset", resetKnob))
        {
            ClearRenderTextures();
            running = false;
        }
        GUILayout.EndVertical();

        GUILayout.BeginVertical();



        // parameters / buttons
        GUILayout.BeginHorizontal();
        useBoundaries      = RTEditorGUI.Toggle(useBoundaries, new GUIContent("Bounded", "Bound at the borders"));
        continuousVelocity = RTEditorGUI.Toggle(continuousVelocity, new GUIContent("Continuous Velocity", "Add velocity texture every frame"));
        continuousDye      = RTEditorGUI.Toggle(continuousDye, new GUIContent("Continuous dye", "Add dye every frame"));
        //viscosity = RTEditorGUI.Slider(viscosity, 0.00001f, 100f);
        GUILayout.EndHorizontal();
        // Texture output
        GUILayout.BeginHorizontal();

        GUILayout.Box(dyeField, GUILayout.MaxWidth(128), GUILayout.MaxHeight(200));
        GUILayout.Box(velocityField, GUILayout.MaxWidth(128), GUILayout.MaxHeight(200));
        GUILayout.Box(pressureField, GUILayout.MaxWidth(128), GUILayout.MaxHeight(200));
        GUILayout.EndHorizontal();
        textureOutputKnob.SetPosition(DefaultSize.x - 40);
        GUILayout.EndVertical();

        GUILayout.EndHorizontal();
        if (GUI.changed)
        {
            NodeEditor.curNodeCanvas.OnNodeChange(this);
        }
    }
Ejemplo n.º 13
0
    public override void NodeGUI()
    {
        GUILayout.BeginVertical();

        //Top row - pan options, offset mode
        GUILayout.BeginHorizontal();
        GUILayout.Space(4);
        // Options - smooth/mirror
        GUILayout.BeginVertical();
        GUILayout.Label("Pan options");
        smoothTransitions = RTEditorGUI.Toggle(smoothTransitions, new GUIContent("Smooth", "Whether the image panning should use bilinear filtering to produce smooth transitions"));
        //mirror = RTEditorGUI.Toggle(mirror, new GUIContent("Mirror", "Use mirror wraping at texture edges"));
        GUILayout.Label("Sample mode");
        RadioButtons(sampleMode);
        GUILayout.EndVertical();

        GUILayout.FlexibleSpace();

        // Offset mode
        GUILayout.BeginVertical();
        GUILayout.Label("Offset mode");
        RadioButtons(offsetMode);
        GUILayout.Space(4);
        GUILayout.EndVertical();
        GUILayout.Space(4);
        GUILayout.EndHorizontal();

        // Middle row - Input knobs/sliders
        FloatKnobOrSlider(ref in1, in1min, in1max, in1Knob, GUILayout.MaxWidth(DefaultSize.x - 60));
        FloatKnobOrSlider(ref in2, in2min, in2max, in2Knob, GUILayout.MaxWidth(DefaultSize.x - 60));

        // Bottom row - reset button, tex view
        GUILayout.BeginHorizontal();

        GUILayout.BeginVertical();
        GUILayout.FlexibleSpace();
        GUILayout.Label(string.Format("Offset: ({0:0.0}, {1:0.0})", offset.x, offset.y));
        if (EventKnobOrButton("Reset", resetKnob))
        {
            offset = Vector2.zero;
            in1    = 0;
            in2    = 0;
        }
        GUILayout.EndVertical();
        GUILayout.FlexibleSpace();
        GUILayout.Box(outputTex, GUILayout.MaxWidth(64), GUILayout.MaxHeight(64));

        GUILayout.EndHorizontal();
        GUILayout.Space(4);
        textureOutputKnob.SetPosition(DefaultSize.x - 20);
        GUILayout.EndVertical();

        if (GUI.changed)
        {
            NodeEditor.curNodeCanvas.OnNodeChange(this);
        }
    }
Ejemplo n.º 14
0
        public override void NodeGUI()
        {
            value = RTEditorGUI.FloatField(new GUIContent("Value", "The input value of type float"), value);
            outputKnob.SetPosition();

            if (GUI.changed)
            {
                NodeEditor.curNodeCanvas.OnNodeChange(this);
            }
        }
Ejemplo n.º 15
0
    public override void NodeGUI()
    {
        GUILayout.BeginVertical();
        aKnob.DisplayLayout();
        if (!aKnob.connected())
        {
            a = RTEditorGUI.Slider(a, 0.1f, 100);
        }
        bKnob.DisplayLayout();
        if (!bKnob.connected())
        {
            b = RTEditorGUI.Slider(b, 0.1f, 100);
        }
        m1Knob.DisplayLayout();
        if (!m1Knob.connected())
        {
            m1 = RTEditorGUI.Slider(m1, 0, 100);
        }
        m2Knob.DisplayLayout();
        if (!m2Knob.connected())
        {
            m2 = RTEditorGUI.Slider(m2, 0, 100);
        }
        n1Knob.DisplayLayout();
        if (!n1Knob.connected())
        {
            n1 = RTEditorGUI.Slider(n1, 0, 100);
        }
        n2Knob.DisplayLayout();
        if (!n2Knob.connected())
        {
            n2 = RTEditorGUI.Slider(n2, 0, 100);
        }
        n3Knob.DisplayLayout();
        if (!n3Knob.connected())
        {
            n3 = RTEditorGUI.Slider(n3, 0, 100);
        }

        GUILayout.FlexibleSpace();
        GUILayout.BeginHorizontal();
        GUILayout.FlexibleSpace();
        GUILayout.Box(outputTex, GUILayout.MaxWidth(64), GUILayout.MaxHeight(64));
        GUILayout.EndHorizontal();
        GUILayout.Space(4);
        GUILayout.EndVertical();
        outputTexKnob.SetPosition(236);
        if (GUI.changed)
        {
            NodeEditor.curNodeCanvas.OnNodeChange(this);
        }
    }
Ejemplo n.º 16
0
        public static int SeedInput(ValueConnectionKnob knob, int localValue)
        {
            int seed;

            if (knob.connected())
            {
                seed = GetSeed(knob, localValue);
                RTEditorGUIExtensions.ReadOnlyTextField("Seed", seed.ToString());
            }
            else
            {
                seed = RTEditorGUI.IntField(new GUIContent("Seed"), localValue);
            }
            knob.SetPosition();
            return(seed);
        }
Ejemplo n.º 17
0
    public override void NodeGUI()
    {
        inputTexKnob.SetPosition(20);
        GUILayout.BeginVertical();
        startHueKnob.DisplayLayout();
        if (!startHueKnob.connected())
        {
            startHue = RTEditorGUI.Slider(startHue, 0, 1);
        }
        else
        {
            startHue = startHueKnob.GetValue <float>();
        }
        endHueKnob.DisplayLayout();
        if (!endHueKnob.connected())
        {
            endHue = RTEditorGUI.Slider(endHue, 0, 1);
        }
        else
        {
            endHue = endHueKnob.GetValue <float>();
        }
        offsetKnob.DisplayLayout();
        if (!offsetKnob.connected())
        {
            offset = RTEditorGUI.Slider(offset, 0, 1);
        }
        else
        {
            offset = offsetKnob.GetValue <float>();
        }
        center = RTEditorGUI.Toggle(center, new GUIContent("Center", "Gradient from center"));

        GUILayout.FlexibleSpace();
        GUILayout.BeginHorizontal();
        GUILayout.FlexibleSpace();
        GUILayout.Box(outputTex, GUILayout.MaxWidth(64), GUILayout.MaxHeight(64));
        GUILayout.EndHorizontal();
        GUILayout.Space(4);
        GUILayout.EndVertical();
        outputTexKnob.SetPosition(180);
        if (GUI.changed)
        {
            NodeEditor.curNodeCanvas.OnNodeChange(this);
        }
    }
Ejemplo n.º 18
0
    public override void NodeGUI()
    {
        SetPortCount();

        GUILayout.BeginHorizontal();

        GUILayout.BeginVertical();
        controlKnob.DisplayLayout();
        for (int i = 0; i < targetPortCount - 1; i++)
        {
            GUILayout.BeginHorizontal();
            var port = (ValueConnectionKnob)dynamicConnectionPorts[i];
            GUILayout.Space(4);
            GUILayout.Label(string.Format("{0:0.00}", port.GetValue <float>()));
            port.SetPosition();
            if (i == activeSignalIndex)
            {
                GUILayout.Label("[ Active ]");
            }
            else
            {
                if (GUILayout.Button("Activate", GUILayout.ExpandWidth(false)))
                {
                    activeSignalIndex = i;
                }
            }
            GUILayout.FlexibleSpace();
            GUILayout.EndHorizontal();
        }
        ((ValueConnectionKnob)dynamicConnectionPorts[openPortIndex]).DisplayLayout();
        GUILayout.EndVertical();

        if (activePortCount > 0)
        {
            var port = (ValueConnectionKnob)dynamicConnectionPorts[activeSignalIndex];
            GUILayout.Label(string.Format("Output: {0:0.00}", port.GetValue <float>()));
            GUILayout.Space(4);
        }
        outputSignalKnob.SetPosition();
        GUILayout.EndHorizontal();
        if (GUI.changed)
        {
            NodeEditor.curNodeCanvas.OnNodeChange(this);
        }
    }
Ejemplo n.º 19
0
    public override void NodeGUI()
    {
        inputTexKnob.SetPosition(20);

        GUILayout.BeginVertical();

        // Top row: control sliders
        GUILayout.BeginHorizontal();
        GUILayout.BeginVertical();
        FloatKnobOrSlider(ref sensitivity, 0, 100, sensitivityKnob, GUILayout.MaxWidth(DefaultSize.x - 60));
        keyColorKnob.DisplayLayout();
        if (!keyColorKnob.connected())
        {
            GUILayout.BeginHorizontal();
            GUILayout.Label("H");
            h = RTEditorGUI.Slider(h, 0, 1, GUILayout.MaxWidth(DefaultSize.x - 60));
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Label("S");
            s = RTEditorGUI.Slider(s, 0, 1, GUILayout.MaxWidth(DefaultSize.x - 60));
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Label("V");
            v = RTEditorGUI.Slider(v, 0, 1, GUILayout.MaxWidth(DefaultSize.x - 60));
            GUILayout.EndHorizontal();
        }
        GUILayout.EndVertical();
        GUILayout.EndHorizontal();

        // Bottom row: output image
        GUILayout.BeginHorizontal();
        GUILayout.FlexibleSpace();
        GUILayout.Box(outputTex, GUILayout.MaxWidth(64), GUILayout.MaxHeight(64));
        GUILayout.EndHorizontal();
        GUILayout.Space(4);
        GUILayout.EndVertical();

        outputTexKnob.SetPosition(DefaultSize.x - 20);
        if (GUI.changed)
        {
            NodeEditor.curNodeCanvas.OnNodeChange(this);
        }
    }
Ejemplo n.º 20
0
 public override void NodeGUI()
 {
     GUILayout.BeginVertical();
     spectrumDataKnob.DisplayLayout();
     GUILayout.FlexibleSpace();
     GUILayout.BeginHorizontal();
     GUILayout.FlexibleSpace();
     GUILayout.Box(outputTex, GUILayout.MaxWidth(64), GUILayout.MaxHeight(64));
     GUILayout.Space(4);
     GUILayout.EndHorizontal();
     GUILayout.Space(4);
     GUILayout.EndVertical();
     outputTexKnob.SetPosition(DefaultSize.x - 20);
     if (GUI.changed)
     {
         NodeEditor.curNodeCanvas.OnNodeChange(this);
     }
 }
Ejemplo n.º 21
0
    public override void NodeGUI()
    {
        float edgeOffset = 35;

        GUILayout.BeginVertical();
        //textureInputKnob.DisplayLayout();
        textureInputKnob.SetPosition(edgeOffset);

        GUILayout.BeginHorizontal();
        polarize = RTEditorGUI.Toggle(polarize, new GUIContent("Polarize", "Polarize the input to be in canopy-world space"));
        seamless = RTEditorGUI.Toggle(seamless, new GUIContent("Seamless", "Apply a kaleidoscope effect such that the output is seamless"));

        GUILayout.EndHorizontal();
        var  lastBox         = GUILayoutUtility.GetLastRect();
        Rect inOutTextureBox = new Rect(lastBox.x + 15, lastBox.yMax + 4, 220, 80);
        Rect textureArea     = new Rect(inOutTextureBox);

        textureArea.y += 30;
        //GUILayout.BeginArea(InOutTextureBox);
        GUILayout.BeginArea(textureArea);
        GUILayout.BeginHorizontal();
        GUI.Box(new Rect(0, 0, 220, 80), "Foo");
        GUILayout.Box(textureInputKnob.GetValue <Texture>(), GUILayout.MaxWidth(64), GUILayout.MaxHeight(64));
        GUILayout.FlexibleSpace();
        //RTTextureViz.DrawTexture(textureInputKnob.GetValue<Texture>(), 64);

        //RTTextureViz.DrawTexture(outputTex, 64);
        GUILayout.Box(outputTex, GUILayout.MaxWidth(64), GUILayout.MaxHeight(64));
        GUILayout.EndHorizontal();
        GUILayout.EndArea();
        //textureOutputKnob.DisplayLayout();
        var rightSideOffset = DefaultSize.x - edgeOffset;

        textureOutputKnob.SetPosition(rightSideOffset);
        GUILayout.EndVertical();



        if (GUI.changed)
        {
            NodeEditor.curNodeCanvas.OnNodeChange(this);
        }
    }
Ejemplo n.º 22
0
        public override void NodeGUI()
        {
            GUILayout.BeginHorizontal();
            GUILayout.BeginVertical();

            // First input
            if (input1Knob.connected())
            {
                GUILayout.Label(input1Knob.name);
            }
            else
            {
                Input1Val = RTEditorGUI.FloatField(GUIContent.none, Input1Val);
            }
            input1Knob.SetPosition();

            // Second input
            if (input2Knob.connected())
            {
                GUILayout.Label(input2Knob.name);
            }
            else
            {
                Input2Val = RTEditorGUI.FloatField(GUIContent.none, Input2Val);
            }
            input2Knob.SetPosition();

            GUILayout.EndVertical();
            GUILayout.BeginVertical();

            // Output
            outputKnob.DisplayLayout();

            GUILayout.EndVertical();
            GUILayout.EndHorizontal();

            type = (CalcType)RTEditorGUI.EnumPopup(new GUIContent("Calculation Type", "The type of calculation performed on Input 1 and Input 2"), type);

            if (GUI.changed)
            {
                NodeEditor.curNodeCanvas.OnNodeChange(this);
            }
        }
Ejemplo n.º 23
0
    public override void NodeGUI()
    {
        GUILayout.BeginVertical();
        textureInputKnob.SetPosition(20);

        GUILayout.BeginHorizontal();
        widthInputKnob.DisplayLayout();
        if (!widthInputKnob.connected())
        {
            width = RTEditorGUI.Slider(width, 1f, 1024f);
        }
        GUILayout.EndHorizontal();

        GUILayout.BeginHorizontal();
        heightInputKnob.DisplayLayout();
        if (!heightInputKnob.connected())
        {
            height = RTEditorGUI.Slider(height, 1f, 1024f);
        }
        GUILayout.EndHorizontal();

        GUILayout.BeginHorizontal();
        GUILayout.BeginVertical();
        // Strategy for in size < out size: choose scale/tile/mirror, default is fill black/alpha
        // Strategy for out size < in size: default crop, allow scale
        GUILayout.Label("Edge wrap mode");
        RadioButtons(edgeWrapMode);
        GUILayout.EndVertical();
        GUILayout.BeginVertical();
        GUILayout.FlexibleSpace();
        GUILayout.Box(outputTex, GUILayout.MaxHeight(64), GUILayout.MaxWidth(64));
        GUILayout.EndVertical();
        GUILayout.EndHorizontal();
        textureOutputKnob.SetPosition(DefaultSize.x - 20);
        GUILayout.EndVertical();

        if (GUI.changed)
        {
            NodeEditor.curNodeCanvas.OnNodeChange(this);
        }
    }
Ejemplo n.º 24
0
    public override void NodeGUI()
    {
        texLKnob.SetPosition(20);
        texRKnob.SetPosition(60);

        GUILayout.BeginVertical();

        GUILayout.BeginHorizontal();
        RadioButtons(mergeModeSelection);
        GUILayout.EndHorizontal();

        if (mergeModeSelection.Selected == "Simple")
        {
            crossfaderKnob.DisplayLayout();
            if (!crossfaderKnob.connected())
            {
                crossfader = RTEditorGUI.Slider(crossfader, 0, 1);
            }
            else
            {
                crossfader = crossfaderKnob.GetValue <float>();
            }
        }

        GUILayout.FlexibleSpace();
        GUILayout.BeginHorizontal();
        GUILayout.FlexibleSpace();
        GUILayout.Box(outputTex, GUILayout.MaxWidth(64), GUILayout.MaxHeight(64));
        GUILayout.EndHorizontal();
        GUILayout.Space(4);

        GUILayout.EndVertical();

        outputTexKnob.SetPosition(180);

        if (GUI.changed)
        {
            NodeEditor.curNodeCanvas.OnNodeChange(this);
        }
    }
Ejemplo n.º 25
0
    public override void NodeGUI()
    {
        GUILayout.BeginVertical();

        FloatKnobOrSlider(ref h, 0, 1, hKnob);
        FloatKnobOrSlider(ref timeScale, 0, 255, timeMultiplierKnob);
        IntKnobOrSlider(ref octaves, 1, 12, octavesKnob);
        GUILayout.FlexibleSpace();

        GUILayout.BeginHorizontal();
        GUILayout.FlexibleSpace();
        GUILayout.Box(outputTex, GUILayout.MaxWidth(256), GUILayout.MaxHeight(256));
        GUILayout.EndHorizontal();

        GUILayout.Space(4);
        GUILayout.EndVertical();
        outputTexKnob.SetPosition(180);
        if (GUI.changed)
        {
            NodeEditor.curNodeCanvas.OnNodeChange(this);
        }
    }
Ejemplo n.º 26
0
    public override void NodeGUI()
    {
        inputTexKnob.SetPosition(20);

        GUILayout.BeginVertical();
        GUILayout.BeginVertical();
        width  = RTEditorGUI.IntField("Width", width);
        height = RTEditorGUI.IntField("Height", height);
        GUILayout.EndVertical();
        // Bottom row: output image
        GUILayout.BeginHorizontal();
        GUILayout.FlexibleSpace();
        GUILayout.Box(inputTex, GUILayout.MaxWidth(64), GUILayout.MaxHeight(64));
        GUILayout.EndHorizontal();
        GUILayout.Space(4);
        GUILayout.EndVertical();

        if (GUI.changed)
        {
            NodeEditor.curNodeCanvas.OnNodeChange(this);
        }
    }
Ejemplo n.º 27
0
    public override void NodeGUI()
    {
        SetPortCount();

        // Top-to-bottom
        GUILayout.BeginVertical();

        // Input image ports left to right
        GUILayout.BeginHorizontal();
        controlKnob.DisplayLayout();
        autoplayKnob.DisplayLayout();
        for (int i = 0; i < targetPortCount - 1; i++)
        {
            GUILayout.BeginVertical();
            var port = (ValueConnectionKnob)dynamicConnectionPorts[i];
            GUILayout.Space(4);
            port.SetPosition();
            GUILayout.Label(string.Format("Tex {0}", i));
            if (i == activeTextureIndex)
            {
                GUILayout.Label("Active");
            }
            else
            {
                if (GUILayout.Button("Activate", GUILayout.ExpandWidth(false)))
                {
                    activeTextureIndex = i;
                }
            }
            GUILayout.EndVertical();
        }
        ((ValueConnectionKnob)dynamicConnectionPorts[openPortIndex]).DisplayLayout();
        GUILayout.EndHorizontal();


        GUILayout.BeginHorizontal();

        //Autoplay button
        string label = autoplay ? "Stop autoplay" : "Start autoplay";

        if (GUILayout.Button(label))
        {
            ToggleAutoplay();
        }

        // Output image below
        //GUILayout.Space(DefaultSize.x - 74);
        if (activePortCount > 0)
        {
            var port = (ValueConnectionKnob)dynamicConnectionPorts[activeTextureIndex];
            GUILayout.Box(outputTex, GUILayout.MaxWidth(64), GUILayout.MaxHeight(64));
            //GUILayout.Space(4);
        }
        outputTexKnob.SetPosition();
        GUILayout.EndHorizontal();

        GUILayout.EndVertical();

        if (GUI.changed)
        {
            NodeEditor.curNodeCanvas.OnNodeChange(this);
        }
    }