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 MaterialParamVector3(NMaterialParam data) : base(data) { }
public MaterialParamFloat(NMaterialParam data) : base(data) { }
public MaterialParamInt(NMaterialParam data) : base(data) { }
public MaterialParamEdit(NMaterialParam data) { m_data = data; }
public MaterialParamTexture(NMaterialParam data) : base(data) { }