<div dir="ltr"><div><div>Hi David,<br><br></div>1.  vesKiwiViewerApp serves as the main app logic for KiwiViewer, but it's not a great general base class, so improvements would be great!  I'd like to see all the shader management removed from vesKiwiViewerApp, and relocated into a new standalone class.<br>

<br></div>2. The Uniforms vector, and the other vectors declared there, are relics from before kiwi and ves libraries used shared_ptr.  The vectors were for ownership.  If you are going over this code, please remove them if you can.<br>

<br>Pat<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Apr 19, 2013 at 1:30 PM, David Thompson <span dir="ltr"><<a href="mailto:david.thompson@kitware.com" target="_blank">david.thompson@kitware.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi all,<br>
<br>
I have some questions and/or suggestions for the way vesKiwiViewerApp handles shaders.<br>
<br>
1. It is great to have a variety of shaders available, but I don't understand why the app makes it difficult to have multiple instances of the same shader with different uniforms. This is especially important for the clip shader as it would be nice to have several actors with different clip planes. It would be nice to just call this->newClipShader() on the app and get a new shader out. Or have a "clone()" method on vesShaderProgram.<br>


<br>
2. Is there a reason for having shader uniforms collected in vesKiwiBaseApp::vesInternal::Uniforms? They appear never to be retrieved anywhere in vesKiwiBaseApp.cpp and -- because the vesInternal class is private and defined only in that file -- are not accessible elsewhere. I ask because if the Uniforms vector was removed, the shader creation functions in the viewer could be static methods that returned shader programs. Which would be nice.<br>


<br>
        Thanks,<br>
        David<br>
_______________________________________________<br>
Ves mailing list<br>
<a href="mailto:Ves@public.kitware.com">Ves@public.kitware.com</a><br>
<a href="http://public.kitware.com/cgi-bin/mailman/listinfo/ves" target="_blank">http://public.kitware.com/cgi-bin/mailman/listinfo/ves</a><br>
</blockquote></div><br></div>