<div dir="ltr"><p style="font-size:12.8px"><span style="color:rgb(31,73,125)">Here is some info from an old email on customizing the polydatamapper shaders. The PointGaussianMapper also supports custom shaders and there is an example of that in Rendering/OpenGL2/Testing/Cxx/TestPointGaussianMapperOpacity.cxx</span></p><p style="font-size:12.8px"><span style="color:rgb(31,73,125)">Thanks</span></p><p style="font-size:12.8px"><span style="color:rgb(31,73,125)">Ken</span></p><p style="font-size:12.8px"><span style="color:rgb(31,73,125)"><br></span></p><p style="font-size:12.8px"><span style="color:rgb(31,73,125)">2)<span style="font-stretch:normal;font-size:7pt;font-family:'Times New Roman'">      </span></span><b><span style="color:rgb(31,73,125)">CUSTOM <span class="">SHADERS</span></span></b><span style="color:rgb(31,73,125)"> - Added support for customizing the default PolyDataMapper <span class="">shaders</span>. You can now modify or completely replace the default VTK <span class="">shaders</span>using methods such as</span></p><p style="font-size:12.8px"><span style="color:rgb(31,73,125)"> </span></p><p style="font-size:12.8px;margin-left:1in"><span style="color:rgb(31,73,125)">AddShaderReplacement: replaces a strings in the current <span class="">shader</span><br>SetVertexShaderCode: replaces the default <span class="">shader</span> template with your own</span></p><p style="font-size:12.8px;margin-left:1in"><span style="color:rgb(31,73,125)">AddObserver(vtkCommand::UpdateShaderEvent,...)</span></p><p style="font-size:12.8px;margin-left:1in"><span style="color:rgb(31,73,125)"> </span></p><p style="font-size:12.8px"><span style="color:rgb(31,73,125)">These methods (and similar others) give you a great degree on control of the VTK PolyData <span class="">shaders</span>. There are examples/tests in Rendering/OpenGL2/Testing/Cxx/TestUserShader.cxx and TestUserShader2.cxx.  Through the UpdateShaderEvent you can modify the default VTK uniforms or your own uniforms as desired. There is currently not a general purpose easy API for binding your own data arrays to attributes but we may add one at some point in the future. Currently VTK will send down the default attributes for you to use in your <span class="">shader</span> (position, normal, tcoords, colors, etc)</span></p><p style="font-size:12.8px"><span style="color:rgb(31,73,125)"> </span></p><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Feb 5, 2016 at 12:11 PM, Aashish Chaudhary <span dir="ltr"><<a href="mailto:aashish.chaudhary@kitware.com" target="_blank">aashish.chaudhary@kitware.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Not to my knowledge. Although we talked about it at-least having an API so that folks can replace the shader or ember new shader code to the existing one. Also, having some common convention would be nice. <div><br></div><div>Thanks,</div><div><br><div><br></div><div><br><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Feb 5, 2016 at 11:31 AM, Steve Pieper <span dir="ltr"><<a href="mailto:pieper@isomics.com" target="_blank">pieper@isomics.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Hi Bill - </div><div><br></div><div>Great question - I'm looking forward to hear what folks have been doing in this respect.</div><div><br></div><div>For me, I have two classes I have been testing with Slicer - one that manages 3D textures and one that implements shaders [1,2].  We worked on it at project week [3] and I'm liking how it works.</div><div><br></div><div>-Steve</div><div><br></div><div>[1] <a href="https://github.com/pieper/CommonGL/blob/master/ShadedActor/Logic/vtkOpenGLTextureImage.h" target="_blank">https://github.com/pieper/CommonGL/blob/master/ShadedActor/Logic/vtkOpenGLTextureImage.h</a><br></div><div><br></div><div>[2] <a href="https://github.com/pieper/CommonGL/blob/master/ShadedActor/Logic/vtkOpenGLShaderComputation.h" target="_blank">https://github.com/pieper/CommonGL/blob/master/ShadedActor/Logic/vtkOpenGLShaderComputation.h</a><br></div><div><br></div>[3] <a href="http://www.na-mic.org/Wiki/index.php/2016_Winter_Project_Week/Projects/CommonGL" target="_blank">http://www.na-mic.org/Wiki/index.php/2016_Winter_Project_Week/Projects/CommonGL</a><br></div><div><div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Feb 5, 2016 at 11:10 AM, Bill Lorensen <span dir="ltr"><<a href="mailto:bill.lorensen@gmail.com" target="_blank">bill.lorensen@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Folks,<br>
<br>
Is there documentation on how to write glsl shaders for VTK?<br>
<span><font color="#888888"><br>
Bill<br>
--<br>
Unpaid intern in BillsBasement at noware dot com<br>
_______________________________________________<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/opensource/opensource.html</a><br>
<br>
Search the list archives at: <a href="http://markmail.org/search/?q=vtk-developers" rel="noreferrer" target="_blank">http://markmail.org/search/?q=vtk-developers</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://public.kitware.com/mailman/listinfo/vtk-developers" rel="noreferrer" target="_blank">http://public.kitware.com/mailman/listinfo/vtk-developers</a><br>
<br>
</font></span></blockquote></div><br></div>
</div></div><br>_______________________________________________<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/opensource/opensource.html</a><br>
<br>
Search the list archives at: <a href="http://markmail.org/search/?q=vtk-developers" rel="noreferrer" target="_blank">http://markmail.org/search/?q=vtk-developers</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://public.kitware.com/mailman/listinfo/vtk-developers" rel="noreferrer" target="_blank">http://public.kitware.com/mailman/listinfo/vtk-developers</a><br>
<br>
<br></blockquote></div><span class="HOEnZb"><font color="#888888"><br><br clear="all"><div><br></div>-- <br><div><div dir="ltr"><font face="trebuchet ms, sans-serif"><i>| Aashish Chaudhary <br>| Technical Leader         <br>| Kitware Inc.            <br></i></font><div><i><font face="trebuchet ms, sans-serif">| </font><a href="http://www.kitware.com/company/team/chaudhary.html" target="_blank">http://www.kitware.com/company/team/chaudhary.html</a></i></div></div></div>
</font></span></div></div></div></div>
<br>_______________________________________________<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/opensource/opensource.html</a><br>
<br>
Search the list archives at: <a href="http://markmail.org/search/?q=vtk-developers" rel="noreferrer" target="_blank">http://markmail.org/search/?q=vtk-developers</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://public.kitware.com/mailman/listinfo/vtk-developers" rel="noreferrer" target="_blank">http://public.kitware.com/mailman/listinfo/vtk-developers</a><br>
<br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">Ken Martin PhD<div>Chairman & CFO<br>Kitware Inc.<br>28 Corporate Drive<br>Clifton Park NY 12065<br>518 371 3971<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>