public DeferredMaterial GetDeferredMaterial(MeshCoreData.Material material) { if (pool.ContainsKey(material)) { return((DeferredMaterial)pool[material]); } var ret = new DeferredMaterial(game, material.DiffuseMap == null ? null : texturePool.LoadTexture(material.DiffuseMap), material.NormalMap == null ? null : texturePool.LoadTexture(material.NormalMap), material.SpecularMap == null ? null : texturePool.LoadTexture(material.SpecularMap)); pool.Add(material, ret); return(ret); }
private DeferredMaterial.PerObjectConstantBuffer getPerObjectCB(WorldMeshPart part) { return(sharedPerObjectCB ?? (sharedPerObjectCB = DeferredMaterial.CreatePerObjectCB(game))); }
/// <summary> /// Create GPU buffers necessary for the object /// </summary> public void CreateBuffers(DX11Game game) { perObject = DeferredMaterial.CreatePerObjectCB(game); perObject.UpdatePerObjectBuffer(game.Device.ImmediateContext, Matrix.Identity); }
public MeshElementPart(DeferredMaterial mat, MeshPartRenderData part) { this.mat = mat; this.part = part; }