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-10-07Cleanup: style, duplicate includesCampbell Barton
2017-09-28Missed in last merge from masterCampbell Barton
Local changes built, but merge-commit needed amending.
2017-09-19Merge branch 'master' into blender2.8Sergey Sharybin
2017-09-19Cleanup: BLI_utildefines prefix for header-only libsCampbell Barton
This allows to have different macro headers without them sharing similar names to regular C modules.
2017-09-15Merge branch 'master' into blender2.8Sergey Sharybin
2017-09-14Fix T52653: Render output of linked scenes conflicts with other scenes with ↵Sergey Sharybin
the same name The issue was caused by render result identifier only consist of scene name, which could indeed cause conflicts. On the one hand, there are quite some areas in Blender where we need identifier to be unique to properly address things. Usually this is required for sub-data of IDs, like bones. On another hand, it's not that hard to support this particular case and avoid possible frustration. The idea is, we add library name to render identifier for linked scenes. We use library name and not pointer so we preserve render results through undo stack. Reviewers: campbellbarton, mont29, brecht Reviewed By: mont29 Differential Revision: https://developer.blender.org/D2836
2017-09-13Merge branch 'master' into blender2.8Campbell Barton
2017-09-12Fix T52573: Cycles baking artifactsSergey Sharybin
Synchronize condition for faces split between Cycles itself and baking API.
2017-09-07Merge branch 'master' into blender2.8Campbell Barton
This discards node drawing changes which need to be written as shaders.
2017-09-07Weight Smooth: remove source optionCampbell Barton
Use current selection mode instead of an operator option.
2017-09-07Fix T52639: Weight paint smooth tool crashCampbell Barton
2017-08-31Merge branch 'master' into blender2.8Campbell Barton
2017-08-30Fix T52588: Shape key value driver variables of duplicated object sets refer ↵Bastien Montagne
to old objects. Regression since 2.78, to be backported to 2.79.
2017-08-28Merge branch 'master' into blender2.8Sergey Sharybin
2017-08-28Make GS macro return proper IDType typeSergey Sharybin
Previously it was returning short, which was really easy to (a) compare against non-ID type value (b) forget to handle some specific value in switch statement. Both issues happened in the nearest past, so it's time to tighten some nuts here. Most of the change related on silencing strict compiler warning now, but there is also one tricky aspect: ID_NLA is not in the IDType enum. So there is still cast to short to handle that switch. If someone has better ideas how to deal with this please go ahead :)
2017-08-28Fix T52498: Deleting force field doesn't remove "Surface" from modifier stack.Bastien Montagne
Logic in `ED_object_check_force_modifiers` was inconsistent between add and remove modifier cases. Should be safe enough for 2.79.
2017-08-27Fix T52498: Deleting force field doesn't remove "Surface" from modifier stack.Bastien Montagne
Logic in `ED_object_check_force_modifiers` was inconsistent between add and remove modifier cases. Should be safe enough for 2.79.
2017-08-24Merge remote-tracking branch 'origin/master' into blender2.8Dalai Felinto
2017-08-24Cycles Bake: Fix overflow when using hundreds of imagesDalai Felinto
We have a hardcored limit of 1000 images to be baked. However anything anove 100 would be leading to overflow in the code. Caught by warning from builder bot (my compiler doesn't even complain about this, but it should).
2017-08-22Cleanup: naming for mesh dirty flagsCampbell Barton
- NOCHECK -> ALL - ALL -> MAYBE_ALL Where 'MAYBE_ALL' checks to see if the mesh has changed. This is clearer that `BKE_MESH_BATCH_DIRTY_ALL` is dirty and going to be updated without any guess-work.
2017-08-21Merge branch 'master' into blender2.8Campbell Barton
2017-08-21Modify menu from last commitCampbell Barton
Also correct tool-tip.
2017-08-21Fix T52434: Restore mesh center of mass calculationCampbell Barton
The new method while improved for solid objects doesn't work for non-manifold meshes, keep both.
2017-08-16Pass EvaluationContext instead of bContextCampbell Barton
2.8x branch added bContext arg in many places, pass eval-context instead since its not simple to reason about what what nested functions do when they can access and change almost anything. Also use const to prevent unexpected modifications. This fixes crash loading files with shadows, since off-screen buffers use a NULL context for rendering.
2017-08-15Cleanup/refactor: no new general arg-less macros enforcing var names please!Bastien Montagne
We do have an history of those pieces of evil in our code, would be nice to get fully rid of it, but at the very least let's not add more of them in new code. :)
2017-08-11Merge branch 'master' into blender2.8Campbell Barton
2017-08-11Object Apply Transform: option to apply propertiesCampbell Barton
In some cases users may want to disable this option to avoid changing other properties besides vertex locations.
2017-08-09Merge branch 'master' into blender2.8Sybren A. Stüvel
2017-08-09Fix T52315: Crash on duplicating Scene without world.Bastien Montagne
Regression from rBa7b3047cefcbf, to be backported to 2.79. Like... seriously... :|
2017-08-08Merge branch 'master' into blender2.8Bastien Montagne
Conflicts: source/blender/depsgraph/intern/builder/deg_builder_relations.cc source/blender/editors/object/object_add.c source/blender/python/intern/bpy_app_handlers.c
2017-08-08Cleanup: mostly namings in `make_object_duplilist_real` code.Bastien Montagne
2017-08-08Fix T52260: Blender 2.79 Objects made duplicates real still refer armature ↵Bastien Montagne
proxy. New code was handling correctly ID's internal references to self, but not references between 'made real' different objects... Regression, to be backported in 2.79.
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-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-08-06Manipulator: experimental lamp positioning toolCampbell Barton
- New manipulator tracks lamps to position under cursor. - Works with multiple lamps, keeping relative offsets. - Holding Ctrl moves the lamp. - Access via manipulator or Shift-T. Code could be improved, but like to get feedback from users.
2017-07-21Pass EvaluationContext argument everywhereLuca Rood
Note that some little parts of code have been dissabled because eval_ctx was not available there. This should be resolved once DerivedMesh is replaced.
2017-07-21Merge branch 'master' into blender2.8Sergey Sharybin
2017-07-21Fix T52136: Blender segfault (stack overflow most certainly) when converting ↵Bastien Montagne
to mesh. Stupid mistake in own recent refactor.
2017-07-18Merge branch 'master' into blender2.8Campbell Barton
2017-07-17Fix T39925: Set Origin to Geometry on a new text object moves the origin ↵Bastien Montagne
away from the object No need to take into account font size here...
2017-07-03Merge branch 'master' into blender2.8Alexander Romanov
2017-07-03Fix T51883: Wrong matrix computation in "Make Duplicates Real"Luca Rood
2017-06-28Probe: Irradiance Volume: Fix default clip start.Clément Foucault
2017-06-28Fix T51920: Invalidate draw cache when changing object originLuca Rood
2017-06-26Fix T51559: Update draw cache when changing flat/smooth shadingLuca Rood
This also renames some flags/variables to be more generic for updating purposes. The call used here was previously only used for updating paint data, but as it was reused here, flags and variables were renamed to accomodate more clearly to the new usages.
2017-06-22Light Probes: interface changes, and renamesDalai Felinto
Although we are calling all of them light probes, there are a lot of differences between them. This commit does the following: * Prevent user from changing the probe type once added * Unify "sphere" and "cube" probes into reflection cubemap (as before you can switch between them from the probe UI) To be done ========== * Don't show add probe menus unless we are on Eevee * Light probes panels should not be visible in Clay. Light probe objects should not be visible in Clay viewport (nor on Cycles). Notes ===== * We need icons for the different light probes, and for lightprobes as a whole (we are using RADIO for now).
2017-06-19Depsgraph: Initial groundwork for copy-on-write supportSergey Sharybin
< Dependency graph Copy-on-Write > -------------------------------- \ ^__^ \ (oo)\_______ (__)\ )\/\ ||----w | || || This is an initial commit of Copy-on-write support added to dependency graph. Main priority for now: get playback (Alt-A) and all operators (selection, transform etc) to work with the new concept of clear separation between evaluated data coming from dependency graph and original data coming from .blend file (and stored in bmain). = How does this work? = The idea is to support Copy-on-Write on the ID level. This means, we duplicate the whole ID before we cann it's evaluaiton function. This is currently done in the following way: - At the depsgraph construction time we create "shallow" copy of the ID datablock, just so we know it's pointer in memory and can use for function bindings. - At the evaluaiton time, the copy of ID get's "expanded" (needs a better name internally, so it does not conflict with expanding datablocks during library linking), which means the content of the datablock is being copied over and all IDs are getting remapped to the copied ones. Currently we do the whole copy, in the future we will support some tricks here to prevent duplicating geometry arrays (verts, edges, loops, faces and polys) when we don't need that. - Evaluation functions are operating on copied datablocks and never touching original datablock. - There are some cases when we need to know non-ID pointers for function bindings. This mainly applies to scene collections and armatures. The idea of dealing with this is to "expand" copy-on-write datablock at the dependency graph build time. This might introduce some slowdown to the dependency graph construction time, but allows us to have minimal changes in the code and avoid any hash look-up from evaluation function (one of the ideas to avoid using pointers as function bindings is to pass name of layer or a bone to the evaluation function and look up actual data based on that name). Currently there is a special function in depsgraph which does such a synchronization, in the future we might want to make it more generic. At some point we need to synchronize copy-on-write version of datablock with the original version. This happens, i.e., when we change active object or change selection. We don't want any actual evaluation of update flush happening for such thins, so now we have a special update tag: DEG_id_tag_update((id, DEG_TAG_COPY_ON_WRITE) - For the render engines we now have special call for the dependency graph to give evaluated datablock for the given original one. This isn't fully ideal but allows to have Cycles viewport render. This is definitely a subject for further investigation / improvement. This call will tag copy-on-write component tagged for update without causing updates to be flushed to any other objects, causing chain reaction of updates. This tag is handy when selection in the scene changes. This basically summarizes ideas underneath this commit. The code should be reasonably documented. Here is a demo of dependency graph with all copy-on-write stuff in it: https://developer.blender.org/F635468 = What to expect to (not) work? = - Only meshes are properly-ish aware of copy-on-write currently, Non-mesh geometry will probably crash or will not work at all. - Armatures will need similar depsgraph built-time expansion of the copied datablock. - There are some extra tags / relations added, to keep things demo-able but which are slowing things down for evaluation. - Edit mode works for until click selection is used (due to the selection code using EditDerivedMesh created ad-hoc). - Lots of tools will lack tagging synchronization of copied datablock for sync with original ID. = How to move forward? = There is some tedious work related on going over all the tools, checking whether they need to work with original or final evaluated object and make the required changes. Additionally, there need synchronization tag done in fair amount of tools and operators as well. For example, currently it's not possible to change render engine without re-opening the file or forcing dependency graph for re-build via python console. There is also now some thoughts required about copying evaluated properties between objects or from collection to a new object. Perhaps easiest way would be to move base flag flush to Object ID node and tag new objects for update instead of doing manual copy. here is some WIP patch which moves such evaluaiton / flush: https://developer.blender.org/F635479 Lots of TODOs in the code, with possible optimization. = How to test? = This is a feature under heavy development, so obviously it is disabled by default. The only reason it goes to 2.8 branch is to avoid possible merge hell. In order to enable this feature use WITH_DEPSGRAPH_COPY_ON_WRITE CMake configuration option.
2017-06-19Planar Probe: Add UI, 3d view Display and change defaults.Clément Foucault
2017-06-19Probe: Add planar type.Clément Foucault
2017-06-15Merge branch 'master' into blender2.8Bastien Montagne
Conflicts: source/blender/collada/MeshImporter.cpp source/blender/editors/object/object_add.c source/blender/editors/screen/screen_edit.c