Finally I’ve made quite a breakthrough in semiautomatic retopology. What initially started as a prototype tool is evolving into a quite powerful new way to retopologize models in 3DCoat. Giving artists the freedom to experiment in an intuitive way by just drawing patches, arbitrary patches that will be optimally filled with quads.
Artist is not limited to certain number of edges , flatness or any other constraint. Just draw. I’ve also added the possibility to save and load the strokes along with the model.
The core is done, remaining now is the usability and the workflow of the tool, adding a realtime preview among other details. I’m investigating several variants and further optimizations.
I suspect this core quadrangulator algorithm will span many interesting new tools.But wait, I’m saving the real breakthrough for later 😉
PS: Could you suggest me a good (fast, high quality) screen capture program? I’ve tried CamStudio but cannot get +30fps recording at 1080p 😦 preferably one that is HW accelerated. (using an NVIDIA GT 560M )
Finally iron out the remaining issues and is done! QuadFill is a tool aimed for quadrangulating an arbitrary 3D contours, for testing purposes I used holes boundaries which I can easily create and shape in arbitrary forms so i can quickly test and debug the tool. But it will be used in places other than filling holes for which we ave an extensive set of algorithms. So will be more suited for retopo, autopo, and the like. The good thing is that is quite robust and flexible, given any vertex contours it will be quad dominant and produce at most, 1 triangle and the rest will be quads. Of course , that remaining triangle can be easily avoided if in a preprocess step the contour is made of even number of vertices, without loosing generality.
In previous iterations of this tool I have not addressed the complex contour case, like T-shapes, X-shapes, C, L and the like, non convex forms, causing it to fail at those:
Now I have solved the general contour partition, avoiding uneven splitting, interpolating and recursive filling of each convex area. Eventually merging and smoothing/beautifying the output mesh. Underlying steps are optimal or quasi optimal for initial contour constraints considering edge vertex are unmovable.