public bool UpdateMaterial() { var materialIndex = Mesh.MaterialIndex; Material = RenderModel.GetMaterial(materialIndex); var materialInstance = RenderModel.GetMaterialInstance(materialIndex); HasTransparency = Material != null && Material.HasTransparency; var modelComponent = RenderModel.ModelComponent; IsShadowCaster = modelComponent.IsShadowCaster; IsShadowReceiver = modelComponent.IsShadowReceiver; if (materialInstance != null) { IsShadowCaster = IsShadowCaster && materialInstance.IsShadowCaster; IsShadowReceiver = IsShadowReceiver && materialInstance.IsShadowReceiver; } return(Material != null); }