<div dir="ltr">With the render passes you can setup as many passes as you want in whatever order you want. This shows an example where the render process is all driven by passes.<div><br></div><div><a href="https://gitlab.kitware.com/vtk/vtk/blob/master/Rendering/OpenGL2/Testing/Cxx/TestSobelGradientMagnitudePass.cxx">https://gitlab.kitware.com/vtk/vtk/blob/master/Rendering/OpenGL2/Testing/Cxx/TestSobelGradientMagnitudePass.cxx</a><br></div><div><br></div><div>As an example for shadow maps when needed we use nested opaque passes to render the scene from the view of the light sources which we then use in another opaque pass to compute lighting from the view of the camera.</div><div><br></div><div>Render passes also have hooks that mappers call so that passes can modify the mapper shader code etc while executing.<br></div><div><br></div><div>Passes can also use information properties on actors to filter them in other passes.  For example an outer render pass can add information on actors that causes some of them to not be rendered (or to be rendered differently) by other passes ala</div><div><br></div><div><div>// ----------------------------------------------------------------------------</div><div>// Description:</div><div>// Opaque pass with key checking.</div><div>// \pre s_exists: s!=0</div><div>void vtkDefaultPass::RenderFilteredOpaqueGeometry(const vtkRenderState *s)</div><div>{</div><div>  assert("pre: s_exists" && s!=0);</div><div><br></div><div>  int c=s->GetPropArrayCount();</div><div>  int i=0;</div><div>  while(i<c)</div><div>  {</div><div>    vtkProp *p=s->GetPropArray()[i];</div><div>    if(p->HasKeys(s->GetRequiredKeys()))</div><div>    {</div><div>      int rendered=</div><div>        p->RenderFilteredOpaqueGeometry(s->GetRenderer(),s->GetRequiredKeys());</div><div>      this->NumberOfRenderedProps+=rendered;</div><div>    }</div><div>    ++i;</div><div>  }</div><div>}</div></div><div><br></div><div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jul 6, 2017 at 3:30 PM, Milef, Nicholas Boris <span dir="ltr"><<a href="mailto:milefn@rpi.edu" target="_blank">milefn@rpi.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">




<div>
<div style="direction:ltr;font-family:Tahoma;color:#000000;font-size:10pt">Is there currently a way to separate actors into custom render passes? If I'm not mistaken, opaque objects currently get rendered before translucent objects, but is there a way
 to add additional geometry passes (or before opaque geometry, or between translucent and opaque geometry, etc.)?</div>
</div>

<br>______________________________<wbr>_________________<br>
Powered by <a href="http://www.kitware.com" rel="noreferrer" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" rel="noreferrer" target="_blank">http://www.kitware.com/<wbr>opensource/opensource.html</a><br>
<br>
Please keep messages on-topic and check the VTK FAQ at: <a href="http://www.vtk.org/Wiki/VTK_FAQ" rel="noreferrer" target="_blank">http://www.vtk.org/Wiki/VTK_<wbr>FAQ</a><br>
<br>
Search the list archives at: <a href="http://markmail.org/search/?q=vtkusers" rel="noreferrer" target="_blank">http://markmail.org/search/?q=<wbr>vtkusers</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://public.kitware.com/mailman/listinfo/vtkusers" rel="noreferrer" target="_blank">http://public.kitware.com/<wbr>mailman/listinfo/vtkusers</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div>Ken Martin PhD<div>Distinguished Engineer<br><span style="font-size:12.8px">Kitware Inc.</span><br></div><div>28 Corporate Drive<br>Clifton Park NY 12065<br><div><br></div><div><span style="font-size:10pt;font-family:Tahoma,sans-serif">This communication,
including all attachments, contains confidential and legally privileged
information, and it is intended only for the use of the addressee.  Access to this email by anyone else is
unauthorized. If you are not the intended recipient, any disclosure, copying,
distribution or any action taken in reliance on it is prohibited and may be
unlawful. If you received this communication in error please notify us
immediately and destroy the original message. 
Thank you.</span></div></div></div></div></div>
</div>