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
2019-02-15Fix T61575: missing Cycles viewport updates when changing settings.Brecht Van Lommel
This reverts "Depsgraph: Don't tag original IDs", commit: 5f814cb3b47df9255724e979458e05a42ed40f9a.
2019-02-15Fix Spring characters being in the rest pose on file openSergey Sharybin
This partially reverts bf2c5217 and makes it so animation is evaluated for datablocks which were never evaluated within the dependency graph. Not ideal, but safest way currently. Animation for already evaluated datablocks will only be evaluated on manual edits, so the initial bugfix is still valid.
2019-02-15Cleanup: Argument wrappingSergey Sharybin
2019-02-15Depsgraph: Don't tag original IDsSergey Sharybin
This is unreliable for cases when multiple dependency graphs are to be updated. The only reason why it was attempted to be made is to deal with cases when ID appears in the dependency graph for the first time. But even then it should be smart enough bring itself to an up-to-date state without any extra tricks.
2019-02-11Depsgraph: Use proper tag source for special caseSergey Sharybin
Special case of handling update tag of 0 was using wrong update source, causing unwanted point cache resets on file load.
2019-02-06Cleanup: remove redundant doxygen \file argumentCampbell Barton
Move \ingroup onto same line to be more compact and make it clear the file is in the group.
2019-02-01Cleanup: remove original authorCampbell Barton
Missed when removing contributors.
2019-02-01Cleanup: remove redundant, invalid info from headersCampbell Barton
BF-admins agree to remove header information that isn't useful, to reduce noise. - BEGIN/END license blocks Developers should add non license comments as separate comment blocks. No need for separator text. - Contributors This is often invalid, outdated or misleading especially when splitting files. It's more useful to git-blame to find out who has developed the code. See P901 for script to perform these edits.
2019-01-31Depsgraph: Comb code to a better state all overSergey Sharybin
Some summary of changes: - Don't use DEG prefix for types and enumerator values: the code is already inside DEG namespace. - Put code where it locally belongs to: avoid having one single header file with all sort of definitions in it. - Take advantage of modern C++11 enabled by default.
2019-01-31Depsgraph: Use more correct update source for an internal tagsSergey Sharybin
Dependency graph will poke some IDs for recalc after finishing building. Those shouldn't be considered as a user edit.
2019-01-25Fix T60839: Deleting bevel object for curve will not updateSergey Sharybin
Was missing conversion of ID_RECALC_GEOEMTRY to curve's operation.
2019-01-22Fix T60602: outliner pose bone selection does not update in viewport.Sebastian Parborg
Differential Revision: https://developer.blender.org/D4223
2018-12-11Fix T59174: Missing particles updateSergey Sharybin
2018-12-10Fix T57633: Particle texture update problemSergey Sharybin
Textures are now hooked up to the RESET operation of particle settings, which ensures particles being re-distributed when texture is changed. This is limited to a direct user modifications, which matches old behavior in 2.79.
2018-12-07Remove unused particle system recalc flagSergey Sharybin
2018-12-07Cleanup, typo in namingSergey Sharybin
\Something went wrong in the rename script..
2018-12-07Depsgraph: Remove duplicated sets of recalc/update flagsSergey Sharybin
There were at least three copies of those: - OB_RECALC* family of flags, which are rudiment of an old dependency graph system. - PSYS_RECALC* which were used by old dependency graph system as a separate set since the graph itself did not handle particle systems. - DEG_TAG_* which was used to tag IDs. Now there is a single set, which defines what can be tagged and queried for an update. It also has some aggregate flags to make queries simpler. Lets once and for all solve the madness of those flags, stick to a single set, which will not overlap with anything or require any extra conversion. Technically, shouldn't be measurable user difference, but some of the agregate flags for few dependency graph components did change. Fixes T58632: Particle don't update rotation settings
2018-11-14Depsgraph: Fix missing point cache reset when physics changesSergey Sharybin
Among all the lines moved around, the general idea is quite simple. Actually, there are two ideas implemented there. First one, is when object itself is tagged for update, we tag its point cache component for evaluation, which makes it so point cache is properly reset. We do it implicitly because otherwise we'll need to go everywhere and add explicit tag in almost all the properties. Second thing is, we link all collider and force fields to a point cache component using special type of link. This type of link only allows flush if change is caused by a user update. This way reset does not happen when change is caused due to animation, but will properly happen when user causes indirect change to the objects which are part of physics simulation.
2018-11-07Cleanup: remove some useless BKE_library and BKE_main includes.Bastien Montagne
Makes it simpler to make some changes... Also fix order of some includes (use alphabetical please).
2018-09-24Depsgraph: Cleanup, spelling in commentSergey Sharybin
2018-09-19Depsgraph: Make visible update to operate on per-component levelSergey Sharybin
2018-09-19Despgraph: Keep track of per-component visibilitySergey Sharybin
The idea of those flags is to avoid evaluation of operations which are not needed to bring visible objects to an up to date state. Previously, dependency graph attempted to do combine those into an ID level flag. In practice it proved to be rather tricky, since there could be dependency cycles on ID level which will not exist on component level.
2018-09-19Depsgraph: Make geoemtry to tag function more reusableSergey Sharybin
2018-09-03Fix T56593: Crash when enabling collection with curvesSergey Sharybin
Was missing update of ID blocks which are becoming visible.
2018-08-15Fix viewport selection of markers not updating in all editorsDalai Felinto
This includes selections both in the clip editor as the viewport. The selection is implemented as a synchronization function called from the eval selection update node in depsgraph.
2018-07-31New Grease Pencil object for 2D animationAntonioya
This commit merge the full development done in greasepencil-object branch and include mainly the following features. - New grease pencil object. - New drawing engine. - New grease pencil modes Draw/Sculpt/Edit and Weight Paint. - New brushes for grease pencil. - New modifiers for grease pencil. - New shaders FX. - New material system (replace old palettes and colors). - Split of annotations (old grease pencil) and new grease pencil object. - UI adapted to blender 2.8. You can get more info here: https://code.blender.org/2017/12/drawing-2d-animation-in-blender-2-8/ https://code.blender.org/2018/07/grease-pencil-status-update/ This is the result of nearly two years of development and I want thanks firstly the other members of the grease pencil team: Daniel M. Lara, Matias Mendiola and Joshua Leung for their support, ideas and to keep working in the project all the time, without them this project had been impossible. Also, I want thanks other Blender developers for their help, advices and to be there always to help me, and specially to Clément Foucault, Dalai Felinto, Pablo Vázquez and Campbell Barton.
2018-07-06Depsgraph: Relations builder should not tag ID in all depsgraphsSergey Sharybin
2018-06-14Depsgraph: Make certain components NOT tag copy-on-write when they are taggedSergey Sharybin
Currently done for mesh batch cache update, and for base flags sync. Those components do not need anything from original object, and hence can skip CoW tag and have faster update after them used.
2018-06-14Depsgraph: Use dedicated ocmponent for object's base flags flushSergey Sharybin
2018-06-12Fix T55409: Can't animated keyframed material node value after moving ↵Sergey Sharybin
keyframe on timeline Completely ignore animation for legacy zero update tag. If one needs animation to be evaluated, tag with proper update tag, stop relying on direct assignment of adt->>recalc with zero update tag for DEG. This commit might cause missing updates when needed, those needs to be looked into once they happen.
2018-06-11Revert unintended changes to depsgraphDalai Felinto
This partially reverts f8d7df6f162. I committed this bit by mistake.
2018-06-08Depsgraph: Remove no longer needed nodetree values copying on evalDalai Felinto
Note: Depsgraph still calls the nodetree eval function that doesn't nothing in turn. We can remove it, but it is harmless though.
2018-06-05Preserve unkeyed changes on undo and file openSergey Sharybin
This partially reverts 5975d6581cee. With single editing context it is more predictable what is unkeyed change is.
2018-05-31Depsgraph: Remove unused flagsSergey Sharybin
They are no longer needed after the active depsgraph concept is here.
2018-05-31Depsgraph: Remove the "disable-copy-on-write" option completelyJoshua Leung
After discussion with Sergey and Dalai, we have decided to remove this option completely. We're getting to the point where it is almost impossible to really use 2.8 without COW, and keeping the old option running ends up diverting dev resources away towards tracking down and fixing problems with a parallel system that will be going away.
2018-05-30Fix missing Cycles 3D viewport updates when editing materials, lamps.Brecht Van Lommel
This introduces a new depsgraph API for getting updated datablocks, rather than getting it from bpy.data. * depsgraph.ids_updated gives a list of all datablocks in the depsgraph which have been updated. * depsgraph.id_type_updated('TYPE') is true if any datablock of the given type has been added, removed or modified. More API updates are coming to properly handle multiple depsgraphs and finer update granularity, but this should make Cycles work again.
2018-05-30Fix unnecessary Cycles render updates when selecting objects.Brecht Van Lommel
2018-05-30Fix T55253: Camera lens can't be edited after keyframing itSergey Sharybin
Bring back animation channel exception for tag flag=0.
2018-05-03Depsgraph: Tag IDs for animation update on visible updateSergey Sharybin
Without this it's quite unpredictable what state of unkeyed changes datablock will end up with.
2018-05-02Depsgraph: Show log message when tagging specific depsgraph IDSergey Sharybin
2018-04-26Depsgraph: Make it possible to check for ID directly tagged for animation recalcSergey Sharybin
2018-04-23Depsgraph: Make update flags debug print more usefulSergey Sharybin
Will print list of human-readable update flags, not the combined bitfield printed as a number.
2018-04-17Depsgraph: Fix unwanted node tree copy-overSergey Sharybin
Was caused by two things from the past: - Tagging would set id->recalc to COW update flag. This one is to be ignored. - Particle tagging will use psys recalc flags on id->recalc, but we only need to use flags from particles. Otherwise it will be some collisions in bit masks.
2018-04-13Depsgraph: store mode and time in depsgraph, add view layer / scene accessors.Brecht Van Lommel
Scene, view layer and mode are now set in the constructor and never changed. Time is updated on frame changes to indicate which frame is being or has been evaluated last. This is a step towards making EvaluationContext obsolete. Differential Revision: https://developer.blender.org/D3144
2018-04-12Depsgraph: Move CoW tag to ID datablock tagSergey Sharybin
Unless there is an external action from an user, there should not be need in re-copying original datablock to a copied one. This brings performance up from 5fps to 11fps with Spring runcycle (performance in master is 14fps).
2018-04-12Depsgraph: Remove function bindings with collectionsSergey Sharybin
Use single function to evaluate all the collections for the given view layer. This way we avoid need to get scene ID sub-data. Similar to pchan index, this allows us to avoid build-time scene expansion, which also simplifies update of the scene datablock. Well, sort of. There is still work to be done to get rid of build-time scene datablock expansion, which includes: - Need to pass view layer by index. Annoying part would be to get actual view layer for that index. In practice doing list lookup might not be such a bad idea, since such lookup will not happen very often, and it is unlikely to have more than handful of view layer anyway. Other idea could be to use view layer from evaluation context. Or maybe from depsgraph, which is supposed to be in the context. Can have some assert statements to make sure everything is good. - Need to get id of base binding for flags flush. We can replace that with index-based lookup from an array created by view layer evaluation. Reviewers: dfelinto Differential Revision: https://developer.blender.org/D3141
2018-04-04Fix missing hair in fishycat and everything else after particle recalc changesMai Lavelle
The cache was getting reset always, due to special case of flag being 0. Bug introduced by: 44cd24a9cee9ffb14b5d26a622f
2018-03-29Particles: Remove dedicated recalc field from ParticleSettingsSergey Sharybin
Use more generic id->recalc flag. Also sanitize flag flush from settings to particle system. Need to do such flush before triggering point cache reset, since point cache reset will do some logic based on what flags are set. This will solve crash caused by threaded update which will set some bitflags while point cache reset is in progress.
2018-03-29Depsgraph: Tag datablock with original update flagSergey Sharybin
Tagging based on components might not be granular enough. For example, for particles we would want to know what part of particles was changed exactly. For the flushing we wouldn't worry too much, because we will want less granular updates there anyway.
2018-02-21Merge branch 'master' into blender2.8Sergey Sharybin