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-05-04 13:34:02 +0400
committerKester Maddock <Christopher.Maddock.1@uni.massey.ac.nz>2004-05-04 13:34:02 +0400
commitf03fa79d28a112c39fcbab5d71b952333dc66fac (patch)
tree349af2572f240d3b78312cf7f28d0d949e10f8a5 /source/gameengine/Rasterizer/RAS_MeshObject.cpp
parent79f3e880217215d5af09a9083f868ce7b80baaa5 (diff)
Fix for bug #945 getVertexArrayLength(x) returns different values on different runs of the game engine.
http://projects.blender.org/tracker/index.php?func=detail&aid=945&group_id=9&atid=125 The material buckets were being sorted by pointer (ie their location in memory.) Also fixed find shared verticies.
Diffstat (limited to 'source/gameengine/Rasterizer/RAS_MeshObject.cpp')
-rw-r--r--source/gameengine/Rasterizer/RAS_MeshObject.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/source/gameengine/Rasterizer/RAS_MeshObject.cpp b/source/gameengine/Rasterizer/RAS_MeshObject.cpp
index 79ec632ce73..4f5833df50b 100644
--- a/source/gameengine/Rasterizer/RAS_MeshObject.cpp
+++ b/source/gameengine/Rasterizer/RAS_MeshObject.cpp
@@ -108,7 +108,7 @@ RAS_MaterialBucket* RAS_MeshObject::GetMaterialBucket(unsigned int matid)
{
if (m_materials.size() > 0 && (matid < m_materials.size()))
{
- BucketMaterialSet::const_iterator it = m_materials.begin();
+ RAS_MaterialBucket::Set::const_iterator it = m_materials.begin();
while (matid--) ++it;
return *it;
}
@@ -270,7 +270,7 @@ int RAS_MeshObject::FindOrAddVertex(int vtxarray,
{
if ((*it).m_arrayindex1 == ao->m_index1 &&
((*it).m_array == vtxarray) &&
- (RAS_IPolyMaterial*) (*it).m_matid == mat
+ (*(RAS_IPolyMaterial*) (*it).m_matid) == *mat
)
{
return (*it).m_index;
@@ -396,7 +396,7 @@ void RAS_MeshObject::Bucketize(double* oglmatrix,
ms.m_bObjectColor = useObjectColor;
ms.m_RGBAcolor = rgbavec;
- for (BucketMaterialSet::iterator it = m_materials.begin();it!=m_materials.end();++it)
+ for (RAS_MaterialBucket::Set::iterator it = m_materials.begin();it!=m_materials.end();++it)
{
RAS_MaterialBucket* bucket = *it;
bucket->SchedulePolygons(0);
@@ -421,7 +421,7 @@ void RAS_MeshObject::MarkVisible(double* oglmatrix,
ms.m_RGBAcolor = rgbavec;
ms.m_bObjectColor= useObjectColor;
- for (BucketMaterialSet::iterator it = m_materials.begin();it!=m_materials.end();++it)
+ for (RAS_MaterialBucket::Set::iterator it = m_materials.begin();it!=m_materials.end();++it)
{
RAS_MaterialBucket* bucket = *it;
bucket->SchedulePolygons(0);
@@ -440,7 +440,7 @@ void RAS_MeshObject::RemoveFromBuckets(double* oglmatrix,
ms.m_mesh = this;
ms.m_OpenGLMatrix = oglmatrix;
- for (BucketMaterialSet::iterator it = m_materials.begin();it!=m_materials.end();++it)
+ for (RAS_MaterialBucket::Set::iterator it = m_materials.begin();it!=m_materials.end();++it)
{
RAS_MaterialBucket* bucket = *it;
// RAS_IPolyMaterial* polymat = bucket->GetPolyMaterial();
@@ -562,7 +562,7 @@ void RAS_MeshObject::SchedulePolygons(int drawingmode,RAS_IRasterizer* rasty)
if (m_bModified)
{
- for (BucketMaterialSet::iterator it = m_materials.begin();it!=m_materials.end();++it)
+ for (RAS_MaterialBucket::Set::iterator it = m_materials.begin();it!=m_materials.end();++it)
{
RAS_MaterialBucket* bucket = *it;