<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">Hi all,<div class=""><br class=""></div><div class="">I've found what's causing the bad shading and small "holidays" when testing Yumin's shapefile importer (but not the other problem yet).</div><div class=""><br class=""></div><div class="">The problem is that the shapefile we are using doesn't have lat-long coordinates; instead it uses feet or meters in some datum plane. The values are quite large and the OpenGL library truncates point coordinates from doubles to floats before rendering. I hacked the polygon modeler to move the points near the origin and the dark/light triangles went away.</div><div class=""><br class=""></div><div class="">I can't commit the hack (it hardcoded a point coordinate in the polygon code), so how we handle this properly in SMTK and CMB is still an issue. Do you have any preferences? We could</div><div class=""><br class=""></div><div class="">1. Change the "import" operator to accept a "recenter model" item (maybe with an additional double-vector item specifying the new origin so that multiple models could be recentered to the same point?). This could require considerable knowledge on the user/app-developer to set up a processing pipeline.</div><div class=""><br class=""></div><div class="">2. Change the VTK source class to recenter points if the bounds are far from the origin relative to the box size. This would mean that things like the spreadsheet view will appear "off" with no real explanation. But SMTK would provide the correct coordinates.</div><div class=""><br class=""></div><div class="">3. Change VTK's mapper(s) to do recentering as in #2 above. This would be the least leaky abstraction.</div><div class=""><br class=""></div><div class="">4. Make our own CMB mapper. We probably need to do this anyway to handle things like glyphs, instances, and other special model geometry.</div><div class=""><br class=""></div><div class="">I like #3 the best, but it's a lot more work than #1 or #2 (and that work would be getting the change tested and approved, not coding the actual fix).</div><div class=""><br class=""></div><div class=""><span class="Apple-tab-span" style="white-space:pre">       </span>David</div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><img apple-inline="yes" id="50C5BFCB-38BD-412A-B5A6-CE2A018AC9A6" height="297" width="299" apple-width="yes" apple-height="yes" src="cid:5009EDDE-D14E-422F-8B82-01A73669597D@kitware.com" class=""><img apple-inline="yes" id="028B6FE6-D9FD-473F-8F87-C0F8EB9316BB" height="299" width="300" apple-width="yes" apple-height="yes" src="cid:C1815AE4-A75F-4635-A5CC-66DA0A31119F@kitware.com" class=""></div></body></html>