private Material FindMaterial(Material materialOverride, MaterialInstance modelMaterialInstance) { return(materialOverride ?? modelMaterialInstance?.Material ?? fallbackMaterial); }
private void UpdateMaterial(RenderMesh renderMesh, MaterialPass materialPass, MaterialInstance modelMaterialInstance, ModelComponent modelComponent) { renderMesh.MaterialPass = materialPass; var isShadowCaster = modelComponent.IsShadowCaster; if (modelMaterialInstance != null) { isShadowCaster &= modelMaterialInstance.IsShadowCaster; } if (isShadowCaster != renderMesh.IsShadowCaster) { renderMesh.IsShadowCaster = isShadowCaster; VisibilityGroup.NeedActiveRenderStageReevaluation = true; } }
private void UpdateMaterial(RenderMesh renderMesh, MaterialPass materialPass, MaterialInstance modelMaterialInstance, ModelComponent modelComponent) { renderMesh.MaterialPass = materialPass; renderMesh.IsShadowCaster = modelComponent.IsShadowCaster; if (modelMaterialInstance != null) { renderMesh.IsShadowCaster = renderMesh.IsShadowCaster && modelMaterialInstance.IsShadowCaster; } }
/// <summary> /// Adds the specified material (for collection Initializers). /// </summary> /// <param name="material">The mesh.</param> public void Add(MaterialInstance material) { Materials.Add(material); }