Example #1
0
        private void refreshToolStripMenuItem_Click(object sender, EventArgs e)
        {
            //      Find the attached preview items and invalidate
            var n = ShaderFragmentNodeUtil.GetShaderFragmentNode(graphControl, AttachedId(sender));

            if (n != null)
            {
                foreach (NodeItem i in n.Items)
                {
                    if (i is ShaderFragmentPreviewItem)
                    {
                        ((ShaderFragmentPreviewItem)i).InvalidateShaderStructure();
                    }
                }
            }
        }
Example #2
0
        private void largePreviewToolStripMenuItem_Click(object sender, EventArgs e)
        {
            var n = ShaderFragmentNodeUtil.GetShaderFragmentNode(graphControl, AttachedId(sender));

            if (n != null)
            {
                var nodeId = ((ShaderFragmentNodeTag)n.Tag).Id;

                // generate a preview builder for this specific node...
                var nodeGraph = ModelConversion.ToShaderPatcherLayer(graphControl);
                var shader    = ShaderPatcherLayer.NodeGraph.GeneratePreviewShader(nodeGraph, nodeId);
                var builder   = PreviewRender.Manager.Instance.CreatePreview(shader);

                // create a "LargePreview" window
                new LargePreview(builder, _document).Show();
            }
        }
Example #3
0
        void OnConnectorDoubleClick(object sender, HyperGraph.GraphControl.NodeConnectorEventArgs e)
        {
            var dialog = new HyperGraph.TextEditForm();

            dialog.InputText = "1.0f";

            //  look for an existing simple connection attached to this connector
            foreach (var i in e.Node.Connections)
            {
                if (i.To == e.Connector && i.From == null)
                {
                    dialog.InputText = i.Name;
                }
            }

            var result = dialog.ShowDialog();

            if (result == DialogResult.OK)
            {
                bool foundExisting = false;
                foreach (var i in e.Node.Connections)
                {
                    if (i.To == e.Connector && i.From == null)
                    {
                        i.Name        = dialog.InputText;
                        foundExisting = true;
                    }
                }

                if (!foundExisting)
                {
                    var connection = new NodeConnection();
                    connection.To   = e.Connector;
                    connection.Name = dialog.InputText;
                    e.Node.AddConnection(connection);
                }

                ShaderFragmentNodeUtil.InvalidateAttachedConstants(graphControl);
            }
        }
Example #4
0
 private void _materialParametersGrid_PropertyValueChanged(object s, PropertyValueChangedEventArgs e)
 {
     ShaderFragmentNodeUtil.InvalidateParameters(graphControl);
     graphControl.Refresh();
 }
Example #5
0
 void OnConnectionRemoved(object sender, AcceptNodeConnectionEventArgs e)
 {
     ShaderFragmentNodeUtil.InvalidateShaderStructure(graphControl);
 }
Example #6
0
 void OnConnectionAdded(object sender, AcceptNodeConnectionEventArgs e)
 {
     e.Connection.Name = "Connection " + counter++;
     ShaderFragmentNodeUtil.InvalidateShaderStructure(graphControl);
 }
Example #7
0
 private void OnNodeRemoved(object sender, NodeEventArgs args)
 {
     OnNodesChange(); ShaderFragmentNodeUtil.InvalidateShaderStructure(graphControl);
 }