Sign in to follow this  


Recommended Posts


I do surface extraction with marching tetrahedron algorithm. The algorithm works so far. To speed up, the volume has been partionized into octree like structure.
According to the set iso value I have more or less cells that are visible. I distribute those visible cells to my threads. I save the extracted triangles in
a struture and save this struct in a stl::vector. Each thread has it's own vector
so there is no need of sync. If the volume is large, then I get a CMemoryException at almost the end of the extraction process. The exception is raised when I call the push_back method. The same procedure works if I use a smaller volume. And with large volume it also works, If I don't use multiple threads. I don't understand why this happens. Each thread has it's own vector
to save the extracted triangles. I didn't run out of RAM. For large volume the
algorithm needs approx. 1GB of RAM.

any ideas ?


Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this