fixed many memory leaks
added working shadows, using basic shadow mapping
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user