Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKester Maddock <Christopher.Maddock.1@uni.massey.ac.nz>2004-06-26 13:15:41 +0400
committerKester Maddock <Christopher.Maddock.1@uni.massey.ac.nz>2004-06-26 13:15:41 +0400
commit4c53f38756976704bab11a3dd8c33c71d926e6b8 (patch)
tree5db17347afbc71062a77f01f1197a9bfe7f0c20d /source/gameengine/Rasterizer
parentf69cc652e283bfa1958ae6945b0a014eb7d50906 (diff)
Minor Fixes:
Better use of booleans for python #include fixes for Windows Python Doc fixes Use the farthest vertex as the face position when z sorting faces. (Camera is on -z axis!)
Diffstat (limited to 'source/gameengine/Rasterizer')
-rw-r--r--source/gameengine/Rasterizer/RAS_MaterialBucket.h7
-rw-r--r--source/gameengine/Rasterizer/RAS_MeshObject.cpp9
2 files changed, 8 insertions, 8 deletions
diff --git a/source/gameengine/Rasterizer/RAS_MaterialBucket.h b/source/gameengine/Rasterizer/RAS_MaterialBucket.h
index 28185dabca6..480bd9f1d11 100644
--- a/source/gameengine/Rasterizer/RAS_MaterialBucket.h
+++ b/source/gameengine/Rasterizer/RAS_MaterialBucket.h
@@ -70,10 +70,11 @@ public:
class KX_MeshSlot
{
public:
- void* m_clientObj;
+ void* m_clientObj;
RAS_Deformer* m_pDeformer; // __NLA
- double* m_OpenGLMatrix;
- class RAS_MeshObject* m_mesh;
+ double* m_OpenGLMatrix;
+ class RAS_MeshObject* m_mesh;
+
mutable bool m_bVisible; // for visibility
mutable bool m_bObjectColor;
mutable MT_Vector4 m_RGBAcolor;
diff --git a/source/gameengine/Rasterizer/RAS_MeshObject.cpp b/source/gameengine/Rasterizer/RAS_MeshObject.cpp
index c048479a46e..ff5e674150b 100644
--- a/source/gameengine/Rasterizer/RAS_MeshObject.cpp
+++ b/source/gameengine/Rasterizer/RAS_MeshObject.cpp
@@ -564,14 +564,14 @@ RAS_MeshObject::polygonSlot::polygonSlot(const MT_Vector3 &pnorm, const MT_Scala
{
vert = mesh->GetVertex(base.m_vtxarray, base.m_indexarray[i], poly->GetMaterial()->GetPolyMaterial());
float z = MT_dot(pnorm, vert->getLocalXYZ()) + pval;
- if (z > m_z)
+ if (z < m_z)
m_z = z;
}
}
void RAS_MeshObject::SortPolygons(const MT_Transform &transform)
{
-
+ // Extract camera Z plane...
const MT_Vector3 pnorm(transform.getBasis()[2]);
const MT_Scalar pval = transform.getOrigin()[2];
@@ -593,6 +593,7 @@ void RAS_MeshObject::SortPolygons(const MT_Transform &transform)
}
}
+ // Clear current array data.
for (RAS_MaterialBucket::Set::iterator it = m_materials.begin();it!=m_materials.end();++it)
{
vector<KX_IndexArray*> *indexcache = &GetArrayOptimizer((*it)->GetPolyMaterial())->m_IndexArrayCache1;
@@ -600,8 +601,6 @@ void RAS_MeshObject::SortPolygons(const MT_Transform &transform)
(*iit)->clear();
}
- //ClearArrayData();
-
std::multiset<polygonSlot, fronttoback>::iterator sit = solidpolyset.begin();
for (; sit != solidpolyset.end(); ++sit)
SchedulePoly((*sit).m_poly->GetVertexIndexBase(), (*sit).m_poly->VertexCount(), (*sit).m_poly->GetMaterial()->GetPolyMaterial());
@@ -659,7 +658,7 @@ void RAS_MeshObject::SchedulePolygons(const MT_Transform &transform, int drawing
m_bModified = false;
}
- if (m_zsort)
+ if (m_zsort && rasty->GetDrawingMode() >= RAS_IRasterizer::KX_SOLID)
{
SortPolygons(transform);
}