Exemplo n.º 1
0
        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();
        }
Exemplo n.º 2
0
        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);
         }
     }
 }
Exemplo n.º 4
0
        public virtual void BindMaterial(NMtlBase mtl)
        {
            if (mtl != null)
            {
                m_createName = mtl.Name;
            }
            else
            {
                m_createName = "Null Material";
            }

            m_mtl = mtl;
        }
Exemplo n.º 5
0
        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();
        }
Exemplo n.º 6
0
        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
        }
Exemplo n.º 7
0
        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();
        }
Exemplo n.º 8
0
 public MaterialProperty(NMtlBase mtl)
     : base(mtl)
 {
     BindMaterial(mtl);
 }
Exemplo n.º 9
0
 public MaterialBaseProperty(NMtlBase mtl)
 {
     BindMaterial(mtl);
 }