Every body type only needs to be parsed a single time. After that we can cache the buffer positions for each bone, and map out the vertexes. So that every read will just be exact vertex positions, mapped to world positions. Pretty lightweight. The heavy part will be updating the cache though considering there's no real way around a straight full N read over every vertex.
In other words: Mesh accurate collision detection
Cons:
- The initial non-cached read. On a modern CPU, it'd be under 1ms. On a janky BabyImpala CPU? No clue.
- U gotta write code.
- Might be tedious deciding what geometry is what. What if they have SMP physics hulls? Then you'd have to read shader flags. ect. Lots of trial and error in the implementation in other words, not so fun.
Pros:
- Mesh accurate collision system that can be used anywhere else.
Every body type only needs to be parsed a single time. After that we can cache the buffer positions for each bone, and map out the vertexes. So that every read will just be exact vertex positions, mapped to world positions. Pretty lightweight. The heavy part will be updating the cache though considering there's no real way around a straight full N read over every vertex.
In other words: Mesh accurate collision detection
Cons:
Pros: