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
2017-08-07Refactor ID copying (and to some extent, ID freeing).Bastien Montagne
This will allow much finer controll over how we copy data-blocks, from full copy in Main database, to "lighter" ones (out of Main, inside an already allocated datablock, etc.). This commit also transfers a llot of what was previously handled by per-ID-type custom code to generic ID handling code in BKE_library. Hopefully will avoid in future inconsistencies and missing bits we had all over the codebase in the past. It also adds missing copying handling for a few types, most notably Scene (which where using a fully customized handling previously). Note that the type of allocation used during copying (regular in Main, allocated but outside of Main, or not allocated by ID handling code at all) is stored in ID's, which allows to handle them correctly when freeing. This needs to be taken care of with caution when doing 'weird' unusual things with ID copying and/or allocation! As a final note, while rather noisy, this commit will hopefully not break too much existing branches, old 'API' has been kept for the main part, as a wrapper around new code. Cleaning it up will happen later. Design task : T51804 Phab Diff: D2714
2017-01-31Cleanup: use 'cb_flag', not 'cd_flag' for library_query callbacks.Bastien Montagne
`cd_flag` tends to be used for CustomData flags in mesh area, while for library_query those are rather callback flags...
2017-01-24Fix typo in commentSergey Sharybin
2016-05-18Fix T47737: Lattice crashes w/ smooth modifierPhilipp Oeser
Add flag for modifiers that support lattice
2015-10-08Modifiers: add 'cd_flag' parameter to their ID looping callbacks, neededBastien Montagne
since some IDs (objects) are not 'refcounted' while others (textures) are... Partial merge from id-remap branch.
2015-10-05Cleanup: use proper `ObjectWalkFunc` typedef in modifiers' object callback func.Bastien Montagne
Also, fix own stupidity, no need to define ID callback in case we only have objects, calling code knows to fallback to `foreachObjectLink()` when `foreachIDLink()` is missing...
2015-07-20OpenSubdiv: Commit of OpenSubdiv integration into BlenderSergey Sharybin
This commit contains all the remained parts needed for initial integration of OpenSubdiv into Blender's subdivision surface code. Includes both GPU and CPU backends which works in the following way: - When SubSurf modifier is the last in the modifiers stack then GPU pipeline of OpenSubdiv is used, making viewport performance as fast as possible. This also requires graphscard with GLSL 1.5 support. If this requirement is not met, then no GPU pipeline is used at all. - If SubSurf is not a last modifier or if DerivesMesh is being evaluated for rendering then CPU limit evaluation API from OpenSubdiv is used. This only replaces the legacy evaluation code from CCGSubSurf_legacy, but keeps CCG structures exactly the same as they used to be for ages now. This integration is fully covered with ifdef and not enabled by default because there are several TODOs to be solved first: - Face varying data interpolation is not really cleanly implemented for GPU in OpenSubdiv 3.0. It is also not implemented for limit evaluation API. This basically means we'll have really hard time supporting UVs. - Limit evaluation only works with adaptivly subdivided meshes so far, which basically means all the points of CCG are pushed to the limit. This gives different result from old code. - There are some serious optimizations possible on the topology refiner creation, which would speed up initial OpenSubdiv mesh creation. - There are some hardcoded asumptions in the GPU and DerivedMesh areas which could be generalized. That's something where Antony and Campbell can help, making it so the code is structured in a way which is reusable by all planned viewport projects. - There are also some workarounds in the dependency graph to make sure OpenGL buffers are only freed from the main thread. Those who'll be wanting to make experiments with this code should grab dev branch (NOT master) from https://github.com/Nazg-Gul/OpenSubdiv/tree/dev There are some patches applied in there which we're working on on getting into upstream.
2015-05-12Depsgraph: New dependency graph integration commitSergey Sharybin
This commit integrates the work done so far on the new dependency graph system, where goal was to replace legacy depsgraph with the new one, supporting loads of neat features like: - More granular dependency relation nature, which solves issues with fake cycles in the dependencies. - Move towards all-animatable, by better integration of drivers into the system. - Lay down some basis for upcoming copy-on-write, overrides and so on. The new system is living side-by-side with the previous one and disabled by default, so nothing will become suddenly broken. The way to enable new depsgraph is to pass `--new-depsgraph` command line argument. It's a bit early to consider the system production-ready, there are some TODOs and issues were discovered during the merge period, they'll be addressed ASAP. But it's important to merge, because it's the only way to attract artists to really start testing this system. There are number of assorted documents related on the design of the new system: * http://wiki.blender.org/index.php/User:Aligorith/GSoC2013_Depsgraph#Design_Documents * http://wiki.blender.org/index.php/User:Nazg-gul/DependencyGraph There are also some user-related information online: * http://code.blender.org/2015/02/blender-dependency-graph-branch-for-users/ * http://code.blender.org/2015/03/more-dependency-graph-tricks/ Kudos to everyone who was involved into the project: - Joshua "Aligorith" Leung -- design specification, initial code - Lukas "lukas_t" Toenne -- integrating code into blender, with further fixes - Sergey "Sergey" "Sharybin" -- some mocking around, trying to wrap up the project and so - Bassam "slikdigit" Kurdali -- stressing the new system, reporting all the issues and recording/writing documentation. - Everyone else who i forgot to mention here :)
2015-03-30Cleanup: use const for typeinfoCampbell Barton
2015-03-28Cleanup: redundant struct declarationsCampbell Barton
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.
2015-02-13Make modifier_unique_name return whether modifier was renamed or notSergey Sharybin
2014-06-12Fix T40582: issues with apply scale when having multires and scene simplifySergey Sharybin
Reshape and applying scale matrix on multires needs to create DM with simplify setting disabled. Added a special flag to modifier apply for this now.
2014-03-16Code cleanup: modifier_skin_customdata_ensure was a bad level callCampbell Barton
2014-03-15Code cleanup: use r_ prefix for return argsCampbell Barton
2013-12-21Mesh Modifiers: refactor copying using a generic functionCampbell Barton
2013-12-13Interface / Modifiers: Don't show cage placeholder in modifier header, if ↵Thomas Dinges
the current modifier does not support it or the cage is disabled (like Subsurf 0). This way we save some space but still avoid the jumping around while changing settings in the header itself. Thanks to Brecht for help on this. :)
2013-11-01Fix [#37266] Skin modifier can't be copied.Bastien Montagne
Patch by Martin Felke, many thanks. When copying that modifier across objects, we also have to ensure that a skin CDLayer is present in dest objects (just as when adding it).
2013-09-24modifiers_isCorrectableDeformed now checks a modifier is enabled before ↵Campbell Barton
returning true, also check deformMatricesEM callback for modifier_isCorrectableDeformed() rather then checking modifier types.
2013-09-01Move GCC attributes into a centraized definesSergey Sharybin
Instead of having ifdef __GNUC__ all over the headers to use special compiler's hints use a special file where all things like this are concentrated. Makes code easier to follow and allows to manage special attributes in more efficient way. Thanks Campbell for review!
2013-08-19Made modifiers_getVirtualModifierList safe for threadingSergey Sharybin
Move static variables to context filling in by this fcuntion and owned by a callee function. This ensures no conflicts between threads happens because of static variables used in this function. Also moved modifier types and virtual modifiers data to a function called from creator. This is needed to be sure all the information is properly initialied to the time when threads starts to use this data. -- svn merge -r57899:57900 ^/branches/soc-2013-depsgraph_mt
2013-07-02remove nan copyrights from code added since blender become opensource (copy ↵Campbell Barton
paste errors), also remove BKE_script.h
2013-06-19move modifier callback wrappers into modifier.cCampbell Barton
2013-06-13fix for problem with creating weight-paint preview.Campbell Barton
In the case where the modifier stack didnt need deform-verts to calculate, they would not be available for the preview either. This fixes a bug caused by r57206 which set mirror to preview so the mirrored weights would be displayed, but it only worked when there was an armature after it, see [#35545].
2013-06-02use booleans for modifiers and api callbacks.Campbell Barton
2013-05-02Fix #35174: dynamic paint displacement missing in render.Brecht Van Lommel
A previous bugfix disabled the dynamic paint modifier for orco texture coordinate evaluation of the modifier stack. However the MOD_APPLY_USECACHE flag is not a good way to check if the modifier is evaluated for orcos. Instead I've added a MOD_APPLY_ORCO flag. Also removed a bunch of applyModifierEM callbacks, none of them served a purpose except for the subsurf modifier.
2013-04-29Fix [#35110]: Dynamic Paint does not paint accurately in baked "Image ↵Miika Hamalainen
Sequence" on Armature-Posed-Mesh Dynamic Paint was also being calculated during "orco" mesh generation, causing image sequence baking to use orco derived mesh instead. This likely affected vertex type surfaces too in some cases.
2012-12-15remove modifiers_indexInObject(), just call BLI_findindex directly.Campbell Barton
2012-11-13disable applying constructive modifiers when in sculpt mode with multi-res ↵Campbell Barton
data, since this would crash. also rename modifier_sameTopology -> modifier_isSameTopology(), modifier_nonGeometrical -> modifier_isNonGeometrical()
2012-10-15Parenting an object to a deformer (armature/curve/lattice) will now attempt toJoshua Leung
check if the object is already parented to said deformer before trying to add a new modifier This should help reduce the number of cases where users inadvertantly end up creating multiple deform modifiers pointing to the same object, which has been known to be a cause of "double-transform" artifacts. Note that this is only able to detect these cases by checking if the parent object is selected, so this will only really work for the Ctrl-P shortcut where you have to select both objects first. However, it shouldn't be a problem either in the Outliner (drag and drop), as the object probably won't be a child of its parent already if you're doing this.
2012-07-04Bugfix Smoke / DynamicPaint: Missing update call from depsgraph was missing ↵Daniel Genrich
when force fields were used.
2012-05-13code cleanup: header cleanup and remove some duplicate defines.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-03-26Fix for truncation of 64-bit CustomDataMasks.Nicholas Bishop
Can't use GET_INT_FROM_POINTER anymore with CD masks, as this truncates to 32-bit. Bug: http://projects.blender.org/tracker/index.php?func=detail&aid=30680&group_id=9&atid=498 CR: http://codereview.appspot.com/5905059/
2012-03-22Renaming CD_WEIGHT_MCOL/MLOOPCOL and their masks from WEIGHT to PREVIEW, as ↵Bastien Montagne
this layer is now also used for various preview tasks in Object mode. “Cleanup” commit, no functional changes.
2012-03-04style cleanup / comment formatting for bli/bke/bmeshCampbell Barton
2012-02-20- remove some unused editmesh functions.Campbell Barton
- copy & rename EditMesh stricts for use with scanfill (remove unused members)
2012-02-18svn merge ^/trunk/blender -r44189:44204Campbell Barton
2012-02-17unify include guard defines, __$FILENAME__Campbell Barton
without the underscores these clogged up the namespace for autocompleation which was annoying.
2012-01-23Merged with trunk (-r43609:43611): updated modifier preview.Bastien Montagne
Noted preview code for DynamicPaint is currently disabled, will see if I can re-enable it…
2012-01-22Add weight preview to WeightVG modifiers, and first, simple/basic refactor ↵Bastien Montagne
of how modifiers can generate preview. User side: * Preview for DynamicPaint should keep the same behavior (for now). Weight preview should be somawhat quicker, though. * Preview for WeightVG modifiers is only active in WeightPaint mode, and if the affected vgroup is the active one. * Last active preview modifier in stack wins! Note: that modifier preview topic is yet to be further refined, quite raw/incomplete for now. Dev side: * In draw code, renamed DRAW_DYNAMIC_PAINT_PREVIEW flag to DRAW_MODIFIERS_PREVIEW * Removed use of MOD_DPAINT_PREVIEW_READY in DynamicPaint code (seems unecessary, and if it was, should be of more general scope). * Added eModifierTypeFlag_UsesPreview to ModifierTypeFlag, for modifiers that can generate some preview data. * Added three new modifier funcs, to handle preview modifiers in draw code / mod stack. * For weights preview: added the generic DM_update_weight_mcol func, which can update WEIGHT_MCOL layer with either a given array of weights (currently used by DynamicPaint only), or from current active vgroup(s). So now, draw code is fully generic (i.e. no more modifier-type checking in it). Mod stack code is generic to some extent, but will need more work.
2011-12-21svn merge ^/trunk/blender -r42761:42776Campbell Barton
2011-12-20New modifier type: eModifierTypeType_NonGeometrical, for modifiers affecting ↵Bastien Montagne
CustomData layers only (e.g. UVProject and WeightVG ones). Also, allow applying to obdata those modifiers, even with shapekeys, but do not allow applying them *as* shapekey (as shapekeys do not have CD layers). Fix [#29636] Vertex Weight Mix modifier "apply" button don't work. Note: applying whit shape keys currently always uses base shape, not current one (for apply to obdata as well as apply to shapekey), but this is another topic...
2011-11-20svn merge ^/trunk/blender -r41998:42009Campbell Barton
2011-11-20share code for fluidsim, ocean & dynamic paint file paths.Campbell Barton
- use BLI_join_dirfile for joining all paths (no need to ensure slash is appended). - paths from linked library files now supported.
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-04-15=bmesh= merge from trunk at r36153Joseph Eagar