Browse Source

Fixing mesh rendering broken with earlier morph vertex declaration changes

BearishSun 9 years ago
parent
commit
5878b25e90

+ 8 - 4
Source/BansheeEditor/Source/BsSelectionRenderer.cpp

@@ -186,11 +186,15 @@ namespace BansheeEngine
 			gRendererUtility().setPassParams(mParams[techniqueIdx], 0);
 
 			UINT32 numSubmeshes = mesh->getProperties().getNumSubMeshes();
-			UINT32 renderableId = renderable->getRendererId();
 
-			for(UINT32 i = 0; i < numSubmeshes; i++)
-				gRendererUtility().drawMorph(mesh, mesh->getProperties().getSubMesh(i), morphShapeBuffer, 
-					morphVertexDeclaration);
+			for (UINT32 i = 0; i < numSubmeshes; i++)
+			{
+				if (morphVertexDeclaration == nullptr)
+					gRendererUtility().draw(mesh, mesh->getProperties().getSubMesh(i));
+				else
+					gRendererUtility().drawMorph(mesh, mesh->getProperties().getSubMesh(i), morphShapeBuffer,
+						morphVertexDeclaration);
+			}
 		}
 	}
 }

+ 5 - 1
Source/RenderBeast/Source/BsRenderBeast.cpp

@@ -836,7 +836,11 @@ namespace BansheeEngine
 		else
 			setPassParams(element.params, nullptr, passIdx);
 
-		gRendererUtility().drawMorph(element.mesh, element.subMesh, element.morphShapeBuffer, element.morphVertexDeclaration);
+		if(element.morphVertexDeclaration == nullptr)
+			gRendererUtility().draw(element.mesh, element.subMesh);
+		else
+			gRendererUtility().drawMorph(element.mesh, element.subMesh, element.morphShapeBuffer, 
+				element.morphVertexDeclaration);
 	}
 
 	void RenderBeast::refreshSamplerOverrides(bool force)