[Bf-blender-cvs] [13c92a7] master: Freestyle: Fix for Z normalization in SilhouetteGeomEngine.
Tamito Kajiyama
noreply at git.blender.org
Wed May 21 17:47:16 CEST 2014
Commit: 13c92a77d3646f6574ff34fdd02481679ca874ac
Author: Tamito Kajiyama
Date: Wed May 21 11:49:31 2014 +0900
https://developer.blender.org/rB13c92a77d3646f6574ff34fdd02481679ca874ac
Freestyle: Fix for Z normalization in SilhouetteGeomEngine.
The Z component of the projected point in the 2D image space has already been normalized
in GeomUtils::fromWorldToImage().
===================================================================
M source/blender/freestyle/intern/view_map/SilhouetteGeomEngine.cpp
===================================================================
diff --git a/source/blender/freestyle/intern/view_map/SilhouetteGeomEngine.cpp b/source/blender/freestyle/intern/view_map/SilhouetteGeomEngine.cpp
index 00814c2..aa5bc5a 100644
--- a/source/blender/freestyle/intern/view_map/SilhouetteGeomEngine.cpp
+++ b/source/blender/freestyle/intern/view_map/SilhouetteGeomEngine.cpp
@@ -140,12 +140,8 @@ void SilhouetteGeomEngine::ProjectSilhouette(vector<SVertex*>& ioVertices)
real max = -HUGE;
#endif
vector<SVertex*>::iterator sv, svend;
- const real depth = _zfar - _znear;
- const real fac = (depth < 1.0e-6) ? 1.0 : 1.0 / depth;
-
for (sv = ioVertices.begin(), svend = ioVertices.end(); sv != svend; sv++) {
GeomUtils::fromWorldToImage((*sv)->point3D(), newPoint, _modelViewMatrix, _projectionMatrix, _viewport);
- newPoint[2] = (-newPoint[2] - _znear) * fac; // normalize Z between 0 and 1
(*sv)->setPoint2D(newPoint);
#if 0
cerr << (*sv)->point2d().z() << " ";
@@ -173,10 +169,7 @@ void SilhouetteGeomEngine::ProjectSilhouette(SVertex *ioVertex)
real max = -HUGE;
vector<SVertex*>::iterator sv, svend;
#endif
- const real depth = _zfar - _znear;
- const real fac = (depth < 1.0e-6) ? 1.0 : 1.0 / depth;
GeomUtils::fromWorldToImage(ioVertex->point3D(), newPoint, _modelViewMatrix, _projectionMatrix, _viewport);
- newPoint[2] = (-newPoint[2] - _znear) * fac; // normalize Z between 0 and 1
ioVertex->setPoint2D(newPoint);
}
@@ -311,11 +304,8 @@ iter:
Vec3r SilhouetteGeomEngine::WorldToImage(const Vec3r& M)
{
- const real depth = _zfar - _znear;
- const real fac = (depth < 1.0e-6) ? 1.0 : 1.0 / depth;
Vec3r newPoint;
GeomUtils::fromWorldToImage(M, newPoint, _transform, _viewport);
- newPoint[2] = (-newPoint[2] - _znear) * fac; // normalize Z between 0 and 1
return newPoint;
}
More information about the Bf-blender-cvs
mailing list