public FormUpdateVertexShaderField(CSSLTemplate template, ShaderField target) { InitializeComponent(); this.template = template; this.clonedTarget = target.Clone() as ShaderField; }
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())); } }
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); } }
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; }
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; }
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); }
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); } }
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; }
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); }
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); }
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); } } }
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; }
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; }