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
2020-02-28Merge branch 'master' into id-ensure-unique-memory-addressid-ensure-unique-memory-addressBastien Montagne
2020-02-27Objects: make evaluated data runtime storage usable for types other than meshBrecht Van Lommel
This is in preparation of new object types. This only changes mesh_eval, we may do the same for mesh_deform_eval and other areas in the future if there is a need for it. Differential Revision: https://developer.blender.org/D6695
2020-02-27Cleanup: add missing use_nodes in default materials with nodetreesBrecht Van Lommel
This didn't break anything, but could in the future.
2020-02-27Constraints: replace 'Set Inverse' operator with an eval-time updateSybren A. Stüvel
This fixes {T70269}. Before this commit there was complicated code to try and compute the correct parent inverse matrix for the 'Child Of' and 'Object Solver' constraints outside the constraint evaluation. This was done mostly correctly, but did have some issues. The Set Inverse operator now defers this computation to be performed during constraint evaluation by just setting a flag. If the constraint is disabled, and thus tagging it for update in the depsgraph is not enough to trigger immediate evaluation, evaluation is forced by temporarily enabling it. This fix changes the way how the inverse matrix works when some of the channels of the constraint are disabled. Before this commit, the channel flags were used to filter both the parent and the inverse matrix. This meant that it was impossible to make an inverse matrix that would actually fully neutralize the effect of the constraint. Now only the parent matrix is filtered, while inverse is applied fully. As a result, pressing the 'Set Inverse' matrix produces the same transformation as disabling the constraint. This is also reflected in the changed values in the 'Child Of' unit test. This change is not backward compatible, but it should be OK because the old way was effectively unusable, so it is unlikely anybody relied on it. The change in matrix for the Object Solver constraint is due to a different method of computing it, which caused a slightly different floating point error that was slightly bigger than allowed by the test, so I updated the matrix values there as well. This patch was original written by @angavrilov and subsequently updated by me. Differential Revision: https://developer.blender.org/D6091
2020-02-26Fix T74225: Image (from sequence) cannot be loadedPhilipp Oeser
If the current frame was not in range, the ImageTile's 'ok' was stuck at 0. Similar to the ImageUser being reset to 'ok' in BKE_image_user_frame_calc, we now do for ImageTiles as well. note: the crasher part of T74225 was fixed in rB5c490d437743. Maniphest Tasks: T74225 Differential Revision: https://developer.blender.org/D6939
2020-02-26Ensure IDs get unique memory addresses withing q given editing session.Bastien Montagne
Disclaimer: this should be considered as an engeneering, explanatory patch. Rational: for undo work, we are now manipulating IDs from potentially many different 'memory realms' (in contrast to current undo system, where, since we always reallocate the whole main database at each undo step, we only ever have to deal with two, the old one from the memfile, and the new one from re-read data from that memfile). So far, new undo system has used ID names-based search to remap old to new pointers, but this is slower, less safe, and forces us to do full undo barrier e.g. when renaming an ID. Idea of this patch is instead to ensure that within a given editing session, we never ever allocate a data-block at the same address twice. That way, we can consider ID pointers as valid UIDs withing that scope, and use their values to handle remapping in udo steps even in case an ID has had several memory addresses in the history of the editing session. This patches does two things: # Add a way to ensure a newly allocated ID gets a memory address never used before for any ID. # Store the history of all memory addresses ever used by a given ID. Note that point 1 above is currently using a fairly simple and naive solution, but also quiet innefficient (just allocating again and again until we get a 'free' address), we can imagine a much more efficient solution if we go deeper in MEM_ allocator system itself. Not sure if it is worth it though, as with new undo system actual re-allocation of a same ID at a different address should be fairly rare (i.e. history of used/forbidden addresses should remain quiet short). Differential Revision: https://developer.blender.org/D6937
2020-02-26Cleanup; add missing static statement.Bastien Montagne
2020-02-26Rework a bit re-allocating code, add a lookup utils for history memaddresses.Bastien Montagne
2020-02-26Cleanup: remove unused derived mesh functionalityCampbell Barton
2020-02-26Cleanup: reduce CDDM use, remove unused function callsCampbell Barton
2020-02-26Cleanup: format, unused varCampbell Barton
2020-02-25Fix T72721: Add visibility flags updates to the PBVHPablo Dobarro
Currently, there its a function that sets manually the fully_hidden flag of the nodes from the visibility operators in paint_hide.c. The undo code was not updating the flag, so the visibility state of the nodes was incorrect after preforming undo operations. This sometimes was drawing fully hidden nodes with empty buffers, causing artifacts in the geometry. I added a function to mark nodes which visibility state changed (similar as we are updating the mask flags and the nodes bounding boxes). This way, the tools, operators and undo code don't have to update the visibility flags, making everything much simpler to understand and maintain. I did not remove the flag update code from the current visibility operators in this patch, but after reimplementing them (and all the new ones) in the new visibility system, all visibility updates should be done using this method and the BKE_pbvh_node_fully_hidden_set function should be removed. Reviewed By: jbakker Maniphest Tasks: T72721 Differential Revision: https://developer.blender.org/D6767
2020-02-25Cleanup: Constraints, simplified ChildOf evaluation functionSybren A. Stüvel
This un-indents the `childof_evaluate()` function by one level, making it easier to add new functionality in an upcoming commit. No functional changes.
2020-02-25Cleanup: Reduced indentation in objectsolver_evaluate()Sybren A. Stüvel
This will make an upcoming change cleaner to implement. No functional changes.
2020-02-25Merge branch 'master' into id-ensure-unique-memory-addressBastien Montagne
2020-02-25UI: Add theme option for time markers lineMichael Soluyanov
This patch adds the ability to set colors and alpha of dashed line of Time Markers. That way themes can avoid contrast issues and communicate selection better. See screenshots in D6877. Bumps subversion. Reviewed By: William Reynish, Julian Eisel Differential Revision: https://developer.blender.org/D6877
2020-02-25Ocean modifier: fix changes to resolution complete changing the shapePhil Stopford
This takes the idea from the aaOcean library to link the RNG seed to the surface point, so that changing resolution only adds/remove surface detail. Differential Revision: https://developer.blender.org/D6871
2020-02-25Cleanup: remove cddm_from_bmeshCampbell Barton
Use BKE_mesh_from_bmesh_for_eval_nomain instead.
2020-02-21Minor fixes/cleanup.Bastien Montagne
2020-02-21Rework the whole unique ID system to also store ID addresses history in ↵Bastien Montagne
Main's mapping. In the end, since this is a runtime/editing session data only, makes more sense to store it here than in ID struct itself. And it's probably also more efficient to handle.
2020-02-21Fluid: Cleanup in cache delete functionSebastián Barschkis
Removed unneccessary calls to BLI_exists() as BLI_delete() does this implicitly.
2020-02-21Cleanup: Spelling in a commentSergey Sharybin
2020-02-20id-unique system: add also realloc utils.Bastien Montagne
2020-02-20Merge branch 'master' into id-ensure-unique-memory-addressBastien Montagne
2020-02-20Cleanup: rename mul_m2v2 to mul_m2_v2Campbell Barton
Matches mul_m3_v3
2020-02-20Cleanup: unused enumsCampbell Barton
2020-02-20Cleanup: declatatuons for functions that don't existCampbell Barton
2020-02-19Merge branch 'readfile-rework-refcount-handling' into ↵Bastien Montagne
id-ensure-unique-memory-address
2020-02-19readfile: Move ID refcounting to libquery.Bastien Montagne
Having that extra ID users handling at readfile level, besides generic one ensured by libquery, has been something bothering me for a long time (had to fix my share of bugs due to mismatches between those two areas). Further more, work on undo speedup will require even more complex ID refcount management if we want to keep it in readfile.c area. So idea is instead to generalize what we did for linked data already when undoing: recompute properly usercount numbers after liblink step, for all IDs. Note that extra time required here is neglectable in a whole .blend file reading (few extra milliseconds when loading a full production scene e.g.). Notes: * Some deprecated data (IPOs) are not refcounted at all anymore, this should not be an issue in pratice since the are supposed to get deleted after doversion anyway. * Refcounting happens after `do_versions_after_linking`, i.e those functions won't get valid ID usercounts currently. Again, this is not a problem in current code, if needed we could recompute refcount before, and then ensure `do_versions_after_linoiing()` actually handles properly usercount, which it does not currently. Differential Revision: https://developer.blender.org/D6881
2020-02-19Fix T68878: Update shapekeys during transformationGermano Cavalcante
Only use the hack in `key_block_get_data` for the bmesh shapekey. The remaining shapekeys can use the original offset values. Differential Revision: https://developer.blender.org/D6516
2020-02-19Subdiv: Clarify Subdiv settingsSergey Sharybin
The actual naming might also be a subject to change, especially the one around `level`. Tricky part here is that at some point in the API there will be change from Blender modifier's Quality to OpenSubdiv's Level, but which API level is most suitable for this? At least now meaning of settings is better documented ans should be clear what's going on.
2020-02-18Merge branch 'readfile-rework-refcount-handling' into ↵Bastien Montagne
id-ensure-unique-memory-address
2020-02-18Merge branch 'master' into readfile-rework-refcount-handlingBastien Montagne
2020-02-18Sculpt: Update red cursor colorPablo Dobarro
Some users reported that the previous red color of the cursor was too saturated and that can be distracting. Reviewed By: brecht Differential Revision: https://developer.blender.org/D6828
2020-02-18Sculpt: Fix slide relax cursor colorPablo Dobarro
Slide/Relax is a deform tool, so the color should be yellow. Reviewed By: brecht Differential Revision: https://developer.blender.org/D6827
2020-02-18Cleanup: clang-format.Bastien Montagne
2020-02-18Merge branch 'master' into readfile-rework-refcount-handlingBastien Montagne
2020-02-18Cleanup: protect parameters of `FOREACH_MAIN_ID` & co macros.Bastien Montagne
2020-02-18Fix (unreported) wrong handling of usercount in `BKE_workspace_add()`.Bastien Montagne
This does not seem to be an actual issue in current master code (as creating a new ID will assign 1 user to it by default), but is breaking generic usercount handling in future changes.
2020-02-18Fix T62612: Saving with "Remap Relative" makes ALL paths relativeCampbell Barton
2020-02-18libquery: add optional handling of 'UI' ID pointers.Bastien Montagne
Handling those through different ways /might/ be needed sometimes, but in most case this is just a nest of issues, since you can easily forget to take them into account. Note that this should be a 'non-functional' change, as this new behavior is not used anywhere yet.
2020-02-18Merge branch 'readfile-rework-refcount-handling' into ↵Bastien Montagne
id-ensure-unique-memory-address
2020-02-18Merge branch 'libquery-handle-ui-pointers' into ↵Bastien Montagne
readfile-rework-refcount-handling
2020-02-18Merge branch 'master' into libquery-handle-ui-pointersBastien Montagne
2020-02-18Cleanup: use doxy sections for BLI_bpath APICampbell Barton
2020-02-17VSE: Remove atomized image duplication for preprocessing stageRichard Antalik
Each image that goes through preprocessing is already duplicated in `input_preprocess()` Reviewed By: brecht Differential Revision: https://developer.blender.org/D6790
2020-02-17Fix T70229: Show Cache On will cause a lower fpsRichard Antalik
Use gpu batch drawing for cache content in VSE. Immediate drawing caused significant dorp in framerate. Reviewed By: fclem Differential Revision: https://developer.blender.org/D6835
2020-02-17Cycles: Vector Rotate Node using Axis and Angle methodCharlie Jolly
This node provides the ability to rotate a vector around a `center` point using either `Axis Angle` , `Single Axis` or `Euler` methods. Reviewed By: #cycles, brecht Differential Revision: https://developer.blender.org/D3789
2020-02-17Fix T73817: Shape key users not properly mapped when duplicating their obdata.Bastien Montagne
Once again those crappy weirdos IDs with their crappy weirdos 'loopback' pointers... This is a quick hack for now, think id_copy needs to be reworked a bit to supported re-entrant sub-ID copying (also an issue with nodes I bet).
2020-02-17Shading: add direction modes and phase offset to wave texture nodeBartosz Moniewski
* Direction mode X, Y and Z to align with axes rather than diagonal or spherical as previously. X is the new default, existing files will use diagonal or spherical for compatibility. * Phase offset to offset the wave along its direction, for purposes like animation and distortion. https://developer.blender.org/D6382