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
2018-12-21Fix inconsistent/broken Cycles object visibility for instances.Brecht Van Lommel
Object visibility is now handled by the depsgraph iterator, but this API was incomplete as it made no distinction for visibility of the object itself, particles and generated instances. The depsgraph iterator API now includes information about which part of the object is visible, and this is used by Cycles to replace the old custom logic. Cycles and EEVEE visibility should now be consistent, which unfortunately does means some subtle compatibility breakage for both. Fixes T58956, T58202, T59284. Differential Revision: https://developer.blender.org/D4109
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-17Fix T58652: Crash editing shape keys weirdness with instancesSergey Sharybin
This is a second attempt to get the crash fixed. The original fix worked, but it was reverted by d3e0d7f0825. Now the logic goes as: - All pointers which we can not have shared (the ones which are owned by the runtime) are cleared. - The rest of runtime stays untouched. This seems to be enough to keep particles happy.
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-11Cleanup: use BKE_object_* prefix for object APICampbell Barton
Also minor style cleanup.
2018-12-11Fix T57934: non-empty duplicators don't renderCampbell Barton
Convert non-empty duplicators to empties.
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-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-23Pass viewport to BASE_ related tests, for viewport view/select restrictionsDalai Felinto
Note: functions like select all are still not respecting that. I will fix this as part of the local view commit though.
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-19Image Empties: Option to not display the backside of image emptiesJacques Lucke
Reviewers: brecht Differential Revision: https://developer.blender.org/D3964
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-15Mesh: remove DerivedMesh for boundbox calculationCampbell Barton
Fixes edit-mesh not having a boundbox calculated for it.
2018-10-08Cleanup: use DRW_object_is_* for object checksCampbell Barton
Also use const qualifier for object's.
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-07-20Fix T55973: [2.8] Crash when 'apply pose as rest pose' when bone scale is 0,0,0.Bastien Montagne
`BKE_pose_rebuild()` should (ideally) always trigger a rebuild of the depsgraph, since it can add or remove posechannels. This function now takes a Main parameter to ensure that related depsgraphes are tagged as dirty (kept it optional, for some corner cases). We should also probably double-check calls to that function, think in theory it should only be called from depsgraph itself? But for now...
2018-07-04Softbody: unified copy functionsSybren A. Stüvel
This unifies two almost-identical functions at the expense of having to add one single 'flag' value at one call. This makes copy_softbody() aware of the source/dest objects, allowing it to make a distinction between doing depsgraph evaluation copies and real object copies. This will be used in an upcoming commit to ensure that the pointcache is shared between CoW copies, similar to the current approach for rigidbody simulation.
2018-06-22Multires: Move away from using scene from modifier dataSergey Sharybin
2018-06-22Fix T55547: "Fit camera to selected" failsCampbell Barton
2018-06-12Merge branch 'master' into blender2.8Bastien Montagne
Conflicts: source/blender/collada/DocumentImporter.cpp source/blender/editors/include/ED_object.h source/blender/editors/object/object_modifier.c
2018-06-12Cleanup: remove moar G.main from BKE area.Bastien Montagne
2018-06-11Merge branch 'master' into blender2.8Bastien Montagne
Conflicts: intern/cycles/blender/blender_object.cpp source/blender/alembic/intern/abc_exporter.cc source/blender/alembic/intern/abc_mball.cc source/blender/alembic/intern/abc_mball.h source/blender/blenkernel/BKE_anim.h source/blender/blenkernel/BKE_displist.h source/blender/blenkernel/BKE_dynamicpaint.h source/blender/blenkernel/BKE_group.h source/blender/blenkernel/BKE_mball.h source/blender/blenkernel/BKE_mball_tessellate.h source/blender/blenkernel/BKE_object.h source/blender/blenkernel/BKE_scene.h source/blender/blenkernel/intern/anim.c source/blender/blenkernel/intern/depsgraph.c source/blender/blenkernel/intern/displist.c source/blender/blenkernel/intern/dynamicpaint.c source/blender/blenkernel/intern/group.c source/blender/blenkernel/intern/mball.c source/blender/blenkernel/intern/mball_tessellate.c source/blender/blenkernel/intern/mesh_convert.c source/blender/blenkernel/intern/object.c source/blender/blenkernel/intern/object_dupli.c source/blender/blenkernel/intern/object_update.c source/blender/blenkernel/intern/pointcache.c source/blender/blenkernel/intern/scene.c source/blender/blenkernel/intern/smoke.c source/blender/depsgraph/intern/builder/deg_builder_nodes.cc source/blender/depsgraph/intern/builder/deg_builder_relations.cc source/blender/editors/include/ED_object.h source/blender/editors/object/object_add.c source/blender/editors/object/object_edit.c source/blender/editors/object/object_modifier.c source/blender/editors/physics/dynamicpaint_ops.c source/blender/editors/sculpt_paint/paint_vertex.c source/blender/editors/sculpt_paint/sculpt_uv.c source/blender/editors/space_view3d/drawobject.c source/blender/editors/space_view3d/view3d_draw.c source/blender/editors/transform/transform_conversions.c source/blender/editors/transform/transform_snap_object.c source/blender/editors/util/ed_util.c source/blender/gpu/intern/gpu_material.c source/blender/makesrna/intern/rna_meta.c source/blender/makesrna/intern/rna_object_api.c source/blender/modifiers/intern/MOD_dynamicpaint.c source/blenderplayer/bad_level_call_stubs/stubs.c
2018-06-11Cleanup: Moar G.main removal of Hell.Bastien Montagne
This commit actually adds some G.main... but at much, much higher level than the ones it removes, so should still be better ;)
2018-06-08Fix crash with wertex and weight modesSergey Sharybin
Similar to recent sculpt mode.
2018-06-04Cleanup: Hopefully more clear nameSergey Sharybin
2018-06-04Add utility functions to get different "levels" of evaluated/original meshSergey Sharybin
2018-05-31Merge branch 'master' into blender2.8Bastien Montagne
Conflicts: source/blender/blenkernel/BKE_camera.h source/blender/blenkernel/BKE_dynamicpaint.h source/blender/blenkernel/BKE_object.h source/blender/blenkernel/intern/camera.c source/blender/blenkernel/intern/dynamicpaint.c source/blender/blenkernel/intern/object.c source/blender/blenkernel/intern/smoke.c source/blender/editors/object/object_transform.c source/blender/editors/physics/dynamicpaint_ops.c source/blender/editors/space_view3d/view3d_edit.c source/blender/editors/space_view3d/view3d_view.c source/blender/modifiers/intern/MOD_dynamicpaint.c source/blenderplayer/bad_level_call_stubs/stubs.c
2018-05-31Cleanup: remove G.main from BKE objectBastien Montagne
Had to add some G.main to modifiers, but in 2.8 we do not need that anymore, so it's not that bad! ;)
2018-05-30Add deformed evaluated mesh to objectSergey Sharybin
This is a first step to have correspondence of legacy derivedDeform within a new formulation. Only base ground for now to support file reading, copy-on-write remapping and such.
2018-05-30BKE_object: Add BKE_object_data_is_in_editmodeCampbell Barton
2018-05-29Use correct time for curve parent evaluationDalai Felinto
Time should alwaus come from depsgraph, not scene.
2018-05-29Object Modes: disable mode switching on selectionCampbell Barton
See T55246
2018-05-29Object Modes: only use selection for mode switchCampbell Barton
Selection is no longer needed for an object to be considered in a mode. Part of T55246 design task, fixes T55187
2018-05-25Cleanup/simplification for BKE_modifier_get_evaluated_mesh_from_objectBastien Montagne
* Added BKE_object_get_evaluated_mesh, which can also be used outside of Modifier context. * BKE_modifier_get_evaluated_mesh_from_object is now a dummy wrapper around BKE_object_get_evaluated_mesh, we do not need anything special anymore for RENDER quality option, since this is supposed to be handled at depsgraph level... Maybe we can get rid of it at some point, but kind of like the idea of keeping it for now, sounds more consitent.
2018-05-21COW Operators: Fix VIEW3D_OT_ rotate move zoom dolly orbit roll pan ↵Ines Almeida
smoothview and the ndof versions Fixes camera view locking, camera related transitions and movements with the active object as pivot point Note there can still be problems if the active object is not selectable
2018-05-18Collections and groups unificationBrecht Van Lommel
OVERVIEW * In 2.7 terminology, all layers and groups are now collection datablocks. * These collections are nestable, linkable, instanceable, overrideable, .. which opens up new ways to set up scenes and link + override data. * Viewport/render visibility and selectability are now a part of the collection and shared across all view layers and linkable. * View layers define which subset of the scene collection hierarchy is excluded for each. For many workflows one view layer can be used, these are more of an advanced feature now. OUTLINER * The outliner now has a "View Layer" display mode instead of "Collections", which can display the collections and/or objects in the view layer. * In this display mode, collections can be excluded with the right click menu. These will then be greyed out and their objects will be excluded. * To view collections not linked to any scene, the "Blender File" display mode can be used, with the new filtering option to just see Colleciton datablocks. * The outliner right click menus for collections and objects were reorganized. * Drag and drop still needs to be improved. Like before, dragging the icon or text gives different results, we'll unify this later. LINKING AND OVERRIDES * Collections can now be linked into the scene without creating an instance, with the link/append operator or from the collections view in the outliner. * Collections can get static overrides with the right click menu in the outliner, but this is rather unreliable and not clearly communicated at the moment. * We still need to improve the make override operator to turn collection instances into collections with overrides directly in the scene. PERFORMANCE * We tried to make performance not worse than before and improve it in some cases. The main thing that's still a bit slower is multiple scenes, we have to change the layer syncing to only updated affected scenes. * Collections keep a list of their parent collections for faster incremental updates in syncing and caching. * View layer bases are now in a object -> base hash to avoid quadratic time lookups internally and in API functions like visible_get(). VERSIONING * Compatibility with 2.7 files should be improved due to the new visibility controls. Of course users may not want to set up their scenes differently now to avoid having separate layers and groups. * Compatibility with 2.8 is mostly there, and was tested on Eevee demo and Hero files. There's a few things which are know to be not quite compatible, like nested layer collections inside groups. * The versioning code for 2.8 files is quite complicated, and isolated behind #ifdef so it can be removed at the end of the release cycle. KNOWN ISSUES * The G-key group operators in the 3D viewport were left mostly as is, they need to be modified still to fit better. * Same for the groups panel in the object properties. This needs to be updated still, or perhaps replaced by something better. * Collections must all have a unique name. Less restrictive namespacing is to be done later, we'll have to see how important this is as all objects within the collections must also have a unique name anyway. * Full scene copy and delete scene are exactly doing the right thing yet. Differential Revision: https://developer.blender.org/D3383 https://code.blender.org/2018/05/collections-and-groups/
2018-04-19Depsgraph: Fix crash with copy-on-write enabledSergey Sharybin
Was caused by ec0756af6c7, once again, we can't pass view layer, need to pass index. The sad part is that currently we don't have quick way to look up view layer by index. Can do similar thing as we do for bones and bases.
2018-04-18MSVC: use 'unsigned int'Campbell Barton
2018-04-18Depsgraph: Fix base flag flush for objects from set sceneSergey Sharybin
Fixes view_layer_background_set regression test. This makes Dalai happy! :)
2018-04-17Removing Blender Game Engine from Blender 2.8Dalai Felinto
Folders removed entirely: * //extern/recastnavigation * //intern/decklink * //intern/moto * //source/blender/editors/space_logic * //source/blenderplayer * //source/gameengine This includes DNA data and any reference to the BGE code in Blender itself. We are bumping the subversion. Pending tasks: * Tile/clamp code in image editor draw code. * Viewport drawing code (so much of this will go away because of BI removal that we can wait until then to remove this.
2018-04-17Pose: fix wpaint + pose mode pick & linked selectCampbell Barton
2018-04-17BKE_object: utility functions for pose accessCampbell Barton
Pose objects may be from the active object, or from the weight paint mesh. Since this is such a common check move this to a function call.
2018-04-16Depsgraph: remove EvaluationContext, pass Depsgraph instead.Brecht Van Lommel
The depsgraph was always created within a fixed evaluation context. Passing both risks the depsgraph and evaluation context not matching, and it complicates the Python API where we'd have to expose both which is not so easy to understand. This also removes the global evaluation context in main, which assumed there to be a single active scene and view layer. Differential Revision: https://developer.blender.org/D3152
2018-04-16Multi-Object EditingCampbell Barton
This adds initial multi-object editing support. - Selected objects are used when entering edit & pose modes. - Selection & tools work on all objects however many tools need porting See: T54641 for remaining tasks. Indentation will be done separately. See patch: D3101
2018-04-14Merge branch 'master' into blender2.8Campbell Barton
2018-04-14Cleanup: use const for BKE_object argsCampbell Barton
2018-04-12Depsgraph: Bind base by it's indexSergey Sharybin
For the performance we convert object bases list to an array during view layer evaluation. This makes it possible to have very cheap index-based base lookup. The goal of this change is to get rid of base used for function binding, and avoid scene datablock expansion at the depsgraph construction time.