예제 #1
0
        private void Editor_NodeUpdate(ShadySolutions.UI.NodeEditor.NodeValue sender)
        {
            MaterialNodeValue   Source         = (MaterialNodeValue)sender.Source;
            MaterialValueHolder NewValueHolder = new MaterialValueHolder(sender.Value.X, sender.Value.Y, sender.Value.Z, sender.Value.W);

            NewValueHolder.Type  = Source.Value.Type;
            NewValueHolder.Value = sender.Value.Value;
            Source.Value         = NewValueHolder;
            if (Source.InputTarget != null && sender.Input == null)
            {
                Source.InputTarget.OutputTargets.Remove(Source);
                Source.InputTarget = null;
            }
            if (Source.InputTarget != null && (MaterialNodeValue)sender.Input.Source != Source.InputTarget)
            {
                Source.InputTarget.OutputTargets.Remove(Source);
                Source.InputTarget = (MaterialNodeValue)sender.Input.Source;
            }
            if (Source.InputTarget == null && sender.Input != null)
            {
                Source.InputTarget = (MaterialNodeValue)sender.Input.Source;
            }
        }
 public ShaderMaterialTranslatorEntryInput()
 {
     this._Name         = "";
     this._Type         = MaterialValueType.VertexValue;
     this._DefaultValue = null;
 }
 protected override string GenerateArgumentFromValue(MaterialValueHolder Value)
 {
     return("vec4(" + Value.X + "," + Value.Y + "," + Value.Z + "," + Value.W + ")");
 }
예제 #4
0
 protected virtual string GenerateArgumentFromValue(MaterialValueHolder Value)
 {
     return("");
 }