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-06Undo System: remove accumulate/store modesCampbell Barton
This complicated handling of undo steps in a generic way especially switching between undo systems that stored data to ones that accumulated changes. Now each undo system must treat it's steps as check-point, internally it can apply/rewind changes. This commit also fixes projection paint where the object mode wasn't following the undo steps.
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-31Fix T61032: Switching to sculpt tab causes undo to set object modeCampbell Barton
Workspace switching changed modes w/o the 3D view, causing sculpt undo's poll function to fail. Applied the same logic for texture paint too.
2019-01-31Undo System: add Main argument to encode/decodeCampbell Barton
Needed since we don't always have the context, and avoids adding G_MAIN into undo callbacks.
2019-01-30Fix T60974: Dyntopo crash on undo after object deletedCampbell Barton
Add the ability for undo steps to request memfile undo step added after them, useful for mode switching, where we need the data to exist for undo to enter the mode.
2019-01-09Fix sculpt redo failing to enable dyntopoCampbell Barton
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-12-03Merge branch 'master' into blender2.8Campbell Barton
2018-12-03Fix T56331: Undo crash w/ sculpt on hidden layerCampbell Barton
2018-09-20Sculpt: Fix undo not working for multiresSergey Sharybin
2018-09-20Merge branch 'master' into blender2.8Sergey Sharybin
2018-09-20Sculpt: Fix memory leak in undo systemSergey Sharybin
Was not freeing undo nodes themselves.
2018-07-05Sculpt: Fix disappearing object on undoSergey Sharybin
Tagging object for copy on write will ruin its PBVH. Since sculpting is an "original" domain, we only need to update draw batches to update.
2018-07-03Sculpt: Fix possible race condition with undo nodesSergey Sharybin
it is possible that two threads will request same undo node, only one of them will initialize the node. The issue is that initialization is happening outside of a lock, which was making one thread to use non- initialized node. If this change is ever a bottleneck, make a lock inside of node.
2018-06-25Fix T55493: Sculpting on smooth shaded bug.Bastien Montagne
Undo was not tagging PBVH to update normals too...
2018-06-08Add check in BKE_pbvh_apply_vertCos that number of deforming cos matches ↵Bastien Montagne
number of pbvh vertices. This shall help catching issues in future.
2018-06-07Merge branch 'master' into blender2.8Bastien Montagne
Conflicts: source/blender/editors/sculpt_paint/paint_vertex.c source/blender/editors/sculpt_paint/sculpt.c source/blender/editors/sculpt_paint/sculpt_undo.c
2018-06-07Cleanup: typo, and 0 -> false for booleans.Bastien Montagne
2018-06-07Fix sculpt mode undo (COW update needed)Campbell Barton
2018-06-05Moved function declarations from BKE_DerivedMesh.h to BKE_mesh_runtime.hSybren A. Stüvel
The function definitions still reside in DerivedMesh.c. Once we're done porting all the DerivedMesh use to Mesh, we'll move the still-relevant functions to mesh_runtime.c. This move is now cumbersome due to shared statically-declared utility functions in DerivedMesh.c
2018-06-04Merge branch 'master' into blender2.8Campbell Barton
2018-06-04Cleanup: strip trailing space in editorsCampbell Barton
2018-04-19Remove Blender Internal and legacy viewport from Blender 2.8.Ton Roosendaal
Brecht authored this commit, but he gave me the honours to actually do it. Here it goes; Blender Internal. Bye bye, you did great! * Point density, voxel data, ocean, environment map textures were removed, as these only worked within BI rendering. Note that the ocean modifier and the Cycles point density shader node continue to work. * Dynamic paint using material shading was removed, as this only worked with BI. If we ever wanted to support this again probably it should go through the baking API. * GPU shader export through the Python API was removed. This only worked for the old BI GLSL shaders, which no longer exists. Doing something similar for Eevee would be significantly more complicated because it uses a lot of multiplass rendering and logic outside the shader, it's probably impractical. * Collada material import / export code is mostly gone, as it only worked for BI materials. We need to add Cycles / Eevee material support at some point. * The mesh noise operator was removed since it only worked with BI material texture slots. A displacement modifier can be used instead. * The delete texture paint slot operator was removed since it only worked for BI material texture slots. Could be added back with node support. * Not all legacy viewport features are supported in the new viewport, but their code was removed. If we need to bring anything back we can look at older git revisions. * There is some legacy viewport code that I could not remove yet, and some that I probably missed. * Shader node execution code was left mostly intact, even though it is not used anywhere now. We may eventually use this to replace the texture nodes with Cycles / Eevee shader nodes. * The Cycles Bake panel now includes settings for baking multires normal and displacement maps. The underlying code needs to be merged properly, and we plan to add back support for multires AO baking and add support to Cycles baking for features like vertex color, displacement, and other missing baking features. * This commit removes DNA and the Python API for BI material, lamp, world and scene settings. This breaks a lot of addons. * There is more DNA that can be removed or renamed, where Cycles or Eevee are reusing some old BI properties but the names are not really correct anymore. * Texture slots for materials, lamps and world were removed. They remain for brushes, particles and freestyle linestyles. * 'BLENDER_RENDER' remains in the COMPAT_ENGINES of UI panels. Cycles and other renderers use this to find all panels to show, minus a few panels that they have their own replacement for.
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-05Remove workspace object mode, reverts changes w/ 2.8Campbell Barton
This caused too many problems syncing object modes with multiple objects/windows/workspaces, see: D3130 for details.
2018-04-03Merge branch 'master' into blender2.8Campbell Barton
2018-04-03Undo: replace global access w/ ED_undo_stack_getCampbell Barton
While I'd like to avoid using this too much since the operator system should handle. It's less trouble than accessing it inline each time.
2018-04-01Merge branch 'master' into blender2.8Campbell Barton
- Undo that changes modes currently asserts, since undo is now screen data. Most likely we will change how object mode and workspaces work since it's not practical/maintainable at the moment. - Removed view_layer from particle settings (wasn't needed and complicated undo).
2018-03-31Undo: unified undo system w/ linear historyCampbell Barton
- Use a single undo history for all operations. - UndoType's are registered and poll the context to check if they should be used when performing an undo push. - Mode switching is used to ensure the state is correct before undo data is restored. - Some undo types accumulate changes (image & text editing) others store the state multiple times (with de-duplication). This is supported by checking UndoStack.mode `ACCUMULATE` / `STORE`. - Each undo step stores ID datablocks they use with utilities to help manage restoring correct ID's. Needed since global undo is now mixed with other modes undo. - Currently performs each undo step when going up/down history Previously this wasn't done, making history fail in some cases. This can be optimized to skip some combinations of undo steps. grease-pencil is an exception which has not been updated since it integrates undo into the draw-session. See D3113
2018-02-19Cleanup: sync vertex-paint and sculpt from 2.8Campbell Barton
Sync API changes from 2.8 to master.
2018-02-16Object Mode: exit sculpt on selectionCampbell Barton
2018-02-15Merge branch 'master' into blender2.8Campbell Barton
2018-02-15Cleanup: rename BLI_thread.h APICampbell Barton
- Use BLI_threadpool_ prefix for (deprecated) thread/listbase API. - Use BLI_thread as prefix for other functions. See P614 to apply instead of manually resolving conflicts.
2018-02-06Object Mode: use eval_ctx for modifiers_isCorrectableDeformedCampbell Barton
Some other minor changes from D3037 as well
2018-02-06Object Mode: use eval_ctx for context/screen codeCampbell Barton
2018-01-10Merge branch 'master' into blender2.8Sergey Sharybin
2018-01-10Task scheduler: Use restrict pointer qualifierSergey Sharybin
Those pointers are never to be aliased, so let's be explicit about this and hope compiler does save some CPU ticks.
2018-01-09Merge branch 'master' into blender2.8Sergey Sharybin
2018-01-09Task scheduler: Use single parallel range function with more flexible functionSergey Sharybin
Now all the fine-tuning is happening using parallel range settings structure, which avoid passing long lists of arguments, allows extend fine-tuning further, avoid having lots of various functions which basically does the same thing.
2018-01-09Task scheduler: Get rid of extended version of parallel range callbackSergey Sharybin
Wrap all arguments into TLS type of argument. Avoids some branching and also makes it easier to extend things in the future.
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-06-08Replace all old DAG calls with direct calls to new DEG and remove ↵Luca Rood
BKE_depsgraph.h This removes BKE_depsgraph.h and depsgraph.c
2016-07-01BMesh: make toolflags optionalCampbell Barton
Saves 8 bytes per vert/edge/face. Gives overall ~20-25% memory saving for dyntopo sculpting and modifiers that use BMesh.
2016-02-29Fix T47604: Sculpt + Modifier undo gives invalid normalsCampbell Barton
2016-02-13Optimize sculpt undo, avoid redundant updatesCampbell Barton
On undo, sculpting regular meshes would update _all_ GPU VBO's. Avoiding the update gives noticeably faster undo. This is also a fix/workaround for strange behavior with NVidia's driver (T47232), Where locking and unlocking all buffers for updating slows down redraw speed permanently after the first undo. However the problem isn't avoided entirely since a single brush stroke might modify most of the mesh.
2016-01-20Cleanup: remove remainings of OMP in sculptpaint area.Bastien Montagne
2016-01-16Cleanup: BLI_task - API changes.Bastien Montagne
Based on usages so far: - Split callback worker func in two, 'basic' and 'extended' versions. The former goes back to the simplest verion, while the later keeps the 'userdata_chunk', and gets the thread_id too. - Add use_threading to simple BLI_task_parallel_range(), turns out we need this pretty much systematically, and allows to get rid of most usages of BLI_task_parallel_range_ex(). - Now BLI_task_parallel_range() expects 'basic' version of callback, while BLI_task_parallel_range_ex() expectes 'extended' version of the callback. All in all, this should make common usage of BLI_task_parallel_range simpler (less verbose), and add access to advanced callback to thread id, which is mandatory in some (future) cases.
2016-01-12Final OMP -> BLI_task commit for sculpt code.Bastien Montagne
2015-10-28Fix T46471: Sculpt strokes doesn't mark file as modifiedSergey Sharybin
2015-07-26Fix bug in particle API accessing the emitterCampbell Barton