/// <summary>
/// Create "default compositor"
/// </summary>
protected void CreateOriginalScene()
{
this.originalSceneMaterial = this.viewport.MaterialScheme;
string compName = "Axiom/Scene/" + this.originalSceneMaterial;
var scene = (Compositor)CompositorManager.Instance.GetByName(compName);
if (scene == null)
{
scene = (Compositor)CompositorManager.Instance.Create(compName, ResourceGroupManager.InternalResourceGroupName);
CompositionTechnique t = scene.CreateTechnique();
t.SchemeName = string.Empty;
CompositionTargetPass tp = t.OutputTarget;
tp.VisibilityMask = 0xFFFFFFFF;
{
CompositionPass pass = tp.CreatePass();
pass.Type = CompositorPassType.Clear;
}
{
CompositionPass pass = tp.CreatePass();
pass.Type = CompositorPassType.RenderScene;
//Render everything, including skies
pass.FirstRenderQueue = RenderQueueGroupID.Background;
pass.LastRenderQueue = RenderQueueGroupID.SkiesLate;
}
scene = (Compositor)CompositorManager.Instance.Load(compName, ResourceGroupManager.InternalResourceGroupName);
}
this.originalScene = new CompositorInstance(scene.GetSupportedTechniqueByScheme(), this);
}