public void LoadMaterial(string pkg, string file) { m_Location = new NResourceLoc(pkg, file); m_Material = NMtlBase.FromFile(m_Location); if (m_Material == null) { this.propertyGridMtl.SelectedObject = null; return; } m_Material.Name = m_Location.ToString(); MaterialProperty mtlProp = new MaterialProperty(m_Material); mtlProp.ApplyChange(); this.propertyGridMtl.SelectedObject = mtlProp; if (m_Sphere == null) { LoadSphere(); } if (m_Material != null) { m_Sphere.SetMaterial(m_Material); } m_preview.Refresh(); }
private void btnCreateMtl_Click(object sender, EventArgs e) { try { MaterialProperty mtlProp = this.propertyGridMtl.SelectedObject as MaterialProperty; if (mtlProp != null) { NMtlStatic mtl = new NMtlStatic(mtlProp.Name); mtl.DefaultCreate(mtlProp.ShaderLoc); mtlProp.BindMaterial(mtl); this.propertyGridMtl.SelectedObject = mtlProp; m_Material = mtl; if (m_Sphere == null) { LoadSphere(); } if (m_Material != null) { m_Sphere.SetMaterial(m_Material); } m_preview.Refresh(); } } catch (System.Exception ex) { NexusEditor.Program.ShowException(ex, "Create Material FAILED"); } }
public SkeletalMeshMaterialProperty(NResourceSkeletalMesh res, int lod, int sec) { m_Res = res; m_Lod = lod; m_Section = sec; if (m_Res != null) { NMtlBase mtl = m_Res.GetMaterial(m_Lod, m_Section); if (mtl != null) { m_Loc = new NResourceLoc(mtl.Name); } } }
public virtual void BindMaterial(NMtlBase mtl) { if (mtl != null) { m_createName = mtl.Name; } else { m_createName = "Null Material"; } m_mtl = mtl; }
private void toolStripButton1_Click(object sender, EventArgs e) { //新建材质 NResourceLoc resLoc = new NResourceLoc("engine_data", "material/standard.hlsl"); NMtlStatic mtl = new NMtlStatic(resLoc.ToString()); mtl.DefaultCreate(resLoc); m_Material = mtl; MaterialProperty mtlProp = new MaterialProperty(m_Material); mtlProp.ApplyChange(); this.propertyGridMtl.SelectedObject = mtlProp; LoadSphere(); }
public override void BindMaterial(NMtlBase _mtl) { base.BindMaterial(_mtl); NMtlStatic mtl = _mtl as NMtlStatic; m_params = new MaterialParamCollection(); if (mtl != null) { m_ShaderLoc = _mtl.ShaderLoc; int num = mtl.GetNumParameter(); for (int i = 0; i < num; i++) { NMaterialParam mp = mtl.GetParameter(i); switch (mp.type) { case EMaterialParameter.Int: m_params.Add(new MaterialParamInt(mp)); break; case EMaterialParameter.Float: m_params.Add(new MaterialParamFloat(mp)); break; case EMaterialParameter.Float2: m_params.Add(new MaterialParamVector2(mp)); break; case EMaterialParameter.Float3: m_params.Add(new MaterialParamVector3(mp)); break; case EMaterialParameter.Float4: m_params.Add(new MaterialParamVector4(mp)); break; case EMaterialParameter.Texture: m_params.Add(new MaterialParamTexture(mp)); break; default: break; } } }// end of if }
public MaterialEditor() { InitializeComponent(); m_finalClose = false; m_realTime = false; m_Location = new NResourceLoc("", ""); m_preview = new ResourcePreview("MaterialPreview_LV"); this.splitContainer1.Panel1.Controls.Add(m_preview); //新建材质 NResourceLoc resLoc = new NResourceLoc("engine_data", "material/standard.hlsl"); NMtlStatic mtl = new NMtlStatic(resLoc.ToString()); mtl.DefaultCreate(resLoc); m_Material = mtl; MaterialProperty mtlProp = new MaterialProperty(m_Material); mtlProp.ApplyChange(); this.propertyGridMtl.SelectedObject = mtlProp; LoadSphere(); }
public MaterialProperty(NMtlBase mtl) : base(mtl) { BindMaterial(mtl); }
public MaterialBaseProperty(NMtlBase mtl) { BindMaterial(mtl); }