Firstly, woohoo! Linked to by the ZBuffer which is very good news indeed. Slightly :-/, ZMan wasn't sure what I was doing with this. So, a full explaination.

This is my third year dissertation project. I'm a student at the University of Sheffield studying computer science. The working title for this project is "A Cracking Algorithm for Destructible 3D Objects".

What I aim to do is damage/fracture/crack/split/shatter 3D objects realistically in real-time. Why is this important? Well, did anyone else feel let down by hitting a plank of wood at its end in Half-Life 2 only to see if break in the middle? Did you put a grenade next to it and all that happened was the plank split in two?

The way I'm going about it is to create library of crack patterns based upon the amount of force applied to an object and a strength texture (an alpha texture). The crack pattern is then applied to the object at runtime (the right size of crack is selected dependent upon the object and force). The crack pattern is then used as a guide for the mesh to be split and re-formed with the shards then animated away in the opposite direction to the direction of the force.

Sound complex? Too right.

I'm writing this program in C# and Managed DX9 because C# is a brilliant language and Managed DX9 is fantastic too. It means I can just write algorithms quickly without worrying about any memory leaks, pointers or any of that rubbish that comes with C++. DX9 is so much better than OpenGL (which my course is teaching me) as it's an actual API, not just a list of commands. Visual Studio 2005 is an infinitly better editor than say Eclipse. VS tells me exactly where I've gone wrong and often corrects it for me! Eclipse's debugger gives unclear error messages and knows very little about 3D development.

Right now, I'm writing up my literature report. Most of my research comes from these two past papers by Dan Fox (2003)and Adam Miller (2004).
My next stage of experimenting involves getting my crack pattern in to 3D from 2D. After that I'm going to get a simple crack successfully working, then make it work with an actual crack pattern. Implementation of the alpha texture will probably have to wait till next term.

If anyone has any comments or suggestions I'm all ears, just leave them at the bottom.

:wave:
Steve

Currently Listening To: Feeder - Shatter
Currently Watching: The Spongebob Squarepants Movie
Currently Reading: My Own Work!!
Currently Drinking: Tea from my Gromit Mug
Days Till 1st handin: 14!!