Indexed meshes
Hi, I've discovered your very nice qdcsg library, it is awesome but it lacks a few stuff that your new wonderful csg lib is doing (tweakable tessellation for instance). The main issue that avoids me using csg is that vertices are not indexed, it makes it tougher to use (our mesh structure behaves quite bad when vertices are not indexed). Any reason for this choice?
Thanks a lot
Loic
Thanks, yes this lib is much more robust than qdcsg and more importantly produces minimal tesellations and produces correct results for coplanar intersections.
There was no particular reason to not support indexed meshes aside from avoiding the extra overhead of managing the submeshes and their indexes generated by the intersecting triangles. Since the final mesh produced is independent of the input meshes, it would inevitably require it's own indexes so there might be limited benefit in supporting it directly during operation, rather do it as a post operation.
When you say indexed, is this primarily to have a closed manifold with shared vertices? If so then yes this would ultimately need to be another stage to share the vertices. I can supply code that does this if you like?
If you think it might be of benefit I can look to include it although I wanted to concentrate on the actual CSG rather than support many mesh house keeping tools. Generating shared/indexed vertices from the CSG containers does sound beneficial.
Regards.
That would be perfect if you can supply code to post-process vertices, I would not like you to implement it especially for me though. Regarding tooling vs CSG features, IMO, there are pros and cons: I agree that it's good to focus on core features (you really rules at it BTW :) but, on the other hand, since this library is aimed to be used by different codebases, I also think it's important to provide enough tooling to allow efficient /easy reuse. Choosing the right toolset is the challenge, it may require much more input than a single guy asking for a function because of his own needs... I'd so perfectly understand that you won't include such stuff!
cheers