long MeasureOccluderOcclusion(SilhouetteOcclusionValidator sov, VoxelizationInput input, List <AABBi> occluderBounds) { Mesh mesh = BuildMeshFromBoxes(input, occluderBounds); RenderableMesh renderable = new RenderableMesh(mesh, true); long sideCoverage, topCoverage; sov.ComputeCoverage(renderable, input.Octree.MeshBounds, out sideCoverage, out topCoverage); renderable.Dispose(); return(sideCoverage + topCoverage); }
public void Dispose() { GC.SuppressFinalize(this); if (OriginalMesh != null) { OriginalMesh.Dispose(); OriginalMesh = null; } if (OccluderMesh != null) { OccluderMesh.Dispose(); OccluderMesh = null; } }