Hi, we have integrated convex hull generation into our build pipeline. Off the couple of hundreds objects we have, two bounced back with a program crash in the convex hull generator. I stored the geometry in an hkGeometry and applied a weld to it, then stuffed it into the convex hull generator. Here is the code I used to save the file
{
hkGeometry geo; // Filled with my data
hkOArchive os("broken.dat");
os.write32( geo.m_vertices.getSize() );
for ( hkInt32 i=0; i< geo.m_vertices.getSize(); ++i )
{
os.writeFloat32( geo.m_vertices[i](0) );
os.writeFloat32( geo.m_vertices[i](1) );
os.writeFloat32( geo.m_vertices[i](2) );
os.writeFloat32( geo.m_vertices[i](3) );
}
os.write32( geo.m_triangles.getSize() );
for ( hkInt32 i=0; i< geo.m_triangles.getSize(); ++i )
{
os.write32( geo.m_triangles[i].m_a );
os.write32( geo.m_triangles[i].m_b );
os.write32( geo.m_triangles[i].m_c );
}
}
and this is my call to the hull generator:
hkStridedVertices sVerts; sVerts.m_vertices = (const hkReal*) geo.m_vertices.begin(); sVerts.m_striding = sizeof( hkVector4 ); sVerts.m_numVertices = geo.m_vertices.getSize(); hkGeometryUtility::createConvexGeometry( sVerts, geoConv);
I can't debug this since it crashes deep down in the havok, around buildIndices or something. I attached the file to a second, private post.


