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-04-24Fix T55326: Massive slowdown when animating material in a highpoly meshSergey Sharybin
This is a dependency graph part, which is the last required bit to get the issue solved after all the rest of the work done by Clement.
2019-04-22Cleanup: style, use braces for blenkernelCampbell Barton
2019-04-17ClangFormat: apply to source, most of internCampbell Barton
Apply clang format as proposed in T53211. For details on usage and instructions for migrating branches without conflicts, see: https://wiki.blender.org/wiki/Tools/ClangFormat
2019-04-14Cleanup: doxy commentsCampbell Barton
Use doxy references to function and enums, also correct some names which became out of sync.
2019-03-28Cleanup: remove unused derivedmesh code.Brecht Van Lommel
2019-03-19Cleanup: comment blocksCampbell Barton
2019-03-12Fix T62388: object.visible_get() not affected by object.hide_viewport.Brecht Van Lommel
After recent changes BASE_VISIBLE was not always disabled properly when the object is hidden. This refactors the code a bit to hopefully be more clear.
2019-03-07Refactor CDData masks, to have one mask per mesh elem type.Bastien Montagne
We already have different storages for cddata of verts, edges etc., 'simply' do the same for the mask flags we use all around Blender code to request some data, or limit some operation to some layers, etc. Reason we need this is that some cddata types (like Normals) are actually shared between verts/polys/loops, and we don’t want to generate clnors everytime we request vnors! As a side note, this also does final fix to T59338, which was the trigger for this patch (need to request computed loop normals for another mesh than evaluated one). Reviewers: brecht, campbellbarton, sergey Differential Revision: https://developer.blender.org/D4407
2019-02-28Split base flags on own and collection-definedSergey Sharybin
This allows to update base flags to a proper state then object's restriction flags are changed, without requiring to re-evaluate an entire tree of flags. Some old unused flags are were removed by this change, and also disabling menu items might not work the same as before. This is something we can bring back if it's really needed (the way how flags are handled did change since that interface code was done anyway, so code was looking weird anyway). Reviewers: brecht Differential Revision: https://developer.blender.org/D4420
2019-02-28Remove unused base flagSergey Sharybin
Was only set and read from a single location. Removing to keep things more manageable.
2019-02-27Move base flags evaluation to its own functionSergey Sharybin
No need to have iterator loop in the view layer evaluation, this only makes it more difficult to have base flags covered by the dependency graph. Other good thing is that we don't need to worry about whether base has been removed from the evaluated view layer or not. Reviewers: brecht Reviewed By: brecht Differential Revision: https://developer.blender.org/D4414
2019-02-27Cleanup: file rename lamp -> lightCampbell Barton
2019-02-19Cleanup: rename parent_origin_eval to parent_display_originCampbell Barton
The term 'eval' is often used by depsgraph result, where this is just used for drawing.
2019-02-18Fix T57457: animated image sequences not working in Eevee.Brecht Van Lommel
The dependency graph now handles updating image users to point to the current frame, and tags images to be refreshed on the GPU. The image editor user is still updated outside of the dependency graph. We still do not support multiple image users using a different current frame in the same image, same as 2.7. This may require adding a GPU image texture cache to keep memory usage under control. Things like rendering an animation while the viewport stays fixed at the current frame works though.
2019-02-18Cleanup: move 'orig' into Object_Runtime structCampbell Barton
2019-02-18DNA: rename Collection.dupli_ofs -> instance_collectionCampbell Barton
2019-02-18doxygen: add newline after \fileCampbell Barton
While \file doesn't need an argument, it can't have another doxy command after it.
2019-02-17DNA: rename dup_* struct members to instance_*Campbell Barton
2019-02-17Cleanup: rename Mesh.edit_btmesh -> edit_meshCampbell Barton
When bmesh was in a branch we had both edit_mesh and edit_btmesh, now there is no reason to use this odd name.
2019-02-17Cleanup: move object bounding-box into runtime structCampbell Barton
2019-02-14Fix T61353: Crash converting a curve to a meshCampbell Barton
This was caused by curves pointing to each other creating a cyclic dependency. While the dependency graph detects this, generating a mesh for render recursively generates data which cashes in this case. Add in a check to detect cyclic links. Note, this bug exists in 2.7x too - but only crashes on render since 2.7x didn't use 'for_render' when converting data.
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 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-31Cleanup: avoid some unnecessary inverse matrix math.Brecht Van Lommel
2019-01-31Remove direct shape key drivers evaluaiton in object updateSergey Sharybin
This is now hanbdled by the nodes in dependency graph.
2019-01-31Fix T60996: Dyntopo flood fill fails due to missing ob->imatJacques Lucke
Reviewers: brecht Differential Revision: https://developer.blender.org/D4285
2019-01-31Fix T59495, T59992, T59904, T59178, T60598: broken keyframed value editing.Brecht Van Lommel
This removes a bunch of animation/driver evaluations and recalc flags that should be redundant in the new depsgraph, and were incorrectly affecting the evaluated scene in a permanent way. Still two cases that could be removed if the depsgraph is improved, in BKE_object_handle_data_update and BKE_cachefile_update_frame. For physics subframe interpolation there are also still calls to BKE_object_where_is_calc that should ideally be removed as well, though they are not known to cause keyframing bugs. Differential Revision: https://developer.blender.org/D4274
2019-01-28Fix T60127: Particles texture mapping coordinates objectsSergey Sharybin
Part of the issue was a missing relation. Other part wes aboud object's inverse matrix never being updated.
2019-01-26Cleanup: remove redundant BKE/BLI/BIF headersCampbell Barton
2018-12-19Fix T59237: Instancing on a path doesn't do anythingSergey Sharybin
This commit makes it so curve path parent solving accepts an explicit arguments for both time and curve speed flag, making it so we don't have to mock around with scene's frame. One unfortunate issue still is that if the instancing object is used for something else, we might be running into a threading conflict. Possible solution would be to create a temp copy of an object, but then it will be an issue of preventing drivers from modifying other datablocks. At least the original issue is fixed now, and things behave same as in older Blender version. Additionally, the global variable which was defining curve speed flag behavior is gone now!
2018-12-14New object API function : BKE_object_eval_reset()Dalai Felinto
This restores the object->data to a non-modifier evaluated state. So this allow us to change evaluated object modifier stack directly and get BKE_mesh_new_from_object() for the evalauted object.
2018-12-04Fix T58700: Modifier error msgs not showing.Bastien Montagne
We need to copy those back from evaluated modifierdata to orig one (as part of `BKE_object_synchronize_to_original()`).
2018-12-04Fix T58118: Make duplicates real does nothingSergey Sharybin
The issue was caused by transflag set in geometry evaluation never copied back top original object. Now we have a dedicated operation which does all sort copy back to original object, so we don't have to worry about atomic assignments or what gets set where. Still need to move boundbox to the same function, but it needs some careful doublechecking first.
2018-11-28Fix T56906: Mesh from Curve not working on curves beveled by curves.Bastien Montagne
Not exactly sure why we did not have cached displist for bevel object here... But anyway, that conversion operation should really happen outside of depsgraph evaluation area, so makes sense to do it as when generating geometry for rendering, imho. Also solves issues like loosing hidden parts of the curve/surface, etc. Still using viewport resolution for curves, though.
2018-11-25Local ViewDalai Felinto
Bring back per-viewport localview. This is based on Blender 2.79. We have a limit of 16 different local view viewports. We are using both the numpad /, as well as the regular /. Missing features: * Hack to make sure lights are always visible. * Make rendered mode with external engines to support this as well (probably just need to support this in the RNA iterators). * Support over 16 viewports by taking existing viewports out of local view. The code can use a cleanup pass in the future to unify the test to see if an object is visible (or we can use TESTBASE in more places).
2018-11-21Depsgraph: Move boundbox sync to the post-geometry evaluationSergey Sharybin
Boundbox does not depend on transform and only need geometry component. This change solves possible race condition accessing geometry data and allocating/assigning pointers. Based on disacussion in IRC with @mano-wii and @brecht.
2018-11-21Depsgraph: Cleanup, use more clear nameSergey Sharybin
Five years later since the original commit, is probably not so bad timing on calling things by their clear name.
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-10-29Depsgraph cleanup: use proper DEG_debug_print_eval call...Bastien Montagne
2018-10-24Fix T56172 Accessing COW data from RNA - DimensionBastien Montagne
Also fixes T55769 Dimension Not properly work and T56064 Blender crashes on selecting text-object We decided to go to the easy way in the end, simply enforcing computing BBox of all objects when using 'active' depsgraph, and copying back to orig object (same as transform matrix, etc.).
2018-10-05Fix invalid flag passed to mesh batch dirty tagCampbell Barton
2018-10-03Fix T56975: Transform incorrect w/ constraintCampbell Barton
2018-09-10Cleanup: remove unused field argsCampbell Barton
2018-08-29Cleanup: rename files from group to collection to match contents.Brecht Van Lommel
2018-08-23Rename: *_batch_cache_dirty > *_batch_cache_dirty_tagDalai Felinto
2018-08-23Fix T56500: Origin to geometry crashes on armatureDalai Felinto
Reviewers: sergey https://developer.blender.org/D3639
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-06-25Cleanup: rename object base flags to be more clear.Brecht Van Lommel
2018-06-22Cleanup: misc DrivedMesh stuff.Bastien Montagne
2018-06-15Fix T55408: Double transforms on parents/children.Bastien Montagne
object.base_flag was not synced back from evaluated ID to original one. Similar thing as copying back to original transform matrix, avoids having to get data from evaluated one in lots of cases.