protected override void InitializeCore() { base.InitializeCore(); if (SceneCameraRenderer == null) { return; } var forwardMode = SceneCameraRenderer.Mode; var effectName = forwardMode.ModelEffect; if (effectName == null) { throw new InvalidOperationException("ModelEffect cannot be null"); } isPickingRendering = Context.IsPicking(); if (isPickingRendering) { effectName += ".Picking"; Context.Parameters.Set(XenkoEffectBaseKeys.ExtensionPostVertexStageShader, PickingEffect); } modelRenderer.EffectName = effectName; modelRenderer = ToLoadAndUnload(modelRenderer); // Setup the ModelComponentRenderer as the main renderer for the scene Camera Renderer // This is used by the LightComponentForwardRenderer // TODO: Check if we could discover declared renderers in a better way than just hacking the tags of a component ModelComponentRenderer.Attach(SceneCameraRenderer, modelRenderer); }