4 using System.Collections.Generic;
8 namespace SiliconStudio.
Paradox.Effects
31 return pass.Renderers.OfType<T>().FirstOrDefault();
42 foreach (var subRenderPass
in renderPass.Children)
44 yield
return subRenderPass;
47 if (subRenderPass.Children.Count > 0)
48 foreach (var subSubRenderPass
in subRenderPass.Descendants())
49 yield
return subSubRenderPass;
61 onRenderPass(renderPass, level);
64 foreach (var subRenderPass
in renderPass.Children)
65 subRenderPass.Foreach(onRenderPass, level);
76 renderPass.Foreach((pass, level) => writer.WriteLine(
"{0}{1}", String.Concat(Enumerable.Repeat(
" ", level)), printer != null ? printer(pass) : pass.ToString()));
87 var passes = renderPass.Children;
88 foreach (var pass
in passes)
90 if (name == pass.Name)
92 if (pass.Children.Count == 0)
94 var found = pass.FindDescendantByName(name);
static IEnumerable< RenderPass > Descendants(this RenderPass renderPass)
Returns all the descendants from a render pass.
TrackingCollection< RenderPass > Children
Gets the sub render passes.
Performs render pipeline transformations attached to a specific RenderPass.
static void Print(this RenderPass renderPass, TextWriter writer, Func< RenderPass, string > printer=null)
Iterate on all Returns all the descendants from a render pass.
static RenderPass FindDescendantByName(this RenderPass renderPass, string name)
Finds a descendent render pass by name.
delegate void RenderPassForeach(RenderPass renderPass, int level)
Delegate used by RenderPassExtensions.Foreach.
static void Foreach(this RenderPass renderPass, RenderPassForeach onRenderPass, int level=0)
Iterate on all render pass an execute an action
Extensions for RenderPass.
RenderPass is a hierarchy that defines how to collect and render meshes.