I've managed to get a T-Junction removal going based on Tim's algorithm above. Performance is acceptable (even in it's current stupid unsorted duplicate work doing etc etc state). But only while using parts like the minifig heads. I'll probably make this ether an 'HQ option' or limit it's use (hard coded) to parts that really benefit from it.
This is what I currently got:
I'm using the colors to indicate splits (gray single split, bl/gr multiple splits). Also my current implementation does not allow for inserting new triangles into current triangle sets (have to redo most of the vertex buffer preps for that to work nicely, but was planning to do that anyway) so I couldn't use the real colors in this test.
The function is very optimistic I've put in a 1x1 plate to demonstrate why
@Ben: I've put in 3626bpa2.dat to give you an indicator to decide the t-junction stuff is worth it.
There are still some artifacts, but I think those are from parts being non bfc, have to check that to be sure.
This is what I currently got:
I'm using the colors to indicate splits (gray single split, bl/gr multiple splits). Also my current implementation does not allow for inserting new triangles into current triangle sets (have to redo most of the vertex buffer preps for that to work nicely, but was planning to do that anyway) so I couldn't use the real colors in this test.
The function is very optimistic I've put in a 1x1 plate to demonstrate why
@Ben: I've put in 3626bpa2.dat to give you an indicator to decide the t-junction stuff is worth it.
There are still some artifacts, but I think those are from parts being non bfc, have to check that to be sure.