Rewrite and possible removal of pipeline?

Nov 28, 2010 at 2:49 AM

I'm doing a bit of a rewrite to parts of the library. Mainly, I'll be implementing either GJK+EPA or Xenocollide(MPR) collision detection which will allow me to provide a whole new set of shapes, like cylinders, cones, rounded boxes, etc. I believe it may also improve performance in some scenarios and decrease the amount of tedious maintenance/debugging work compared to the existing SAT tests. As it stands now, adding even a single new primitive is too cumbersome and error-prone.

As part of the rewrite, I was thinking about removing the pipeline. I'm not convinced that a physics library should be getting into the pipeline at all; rather, I'm thinking that the focus should be on exposing pre-processing routines that game designers can call from their existing pipeline, or use at runtime if they wish. This is already largely possible, but I'd like to stop maintaining the pipeline part altogether. It provides little value to devs who have their own pipeline processing for models, the attributes don't work with .x files, and I'm allergic to modeling software so it's tough to test it adequately.

Perhaps a sample pipeline could be provided, but it would be very simple and mostly just call into the library.

I'd like to move towards supporting SlimDX (but not to the exclusion of XNA) and the pipeline is a bit of a ball-and-chain right now. The rest would just be replacing math classes which is easy.


Dec 15, 2010 at 4:15 PM

I think that's a fine idea. The pipeline does seem a bit extraneous and unnecessary.  Just make sure to keep all features XNA happy and I'll be happy :)