Hi Chris,<br><br>The new KiwiViewer 2.0 app is built from the kiwi-next-apps branch on the 'stage' remote.  You can merge get this branch with a git checkout:<br><br>git remote add stage git://<a href="http://vtk.org/stage/VES.git">vtk.org/stage/VES.git</a><br>

git fetch stage<br>git checkout -t stage/kiwi-next-apps<br><br>The commits on this branch need some cleanup and review before we merge them into master, so for now you will need to use this branch (or just merge that branch into your own development branch), but be warned that there are some changes on this branch which make it more difficult to compile, because it introduces required dependencies cURL and libarchive.  Part of the clean up will be to make this dependencies optional.<br>

<br>Instead of merging the entire branch, you could grab just this one commit:  89ef873f6c<br><br>git fetch stage<br>git cherry-pick 89ef873f6c<br><br><br>The new magic in KiwiViewer which fixes the rendering is the addition of the vtkPolyDataNormals filter.  This filter is part of VTK, it will duplicate vertices along sharp edges so that repeated vertices can have different normals.  Here is the code that applies the filter:<br>

<br>    const int normalsFeatureAngle = 25.0;<br>    vtkNew<vtkPolyDataNormals> normals;<br>    normals->SetInputData(polyData);<br>    normals->SplittingOn();<br>    normals->SetFeatureAngle(normalsFeatureAngle);<br>

    normals->Update();<br>    polyData = normals->GetOutput();<br><br>Or, if you look in the new code, look in vesKiwiDataConversionTools.cpp at the function:  vtkSmartPointer<vtkPolyData> vesKiwiDataConversionTools::TriangulatePolyData(vtkPolyData* input, bool addNormals, bool duplicateVertices) { ... }<br>

<br><br>Depending on your input data size and amount of sharp edges, applying this filter can be costly in cpu time and memory consumption, but I decided to enable it automatically in KiwiViewer 2.0.  I've loaded datasets with >1 million vertices without trouble.<br>

<br>Pat<br><br><br><div class="gmail_quote">On Tue, Mar 26, 2013 at 11:54 AM, Chris Vaught <span dir="ltr"><<a href="mailto:cvaught@cmv-tech.com" target="_blank">cvaught@cmv-tech.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div>I sent a message last year about the rendering issues that is shown in the attached image (HoleInPlate.png).  The response was that this was caused by missing normals.  The rendering would be fixed once a flat shading model was added.  I just tried the new KiwiViewer app and it appears to be shading it properly (see attached HoleInPlateCorrect.png), which is great.  Thanks for adding the flat shader.  But how do I implement this into my app?  I have updated the sources, compiled and opened the new KiwiSimple app.  I changed the loading file to this demo file and the app still renders it incorrectly.  Is there a setting that needs to be changed?</div>


<div><br></div><div>Thanks for the help.</div><span class="HOEnZb"><font color="#888888"><div>Chris</div>
</font></span><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>
<br></blockquote></div><br>