This is going to be a bit of a depressing entry in terms of the number of problems that have appeared in this stage of the project but I'm hoping that someone/anyone who reads this blog may be able to help. Here's to hope :D

After discussion with my tutor, there will now be a basic set of 10 different alpha textures, each with a number of crack patterns, all contained in a CrackLibrary. Each mesh that needs to be cracked will have a texture. Once the impact point is obtained, the program will read the location on the crack pattern that the impact occured and will then load the CrackPattern that originates closest to the location of impact. This pattern will then be translated/scaled/rotates based upon the force and direction of impact, then a Mesh/Mesh intersect method will be used to crack the object and many new Meshes will be created/cleaned/optimized and animated.

That doesn't really pose a huge problem at the moment. The thing proving difficult is actually converting my CrackPattern3D into a Mesh and saving it to the .X file format.
The major problem is that the 2 previous projects' patterns all had boundaries or definitive volumes meaning that when it came to intersect with the target, clear boundaries already existed. With my implementation, I'm growing a Crack sequentially from the impact point guided by a texture. There is never any guarentee that boxes/volumes will be formed. I also have no idea where or when this branching will occur, nor when a crack will collide with another or come to a region it doesn't have enough force to breach.

It has also been noted that the .X file format wants my Mesh in the form of triangles, preferably with an IndexBuffer and it definitly requires adjacency information which I currently don't know how to create (and MDX only has a void method for generating adjacency information).

From my previous tests (see other entries) perhaps my main mistake has been to have a black background (which indicates impenetrable material i.e. steel) so that in general, cracks don't propagate properly and definitly not to the end of their life span (use up all their force). Adding a gray background has improved the situation yet I still have very little idea as to how to work out which vertices belong to which volume. I am also concerned that I'll have to be working with triangles, therefore every side of each volume will be a triangle fan with quite a few triangles in it. I somehow think that I'd be better off writing my own format that contains volumes and polygons with >3 edges.

If anyone has some advice for me or can see a way around my problems please contact me. Leave a note here and I'll get back to you.

Steve

Currently Listening To: Oceansize - Everyone In To Position
Currently Reading: C# 2.0 The Complete Reference, Schildt
Currently Watching: The Constant Gardener, an excellent film.
Currently Eating: BBQ pringles :D
Amount of pain this problem is causing me: a lot