public void SetMaterialInstance(EngineNS.Graphics.CGfxMaterialInstance mtl, EngineNS.Graphics.Mesh.CGfxMesh mesh, int mtlindex) { mMaterialInstance = mtl; MaterialInstanceName = mtl.Name; MtlIndex = mtlindex; SceneMesh = mesh; mSRVPrimitives = new List <SRVRName>(); for (UInt32 i = 0; i < mMaterialInstance.SRVNumber; i++) { var item = new SRVRName(); item.Index = (int)i; item.SceneMesh = mesh; item.MtlIndex = (UInt32)mtlindex; item.Host = this; mSRVPrimitives.Add(item); } mShaderVars = new List <VarRName>(); for (UInt32 i = 0; i < mMaterialInstance.VarNumber; i++) { var item = new VarRName(); item.Index = (int)i; item.SceneMesh = mesh; item.MtlIndex = (UInt32)mtlindex; item.Host = this; mShaderVars.Add(item); } }
public override async Task <bool> AssetsOption_LoadResourceOverride(EditorCommon.Assets.AssetsPakage.LoadResourceData data) { var matIns = new EngineNS.Graphics.CGfxMaterialInstance(); await matIns.PureLoadMaterialInstanceAsync(EngineNS.CEngine.Instance.RenderContext, data.RNameMapper.Name); data.RNameMapper.ResObject = matIns; return(true); }
public void RefreshReferenceRNames(EngineNS.Graphics.CGfxMaterialInstance matIns) { // 刷新资源引用 ReferenceRNameList.Clear(); ReferenceRNameList.Add(matIns.MaterialName); for (UInt32 i = 0; i < matIns.SRVNumber; i++) { var rName = matIns.GetSRVName(i); ReferenceRNameList.Add(rName); } }
public async System.Threading.Tasks.Task InitGraphLines() { LinesGen.Interval = 0.1f; LinesGen.Segement = 0.2f; GraphLines.LinesGen = LinesGen; EngineNS.Graphics.CGfxMaterialInstance mtl = await EngineNS.CEngine.Instance.MaterialInstanceManager.GetMaterialInstanceAsync( EngineNS.CEngine.Instance.RenderContext, EngineNS.RName.GetRName("editor/volume/mi_volume_octree.instmtl"));//rotator EngineNS.Vector3 p1 = Vector3.Lerp(CStartPos, CEndPos, 0.3f); p1.Y = p1.Y + 5.0f; EngineNS.Vector3 p2 = Vector3.Lerp(CStartPos, CEndPos, 0.7f); p2.Y = p1.Y; LinesGen.SetBezier3D(CStartPos, p1, p2, CEndPos, 100); var init = await GraphLines.Init(mtl, 0.0f); //GraphLines.GraphActor.Placement.Location = EngineNS.Vector3.Zero; mLineMeshComponent = GraphLines.GraphActor.GetComponent <GamePlay.Component.GMeshComponent>(); }
public void SetMaterialInstance(EngineNS.Graphics.CGfxMaterialInstance mtl) { mMaterialInstance = mtl; mSRVPrimitives = new List <SRVRName>(); for (UInt32 i = 0; i < mMaterialInstance.SRVNumber; i++) { var item = new SRVRName(); item.Index = i; item.mMaterialInstance = mMaterialInstance; mSRVPrimitives.Add(item); } mShaderVars = new List <VarRName>(); for (UInt32 i = 0; i < mMaterialInstance.VarNumber; i++) { var item = new VarRName(); item.Index = i; item.mMaterialInstance = mMaterialInstance; mShaderVars.Add(item); } }