Keeping the old code around as a compile option for testing IMHO is good so we can easily test any regression reports for a while (1-4 months).
However booleans is the sort of feature where you want to have one good implementation, having a `good` and another `crappy-but-might-work-in-some-cases` option is weak IMHO. I'd want to see really good evidence that this is needed before having an 2 optional backends. IMHO its a weak solution unless there is some intent to maintain the older (currently unmaintained) booleans code, or someone can show examples where the older code consistently wins out. - Campbell On Tue, Jan 17, 2012 at 4:42 PM, Matt Ebb <[email protected]> wrote: > Sounds really good! > > One thing though - is the old code going to be kept around? If it is, it > would be good to make the choice of backend optional in the UI, and default > old files to the old backend. If someone's tweaked the old modifier to give > acceptable results, it could potentially cause an existing setup to freak > out when the new backend is used giving different output and topology. > > IMO better to 'deprecate' by making it optional for a while, than change > behaviour in all existing files with no recourse. > > cheers > > Matt > > > On Mon, Jan 16, 2012 at 4:46 PM, Sergey Sharybin <[email protected]>wrote: > >> Revision: 43428 >> >> http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=43428 >> Author: nazgul >> Date: 2012-01-16 16:46:00 +0000 (Mon, 16 Jan 2012) >> Log Message: >> ----------- >> Carve booleans library integration >> ================================== >> >> Merging Carve library integration project into the trunk. >> >> This commit switches Boolean modifier to another library which handles >> mesh boolean operations in much stable and faster way, resolving old >> well-known limitations of intern boolop library. >> >> Carve is integrating as alternative interface for boolop library and >> which makes it totally transparent for blender sources to switch between >> old-fashioned boolop and new Carve backends. >> >> Detailed changes in this commit: >> >> - Integrated needed subset of Carve library sources into extern/ >> Added script for re-bundling it (currently works only if repo >> was cloned by git-svn). >> - Added BOP_CarveInterface for boolop library which can be used by >> Boolean modifier. >> - Carve backend is enabled by default, can be disabled by WITH_BF_CARVE >> SCons option and WITH_CARVE CMake option. >> - If Boost library is found in build environment it'll be used for >> unordered collections. If Boost isn't found, it'll fallback to TR1 >> implementation for GCC compilers. Boost is obligatory if MSVC is used. >> >> Tested on Linux 64bit and Windows 7 64bit. >> >> NOTE: behavior of flat objects was changed. E.g. Plane-Sphere now gives >> plane with circle hole, not plane with semisphere. Don't think >> it's really issue because it's not actually defined behavior in >> such situations and both of ways might be useful. Since it's >> only known "regression" think it's OK to deal with it. >> >> Details are there >> http://wiki.blender.org/index.php/User:Nazg-gul/CarveBooleans >> >> > _______________________________________________ > Bf-committers mailing list > [email protected] > http://lists.blender.org/mailman/listinfo/bf-committers -- - Campbell _______________________________________________ Bf-committers mailing list [email protected] http://lists.blender.org/mailman/listinfo/bf-committers
