diff options
author | Tamito Kajiyama <rd6t-kjym@asahi-net.or.jp> | 2014-05-21 06:38:14 +0400 |
---|---|---|
committer | Tamito Kajiyama <rd6t-kjym@asahi-net.or.jp> | 2014-05-21 19:46:22 +0400 |
commit | 01ac74e4ad223b0b9a000fa9158355bf02615c7c (patch) | |
tree | 8fa898215369e357a8752680507bade76d4b5eea /source | |
parent | c829c71c57545a2e68f817e95470cca6c66edfd8 (diff) |
Freestyle: Added utility function SilhouetteGeomEngine::CameraToImage().
TODO: Fix for Z normalization in SilhouetteGeomEngine methods.
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/freestyle/intern/view_map/SilhouetteGeomEngine.cpp | 8 | ||||
-rw-r--r-- | source/blender/freestyle/intern/view_map/SilhouetteGeomEngine.h | 3 |
2 files changed, 11 insertions, 0 deletions
diff --git a/source/blender/freestyle/intern/view_map/SilhouetteGeomEngine.cpp b/source/blender/freestyle/intern/view_map/SilhouetteGeomEngine.cpp index ee885f29211..00814c29776 100644 --- a/source/blender/freestyle/intern/view_map/SilhouetteGeomEngine.cpp +++ b/source/blender/freestyle/intern/view_map/SilhouetteGeomEngine.cpp @@ -319,4 +319,12 @@ Vec3r SilhouetteGeomEngine::WorldToImage(const Vec3r& M) return newPoint; } +Vec3r SilhouetteGeomEngine::CameraToImage(const Vec3r& M) +{ + Vec3r newPoint, p; + GeomUtils::fromCameraToRetina(M, p, _projectionMatrix); + GeomUtils::fromRetinaToImage(p, newPoint, _viewport); + return newPoint; +} + } /* namespace Freestyle */ diff --git a/source/blender/freestyle/intern/view_map/SilhouetteGeomEngine.h b/source/blender/freestyle/intern/view_map/SilhouetteGeomEngine.h index 1234c028ca1..e4bf1517512 100644 --- a/source/blender/freestyle/intern/view_map/SilhouetteGeomEngine.h +++ b/source/blender/freestyle/intern/view_map/SilhouetteGeomEngine.h @@ -131,6 +131,9 @@ public: /*! From world to image */ static Vec3r WorldToImage(const Vec3r& M); + /*! From camera to image */ + static Vec3r CameraToImage(const Vec3r& M); + #ifdef WITH_CXX_GUARDEDALLOC MEM_CXX_CLASS_ALLOC_FUNCS("Freestyle:SilhouetteGeomEngine") #endif |