Browse Source

Added warning message when triangle mesh or convex hull generation fails due to missing CPU-side (shadowed) geometry data.

Lasse Öörni 13 years ago
parent
commit
ee9809fade
2 changed files with 13 additions and 1 deletions
  1. 1 1
      Engine/Graphics/DecalSet.cpp
  2. 12 0
      Engine/Physics/CollisionShape.cpp

+ 1 - 1
Engine/Graphics/DecalSet.cpp

@@ -746,7 +746,7 @@ void DecalSet::GetFaces(Vector<PODVector<DecalVertex> >& faces, Drawable* target
         geometry->GetRawData(positionData, positionStride, indexData, indexStride, elementMask);
         if (!positionData || !indexData)
         {
-            LOGWARNING("Can not add decal, object does not have CPU-side geometry data");
+            LOGWARNING("Can not add decal, target drawable has no CPU-side geometry data");
             return;
         }
     }

+ 12 - 0
Engine/Physics/CollisionShape.cpp

@@ -81,7 +81,10 @@ TriangleMeshData::TriangleMeshData(Model* model, unsigned lodLevel) :
         
         Geometry* geom = geometries[i][subGeometryLodLevel];
         if (!geom)
+        {
+            WriteToLog(model->GetContext(), LOG_WARNING, "Skipping null geometry for triangle mesh collision");
             continue;
+        }
         
         const unsigned char* vertexData;
         const unsigned char* indexData;
@@ -91,7 +94,10 @@ TriangleMeshData::TriangleMeshData(Model* model, unsigned lodLevel) :
         
         geom->GetRawData(vertexData, vertexSize, indexData, indexSize, elementMask);
         if (!vertexData || !indexData)
+        {
+            WriteToLog(model->GetContext(), LOG_WARNING, "Skipping geometry with no CPU-side geometry data for triangle mesh collision");
             continue;
+        }
         
         unsigned indexStart = geom->GetIndexStart();
         unsigned indexCount = geom->GetIndexCount();
@@ -151,7 +157,10 @@ ConvexData::ConvexData(Model* model, unsigned lodLevel)
         
         Geometry* geom = geometries[i][subGeometryLodLevel];
         if (!geom)
+        {
+            WriteToLog(model->GetContext(), LOG_WARNING, "Skipping null geometry for convex hull collision");
             continue;
+        };
         
         const unsigned char* vertexData;
         const unsigned char* indexData;
@@ -161,7 +170,10 @@ ConvexData::ConvexData(Model* model, unsigned lodLevel)
         
         geom->GetRawData(vertexData, vertexSize, indexData, indexSize, elementMask);
         if (!vertexData || !indexData)
+        {
+            WriteToLog(model->GetContext(), LOG_WARNING, "Skipping geometry with no CPU-side geometry data for convex hull collision");
             continue;
+        }
         
         unsigned vertexStart = geom->GetVertexStart();
         unsigned vertexCount = geom->GetVertexCount();