Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-03-13Pass proper bmain to the updateDepgraph() of modifiersSergey Sharybin
This is mainly to make physics modifiers being able to work with it. For other cases this main is not needed.
2014-11-29Cleanup: unused headersCampbell Barton
2014-02-13Rework carve integration into boolean modifierSergey Sharybin
Goal of this commit is to support NGons for boolean modifier (currently mesh is being tessellated before performing boolean operation) and also solve the limitation of loosing edge custom data layers after boolean operation is performed. Main idea is to make it so boolean modifier uses Carve library directly via it's C-API, avoiding BSP intermediate level which was doubling amount of memory needed for the operation and which also used quite reasonable amount of overhead time. Perhaps memory usage and CPU usage are the same after all the features are implemented but we've got support now: - ORIGINDEX for all the geometry - Interpolation of edge custom data (seams, crease) - NGons support Triangulation rule is changed now as well, so now non-flat polygons are not being merged back after Carve work. This is so because it's not so trivial to support for NGons and having different behavior for quads and NGons is even more creepy. Reviewers: lukastoenne, campbellbarton Differential Revision: https://developer.blender.org/D274
2013-12-26Threaded object update and EvaluationContextSergey Sharybin
Summary: Made objects update happening from multiple threads. It is a task-based scheduling system which uses current dependency graph for spawning new tasks. This means threading happens on object level, but the system is flexible enough for higher granularity. Technical details: - Uses task scheduler which was recently committed to trunk (that one which Brecht ported from Cycles). - Added two utility functions to dependency graph: * DAG_threaded_update_begin, which is called to initialize threaded objects update. It will also schedule root DAG node to the queue, hence starting evaluation process. Initialization will calculate how much parents are to be evaluation before current DAG node can be scheduled. This value is used by task threads for faster detecting which nodes might be scheduled. * DAG_threaded_update_handle_node_updated which is called from task thread function when node was fully handled. This function decreases num_pending_parents of node children and schedules children with zero valency. As it might have become clear, task thread receives DAG nodes and decides which callback to call for it. Currently only BKE_object_handle_update is called for object nodes. In the future it'll call node->callback() from Ali's new DAG. - This required adding some workarounds to the render pipeline. Mainly to stop using get_object_dm() from modifiers' apply callback. Such a call was only a workaround for dependency graph glitch when rendering scene with, say, boolean modifiers before displaying this scene. Such change moves workaround from one place to another, so overall hackentropy remains the same. - Added paradigm of EvaluaitonContext. Currently it's more like just a more reliable replacement for G.is_rendering which fails in some circumstances. Future idea of this context is to also store all the local data needed for objects evaluation such as local time, Copy-on-Write data and so. There're two types of EvaluationContext: * Context used for viewport updated and owned by Main. In the future this context might be easily moved to Window or Screen to allo per-window/per-screen local time. * Context used by render engines to evaluate objects for render purposes. Render engine is an owner of this context. This context is passed to all object update routines. Reviewers: brecht, campbellbarton Reviewed By: brecht CC: lukastoenne Differential Revision: https://developer.blender.org/D94
2013-12-21Mesh Modifiers: refactor copying using a generic functionCampbell Barton
2013-06-02use booleans for modifiers and api callbacks.Campbell Barton
2013-05-12Fix #35317: crash with boolean modifier using an object whose library linkedBrecht Van Lommel
mesh datablock went missing.
2013-01-23make bullet optional againCampbell Barton
2013-01-23workaround [#32866] Crash by cyclic use of Boolean ModifierCampbell Barton
officially - modifiers shouldn't calc other objects derived mesh, but in some cases its needed at the moment for certain scenes, so just disallow booleans depending on booleans.
2012-10-27A few more BMesh errors messages translated, and "automated" translation for ↵Bastien Montagne
modifers too!
2012-10-24style cleanup: modifier structsCampbell Barton
2012-08-23style cleanup: indentation, also quiet double promotion warnings for ↵Campbell Barton
despeckle node.
2012-07-28fix own error in recent commit - possible uninitialized value.Campbell Barton
2012-07-26fix some types and incorrect infoCampbell Barton
2012-07-26workaround for depsgraph update issue with booleans.Campbell Barton
2012-05-09Refactor of modifiers' apply function: now use a single bit-flag parameter ↵Bastien Montagne
to pass options, instead of having one parameter per boolean flag (i.e. replaces current useRenderParams and isFinalCalc by a single ModifierApplyFlag flag. ModifierApplyFlag is an enum defined in BKE_modifier.h). This way we won't anymore have to edit all modifier files when e.g. adding a new control flag! Should have no effect over modifier behavior.
2012-05-06style cleanup: modifiersCampbell Barton
2012-04-28style cleanup: changes to brace placement / newlines - for/while/if/switchCampbell Barton
2012-03-24style cleanup: follow style guide for formatting of if/for/while loops, and ↵Campbell Barton
else if's
2012-03-20Fix format string warnings (gcc) by using string literals.Nicholas Bishop
gcc 4.6 was giving warnings like this: "warning: format not a string literal and no format arguments [-Wformat-security]"
2012-03-18spelling cleanupCampbell Barton
2012-03-17Minor UI messages fixes, and enabling i18n for all modifier_setError() error ↵Bastien Montagne
messages.
2012-03-09style cleanup: comment blocksCampbell Barton
2012-02-01svn merge ^/trunk/blender -r43751:43819, need to look into changes made to ↵Campbell Barton
editmesh_loop.c from this range still
2012-01-30Fix #29976: Carve Boolenas crasher with SolidifySergey Sharybin
Issue was caused by union policy needed to deal with cases when operand intersects two or more intersecting meshes of another operand. Changed this policy to run union operation only if there's actual intersection between two meshes of the same object. Should work in general but it's still possible to make it behave incorrect -- for example object consist of two groups if concentric cubes which intersects each other.
2012-01-30remove CDDM_copy second argument, added CDDM_copy_from_tessface instead.Campbell Barton
this function caused too many conflicts and in most cases was zero anyway.
2012-01-17svn merge ^/trunk/blender -r43420:43436Campbell Barton
2012-01-16Carve booleans library integrationSergey Sharybin
================================== 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 Special thanks to: - Ken Hughes: author of original carve integration patch. - Campbell Barton: help in project development, review tests. - Tobias Sargeant: author of Carve library, help in resolving some merge stoppers, bug fixing.
2012-01-05added a function to ensure derived mesh has tessface's, in preparation for ↵Campbell Barton
removal of tessface recalculation after each modifier runs.
2011-11-29More DM func renames, this one includes renames of the function pointer ↵Andrew Wiggin
members of the DerivedMesh struct
2011-11-15svn merge -r41751:41779 ^/trunk/blenderCampbell Barton
2011-11-11correct indentation and some whitespace edits (no functional changes)Campbell Barton
2011-10-24svn merge ^/trunk/blender -r41226:41227 .Campbell Barton
2011-10-23remove $Id: tags after discussion on the mailign list: ↵Campbell Barton
http://markmail.org/message/fp7ozcywxum3ar7n
2011-08-16svn merge -r39286:39385 https://svn.blender.org/svnroot/bf-blender/trunk/blenderCampbell Barton
2011-08-12Modifiers: add callback to loop over each texture assigned to a modifier.Brecht Van Lommel
2011-05-31svn merge -r37030:37035 https://svn.blender.org/svnroot/bf-blender/trunk/blenderCampbell Barton
2011-05-29Fix #27392: boolean intersect'sSergey Sharybin
It was lag of optimization logic, which always retuns object's derivedMesh if one of of boolean operation's meshes has got no faces. Actually, result depends on operation and which mesh has got no faces. Added small utility function to handle this.
2011-03-05use NULL rather then 0 for pointer assignments & comparison, modifier, imbuf ↵Campbell Barton
& editors.
2011-02-25doxygendoxygen: blender/modifiers tagged.Nathan Letwory
2011-02-13many functions in blender are not marked static but should be.Campbell Barton
most local modifier,GPU,ImBuf and Interface functions are now static. also fixed an error were the fluid modifier definition and the header didnt have the same number of args.
2011-01-31Todo issue: sculpting on deformed meshSergey Sharybin
Used a crazyspace approach (like in edit mode), but only modifiers with deformMatricies are allowed atm (currently shapekeys and armature modifiers only). All the rest modifiers had an warning message that they aren't applied because of sculpt mode. Deformation of multires is also unsupported. With all this restictions users will always see the actual "layer" (or maybe mesh state would be more correct word) they are sculpting on. Internal changes: - All modifiers could have deformMatricies callback (the same as deformMatriciesEM but for non-edit mode usage) - Added function to build crazyspace for sculpting (sculpt_get_deform_matrices), but it could be generalized for usage in other painting modes (particle edit mode, i.e) Todo: - Implement crazyspace correction to support all kinds of deformation modifiers - Maybe deformation of multires isn't so difficult? - And maybe we could avoid extra bad-level-stub for ED_sculpt_modifiers_changed without code duplicating?
2011-01-07remove references to BKE_utildefines where its not needed.Campbell Barton
- move GS() define into DNA_ID.h - add BLI_utildefines as an automatic include with makesrna generated files.
2011-01-07split BKE_utildefines.h, now it only has blender specific defines like GS() ↵Campbell Barton
MAKE_ID, FILE_MAXDIR, moved the generic defines to BLI_utildefines.h. no functional changes.
2010-10-23CMake options to disable Decimate and Boolean Modifiers: WITH_MOD_BOOLEAN, ↵Campbell Barton
WITH_MOD_DECIMATE, renamed WITH_FLUID to WITH_MOD_FLUID
2010-10-21use custom data mask defines, no functional changes.Campbell Barton
2010-10-14add UNUSED() to modifiers, also removed some unused args.Campbell Barton
2010-09-30[#23673] Modifier construction gives correct result in viewport but ↵Campbell Barton
incorrect in render. When there are 2+ consecutive deform modifiers, the second modifier was getting incorrect normals, this only showed up for the displace modifier since its the only deform modifier that uses vertex normals. It would have been easy to fix this by always calculating normals on deform modifiers, but slow. To fix this I added a function to check if a deform modifier needs normals, so the normal calculation function only runs if there are 2 modifiers in a row and the second uses normals.
2010-08-04include cleanup, no functional changesCampbell Barton
- removed DNA_brush_types.h from DNA_scene_types.h (and some other similar cases) - removed DNA_wave_types.h (never used) - removed Main.wave
2010-06-07Reverting commit 21540, incorrect bugfix.Nicholas Bishop