diff options
author | Kester Maddock <Christopher.Maddock.1@uni.massey.ac.nz> | 2004-11-22 14:49:35 +0300 |
---|---|---|
committer | Kester Maddock <Christopher.Maddock.1@uni.massey.ac.nz> | 2004-11-22 14:49:35 +0300 |
commit | 1092b98337621a58c679de2a6657fd929dc8cb53 (patch) | |
tree | eb9ffff2413d9384be089c9a77cdeb4832cc2e76 /source/gameengine/Rasterizer/RAS_MeshObject.cpp | |
parent | 39022ffb88ea97667d1f0f23d7730ee62f427b31 (diff) |
Fix for bug 1600: alpha sort doesn't work on linked (alt-d) objects
Diffstat (limited to 'source/gameengine/Rasterizer/RAS_MeshObject.cpp')
-rw-r--r-- | source/gameengine/Rasterizer/RAS_MeshObject.cpp | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/source/gameengine/Rasterizer/RAS_MeshObject.cpp b/source/gameengine/Rasterizer/RAS_MeshObject.cpp index bfc4c3012c3..a28cbac2580 100644 --- a/source/gameengine/Rasterizer/RAS_MeshObject.cpp +++ b/source/gameengine/Rasterizer/RAS_MeshObject.cpp @@ -596,6 +596,9 @@ struct RAS_MeshObject::fronttoback void RAS_MeshObject::SortPolygons(const MT_Transform &transform) { + if (!m_zsort) + return; + // Extract camera Z plane... const MT_Vector3 pnorm(transform.getBasis()[2]); const MT_Scalar pval = transform.getOrigin()[2]; @@ -665,6 +668,7 @@ void RAS_MeshObject::SchedulePolygons(const MT_Transform &transform, int drawing ,poly->GetMaterial()->GetPolyMaterial()); } + m_zsort = false; } else { @@ -683,9 +687,4 @@ void RAS_MeshObject::SchedulePolygons(const MT_Transform &transform, int drawing m_bModified = false; } - - if (m_zsort && drawingmode >= RAS_IRasterizer::KX_SOLID) - { - SortPolygons(transform); - } } |