Well, I finally decided to shelve the lost device handling since it’s mostly working except for the couple of crazy little things left over which are utterly baffling. D3D’s return codes say everything is peachy, it’s debug runtime on full diagnostic mode continues to make reassuring cooing noises, yet deep in it’s innards it’s choosing to completely ignore some render state changes (namely those that implement transparency) after the device restore, no doubt whilst cackling wildly to itself (and perhaps rocking backwards and forwards and drooling a little). I for one would rather chew through my monitors power cord than waste another day trying to figure out what in hell it’s doing - consider this issue ‘parked’ for now. I’ve posted in the DirectX newsgroup, lets see if anyone else has a clue.
I’ve moved onto implementing the StaticGeometry class, a helper class designed to batch up rendering for people who either don’t want to use proper world geometry with a custom scene manager, or want to render lots of little things in large batches (e.g. grass). I already had the idea planned out a little while ago, now it’s time to make good on that interface.