Fix for [#35482] 2.67 freestyle line visibility computation bug.
authorTamito Kajiyama <rd6t-kjym@asahi-net.or.jp>
Sat, 13 Jul 2013 19:33:25 +0000 (19:33 +0000)
committerTamito Kajiyama <rd6t-kjym@asahi-net.or.jp>
Sat, 13 Jul 2013 19:33:25 +0000 (19:33 +0000)
commit33b65832d2002979c27b39a1fbe1d59f77a24565
tree331a9914fe8a231a7b0ecaa3cd2513750f314a02
parentb7396654e181b84985ef54b7afce252b2584e69a
Fix for [#35482] 2.67 freestyle line visibility computation bug.

The reported line visibility issue was caused by a wrong calculation of a 2D
bounding box (so-called "proscenium face" in Freestyle) in the case of a
spherical grid data structure used for a perspective camera.  The problem was
resulting from the proscenium computation based on two corners (min and max)
of the 3D bounding box of imported mesh data.  Aware of the spherical coordinate
transformation involving non-linear (arctangent) functions, now the proscenium
is computed by taking in account all the eight corners of the 3D bounding box.

Also added minor code changes to facilitate future debugging.
source/blender/freestyle/intern/view_map/ArbitraryGridDensityProvider.cpp
source/blender/freestyle/intern/view_map/AverageAreaGridDensityProvider.cpp
source/blender/freestyle/intern/view_map/BoxGrid.cpp
source/blender/freestyle/intern/view_map/GridDensityProvider.h
source/blender/freestyle/intern/view_map/Pow23GridDensityProvider.cpp
source/blender/freestyle/intern/view_map/SphericalGrid.cpp
source/blender/freestyle/intern/view_map/ViewMapBuilder.cpp