diff options
author | Kester Maddock <Christopher.Maddock.1@uni.massey.ac.nz> | 2004-05-04 13:34:02 +0400 |
---|---|---|
committer | Kester Maddock <Christopher.Maddock.1@uni.massey.ac.nz> | 2004-05-04 13:34:02 +0400 |
commit | f03fa79d28a112c39fcbab5d71b952333dc66fac (patch) | |
tree | 349af2572f240d3b78312cf7f28d0d949e10f8a5 /source/gameengine/Rasterizer/RAS_IPolygonMaterial.h | |
parent | 79f3e880217215d5af09a9083f868ce7b80baaa5 (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_IPolygonMaterial.h')
-rw-r--r-- | source/gameengine/Rasterizer/RAS_IPolygonMaterial.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/source/gameengine/Rasterizer/RAS_IPolygonMaterial.h b/source/gameengine/Rasterizer/RAS_IPolygonMaterial.h index 01c3e80c055..7d10f23068b 100644 --- a/source/gameengine/Rasterizer/RAS_IPolygonMaterial.h +++ b/source/gameengine/Rasterizer/RAS_IPolygonMaterial.h @@ -43,6 +43,9 @@ class RAS_IRasterizer; +/** + * Material properties. + */ class RAS_IPolyMaterial { //todo: remove these variables from this interface/protocol class @@ -104,6 +107,7 @@ public: virtual void Activate(RAS_IRasterizer* rasty, TCachingInfo& cachingInfo) const {} bool Equals(const RAS_IPolyMaterial& lhs) const; + bool Less(const RAS_IPolyMaterial& rhs) const; int GetLightLayer(); bool IsTransparant(); bool UsesTriangles(); @@ -118,5 +122,10 @@ inline bool operator ==( const RAS_IPolyMaterial & rhs,const RAS_IPolyMaterial return ( rhs.Equals(lhs)); } +inline bool operator < ( const RAS_IPolyMaterial & lhs, const RAS_IPolyMaterial & rhs) +{ + return lhs.Less(rhs); +} + #endif //__RAS_IPOLYGONMATERIAL |