public FormUpdateVertexShaderField(CSSLTemplate template, ShaderField target)
        {
            InitializeComponent();

            this.template = template;
            this.clonedTarget = target.Clone() as ShaderField;
        }
Esempio n. 2
0
        private CodeExpression GetInitExpression(ShaderField shaderField)
        {
            if (string.IsNullOrEmpty(shaderField.FieldValue))
            {
                return(null);
            }

            string[] parts = shaderField.FieldValue.Split(new char[] { '(', ',', ')' }, StringSplitOptions.RemoveEmptyEntries);
            if (parts[0] == "int")
            {
                return(new CodePrimitiveExpression(int.Parse(parts[1])));
            }
            else if (parts[0] == "float")
            {
                return(new CodePrimitiveExpression(float.Parse(parts[1])));
            }
            else
            {
                string[] valueParts = new string[parts.Length - 1];
                for (int i = 0; i < valueParts.Length; i++)
                {
                    valueParts[i] = parts[i + 1];
                }
                return(new CodeMethodInvokeExpression(
                           new CodeMethodReferenceExpression(null, parts[0]),
                           (from item in valueParts
                            select new CodePrimitiveExpression(float.Parse(item.TrimEnd('f', 'd')))).ToArray()));
            }
        }
        public FormUpdateVertexShaderField(CSSLTemplate template, ShaderField target)
        {
            InitializeComponent();

            this.template     = template;
            this.clonedTarget = target.Clone() as ShaderField;
        }
Esempio n. 4
0
 private void RemoveFragmentShaderField_Click(object sender, EventArgs e)
 {
     if (this.lstFragmentShaderField.SelectedIndex >= 0)
     {
         ShaderField field = this.lstFragmentShaderField.SelectedItem as ShaderField;
         this.currentFile.FragmentShaderFieldList.Remove(field);
         this.lstFragmentShaderField.Items.Remove(field);
     }
 }
Esempio n. 5
0
        private void btnOK_Click(object sender, EventArgs e)
        {
            this.clonedTarget.Qualider  = (FieldQualifier)this.cmbQualifier.SelectedItem;
            this.clonedTarget.FieldType = this.cmbType.SelectedItem.ToString();
            this.clonedTarget.FieldName = this.txtName.Text;

            this.Result = this.clonedTarget;

            this.DialogResult = System.Windows.Forms.DialogResult.OK;
        }
        private void btnOK_Click(object sender, EventArgs e)
        {
            this.clonedTarget.Qualider = (FieldQualifier)this.cmbQualifier.SelectedItem;
            this.clonedTarget.FieldType = this.cmbType.SelectedItem.ToString();
            this.clonedTarget.FieldName = this.txtName.Text;

            this.Result = this.clonedTarget;

            this.DialogResult = System.Windows.Forms.DialogResult.OK;
        }
Esempio n. 7
0
        public object Clone()
        {
            ShaderField result = new ShaderField();
            result.Qualider = this.Qualider;
            result.FieldType = this.FieldType;
            result.FieldName = this.FieldName;
            result.PropertyType = this.PropertyType;

            return result;
        }
Esempio n. 8
0
        public object Clone()
        {
            ShaderField result = new ShaderField();

            result.Qualider   = this.Qualider;
            result.FieldType  = this.FieldType;
            result.FieldName  = this.FieldName;
            result.FieldValue = this.FieldValue;

            return(result);
        }
Esempio n. 9
0
        private void fragmentShaderAddField_Click(object sender, EventArgs e)
        {
            var dlg = new FormInsertShaderField(this.currentFile);

            if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                ShaderField field = dlg.Result;
                this.lstFragmentShaderField.Items.Add(field);
                this.currentFile.FragmentShaderFieldList.Add(field);
            }
        }
Esempio n. 10
0
        private void btnOK_Click(object sender, EventArgs e)
        {
            this.Result = new ShaderField()
            {
                Qualider   = (FieldQualifier)this.cmbQualifier.SelectedItem,
                FieldType  = this.cmbType.SelectedItem.ToString(),
                FieldName  = this.txtName.Text,
                FieldValue = this.txtValue.Text,
            };

            this.DialogResult = System.Windows.Forms.DialogResult.OK;
        }
Esempio n. 11
0
        public static ShaderField Parse(XElement element)
        {
            if (element.Name != typeof(ShaderField).Name) { throw new NotImplementedException(); }

            ShaderField result = new ShaderField();
            result.Qualider = (FieldQualifier)Enum.Parse(typeof(FieldQualifier), element.Attribute(strQualifier).Value);
            result.FieldType = element.Attribute(strFieldType).Value;
            result.FieldName = element.Attribute(strFieldName).Value;
            result.PropertyType = (PropertyType)Enum.Parse(typeof(PropertyType), element.Attribute(strPropertyType).Value);

            return result;
        }
        internal static GeometryShaderFieldList Parse(System.Xml.Linq.XElement xElement)
        {
            if (xElement.Name != typeof(GeometryShaderFieldList).Name)
            {
                throw new Exception();
            }

            var result = new GeometryShaderFieldList();

            foreach (var item in xElement.Elements(typeof(ShaderField).Name))
            {
                result.Add(ShaderField.Parse(item));
            }

            return(result);
        }
Esempio n. 13
0
        private CodeMemberField GetCodeMemberField(ShaderField shaderField)
        {
            CodeMemberField result = null;
            Type            type   = null;

            if (primitiveDict.TryGetValue(shaderField.FieldType, out type))
            {
                result = new CodeMemberField(type, shaderField.FieldName);
            }
            else
            {
                result = new CodeMemberField(shaderField.FieldType, shaderField.FieldName);
            }

            return(result);
        }
Esempio n. 14
0
 private void Map2Template(CSSLTemplate cSSLTemplate)
 {
     this.currentFile.ShaderName  = this.txtShaderName.Text;
     this.currentFile.ProgramType = (ShaderProgramType)(this.cmbShaderProgramType.SelectedItem);
     {
         this.currentFile.VertexShaderFieldList.Clear();
         foreach (var item in this.lstVertexShaderField.Items)
         {
             ShaderField shaderField = item as ShaderField;
             this.currentFile.VertexShaderFieldList.Add(shaderField);
         }
     }
     {
         this.currentFile.GeometryShaderFieldList.Clear();
         foreach (var item in this.lstGeometryShaderField.Items)
         {
             ShaderField shaderField = item as ShaderField;
             this.currentFile.GeometryShaderFieldList.Add(shaderField);
         }
     }
     {
         this.currentFile.FragmentShaderFieldList.Clear();
         foreach (var item in this.lstFragmentShaderField.Items)
         {
             ShaderField shaderField = item as ShaderField;
             this.currentFile.FragmentShaderFieldList.Add(shaderField);
         }
     }
     {
         this.currentFile.StrutureList.Clear();
         foreach (var item in this.lstStructure.Items)
         {
             IntermediateStructure structure = item as IntermediateStructure;
             this.currentFile.StrutureList.Add(structure);
         }
     }
 }
Esempio n. 15
0
        public object Clone()
        {
            ShaderField result = new ShaderField();
            result.Qualider = this.Qualider;
            result.FieldType = this.FieldType;
            result.FieldName = this.FieldName;
            result.FieldValue = this.FieldValue;

            return result;
        }
Esempio n. 16
0
        public static ShaderField Parse(XElement element)
        {
            if (element.Name != typeof(ShaderField).Name) { throw new NotImplementedException(); }

            ShaderField result = new ShaderField();
            result.Qualider = (FieldQualifier)Enum.Parse(typeof(FieldQualifier), element.Attribute(strQualifier).Value);
            result.FieldType = element.Attribute(strFieldType).Value;
            result.FieldName = element.Attribute(strFieldName).Value;
            result.FieldValue = element.Attribute(strFieldValue).Value;

            return result;
        }