fixed many memory leaks

added working shadows, using basic shadow mapping
This commit is contained in:
erwin coumans
2013-06-30 23:19:14 -07:00
parent f2cc840c31
commit 6d6ef5d3dc
28 changed files with 581 additions and 226 deletions

View File

@@ -193,13 +193,20 @@ b3GpuBatchingPgsSolver::b3GpuBatchingPgsSolver(cl_context ctx,cl_device_id devic
b3GpuBatchingPgsSolver::~b3GpuBatchingPgsSolver()
{
delete m_data->m_bodyBufferGPU;
delete m_data->m_inertiaBufferGPU;
delete m_data->m_pBufContactOutGPU;
delete m_data->m_contactCGPU;
delete m_data->m_numConstraints;
delete m_data->m_offsets;
delete m_data->m_sortDataBuffer;
delete m_data->m_contactBuffer;
delete m_data->m_sort32;
delete m_data->m_scan;
delete m_data->m_search;
delete m_data->m_solverGPU;
clReleaseKernel(m_data->m_batchingKernel);
clReleaseKernel(m_data->m_batchingKernelNew);

View File

@@ -135,6 +135,16 @@ b3GpuNarrowPhase::~b3GpuNarrowPhase()
delete m_data->m_bvhInfoGPU;
for (int i=0;i<m_data->m_bvhData.size();i++)
{
delete m_data->m_bvhData[i];
}
for (int i=0;i<m_data->m_meshInterfaces.size();i++)
{
delete m_data->m_meshInterfaces[i];
}
m_data->m_meshInterfaces.clear();
m_data->m_bvhData.clear();
delete m_data->m_treeNodesGPU;
delete m_data->m_subTreesGPU;
@@ -334,6 +344,7 @@ int b3GpuNarrowPhase::registerConvexHullShape(const float* vertices, int stride
}
int collidableIndex = registerConvexHullShape(utilPtr);
delete utilPtr;
return collidableIndex;
}
@@ -505,6 +516,7 @@ int b3GpuNarrowPhase::registerConcaveMesh(b3AlignedObjectArray<b3Vector3>* vert
bool useQuantizedAabbCompression = true;
b3TriangleIndexVertexArray* meshInterface=new b3TriangleIndexVertexArray();
m_data->m_meshInterfaces.push_back(meshInterface);
b3IndexedMesh mesh;
mesh.m_numTriangles = indices->size()/3;
mesh.m_numVertices = vertices->size();

View File

@@ -75,6 +75,7 @@ struct b3GpuNarrowPhaseInternalData
b3AlignedObjectArray<b3SapAabb>* m_localShapeAABBCPU;
b3AlignedObjectArray<class b3OptimizedBvh*> m_bvhData;
b3AlignedObjectArray<class b3TriangleIndexVertexArray*> m_meshInterfaces;
b3AlignedObjectArray<b3QuantizedBvhNode> m_treeNodesCPU;
b3AlignedObjectArray<b3BvhSubtreeInfo> m_subTreesCPU;

View File

@@ -176,6 +176,8 @@ b3Solver::b3Solver(cl_context ctx, cl_device_id device, cl_command_queue queue,
b3Solver::~b3Solver()
{
delete m_offsets;
delete m_numConstraints;
delete m_sortDataBuffer;
delete m_contactBuffer2;