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
2020-09-04Cleanup: Clang-Tidy readability-inconsistent-declaration-parameter-name fixSebastian Parborg
No functional changes
2020-08-21Cleanup: split `BKE_scene_get_depsgraph()` into two functionsSybren A. Stüvel
Split the depsgraph allocation into a separate function `BKE_scene_ensure_depsgraph()`. Parameters are only passed to those functions that actually need them. This removes the the "if that boolean is `false` this pointer is allowed to be `NULL`" logic and more cleanly decouples code. No functional changes.
2020-08-21Fix crash when accessing `view_layer.depsgraph` through BPYJulian Eisel
For the sanity checks to work we don't actually need to check other scenes. So this function can be simplified so that it does not require a `Main *`. Mistake in 5cc08510e0a6.
2020-08-19RNA: Validate scene/view-layer combination for statistics queryJulian Eisel
Users may input an invalid scene/view-layer combination via Python. We can easily detect that and fail gracefully. Besides checking input parameters in RNA, also assert the scene/view-layer combination is valid in lower level Depsgraph lookup function (called by statistics query).
2020-08-18Cleanup: remove bmain argument from BKE_scene_graph_update_for_newframeJacques Lucke
Reviewers: sergey Differential Revision: https://developer.blender.org/D8613
2020-08-07Code Style: use "#pragma once" in source directoryJacques Lucke
This replaces header include guards with `#pragma once`. A couple of include guards are not removed yet (e.g. `__RNA_TYPES_H__`), because they are used in other places. This patch has been generated by P1561 followed by `make format`. Differential Revision: https://developer.blender.org/D8466
2020-06-10Cleanup: rename `BKE_scene_copy` to `_update`.Bastien Montagne
Matches other similar cases for collection and object, and general naming rule (copy is for generic ID copying, duplicate is for more involved and poweful behaviors specific to an ID type).
2020-06-10Cleanup: use proper enum type in parameter of BKE_scene_copy.Bastien Montagne
2020-04-17Fix T75686: Animating scene audio volume doesn't workSybren A. Stüvel
Scene audio volume changes require the scene to be tagged with `ID_RECALC_AUDIO_VOLUME` (see `BKE_scene_update_sound()`). Tagging happens in the RNA update function `rna_Scene_volume_update()`, but that function is not called by the animation system. As a result, animated volume changes are not sent to the audio system. This commit adds a new depsgraph operation node that sets this tag when necessary, so that the animated values are used in the rest of the depsgraph evaluation. Reviewed By: sergey Differential Revision: https://developer.blender.org/D7429
2020-03-17Depsgraph: Adds helpers to extract/restore despgraphs in a given Main.Bastien Montagne
Extract will steal all depsgraphs currently stored in given bmain, and restore will put them back in place, using scene and viewlayers as keys. Preliminary work for undo-speedup. Part of T60695/D6580.
2020-03-13Cleanup: pass const args (mostly Scene & RenderData)Campbell Barton
2020-03-11Fix T74296: Free depsgraph when view layer is removedJacques Lucke
Reviewers: sergey Differential Revision: https://developer.blender.org/D7110
2020-03-06Cleanup: Scene: New IDTypeInfo, and remove unused API from BKE.Bastien Montagne
2020-03-06Cleanup: use 'r_' prefix for return argumentsCampbell Barton
Also avoid a redundant strlen call.
2020-03-04Refactor ID make local to use a single flag parameter.Bastien Montagne
Instead of using anonymous booleans flags, also allows to keep the same behavior in all cases, without needing special handling from calling code for our beloved oddballs object proxies...
2020-01-28Cleanup: fix compiler warnings related to deprecated membersBrecht Van Lommel
For Freestyle, it helps to move the struct copy from C++ to C, where the compiler knows that copying deprecated members is ok.
2019-10-16Fix T70850: Scene.frame_set doesn't update camera from markersCampbell Barton
2019-10-04Fix assert when deleting a RBW constraint object.Bastien Montagne
Side-reported in T70505. Code did not ensure deleted object was removed from the RBW constraints collection, leading to some invalid status (object in constraints collection but without relevant contraints data). Also fixed another issue - code deleting RBW objects would try to remove any constraint one using it as target, in a very bad and broken way, since you cannot iterate over objects of a collection while removing some... Now instead just NULLify relevant pointers... I hope it works, otherwise we'll have to take a different approach. Needless to stress again how weak the whole RBW code is in general, and regarding same object being used by RBW in more than one scene in particular, that is known broken situation anyway.
2019-09-11Depsgraph: Pass bmain to depsgraph object creationSergey Sharybin
Currently unused, but will allow to keep of an owner of the depsgraph. Could also simplify other APIs in the future by avoiding to pass bmain explicitly to relation update functions and things like that.
2019-08-25Cleanup: redundant struct declarationsCampbell Barton
2019-08-02Cleanup: correct name for scene frame conversionCampbell Barton
Thanks to @sybren for pointing out issue from 299ff91ea1fe5
2019-06-17Fix T65817: Video Sequencer doesen't render speakers' soundsSergey Sharybin
Part of the issue was caused by missing speaker objects in the depsgraph used for post-processing. Remaining part was caused by missing scene sound update for this depsgraph.
2019-06-05Sound: Port to a copy-on-write conceptSergey Sharybin
This change makes it so sound handles are created for evaluated scene, sequencer and speakers. This allows to have properly evaluated animation on them. For the viewport playback sound uses regular dependency graph. For the final render sound uses dependency graph created for render pipeline, which now also contains sequencer and sound datablocks. All the direct sound update calls are replaced with corresponding dependency graph recalc tag.
2019-05-28Depsgraph: Only invoke callbacks when there are changesSergey Sharybin
Only affects when an evaluated dependency graph is requested via context. Makes it cheap to call when there are no changes made to the graph
2019-05-16RNA: add 3D cursor matrix attributeCampbell Barton
Avoids having to check rotation modes to get the orientation.
2019-05-07Sound: Revert all the recent changes to soundSergey Sharybin
This happened to be a bigger rabbit hole to hell than it originally seemed, and there are higher priority design tasks to be handled (at this point high priority design task is more important than high priority bug fix). After talking to Brecht the decision was made to revert to the known isolated issue, which will allow everyone in the studio work same as prior to last Friday. The remaining bits will be worked on after all the design tasks are out of the way. This commit reverts: 4cdb4b9532c Fix T64161: Crashing using undo and multiple windows 064273a4ae7 Sound: Port more cases to be a part of dependency graph 2e582f8ab53 Sound: Fix access wrong dependency graph 5fc49d9c915 Sound: add stubs to build without audaspace c68c81a870b Sound: Make sure spin lock is initialized for new sound datablocks c02534469ac Sound: Delay creating sound scene handle for until is needed 9f681bea68f Fix T64144: Crash when displaying audio waveforms in VSE 2f79286453e Cleanup: unused vars bed8ad6f95a Fix crash in background rendering after recent sound changes 773691310f9 Fix T64143: Crash when scrubbing in the graph editor 888852055c1 Sound: Fix for being unable to jump to a frame during playback with A/V sync 6ab7b384645 Sound: More fixes for access of original scene 35db1195455 Sound: Fix access original scene during playback 211c4fd2e9a Depsgraph: Make comment about evaluation more obvious c5fe16e121e Sound: Make sound handles only be in evaluated datablocks b4e1e0946bf Depsgraph: Preserve sound and audio pointers through copy-on-write 4eedf784b04 Depsgraph: Store original sequencer strip pointer 6990ef151c1 Sound: Move evaluation to dependency graph d02da8de23b Sound: Delay opening handlers for until really needed 3369b828916 Depsgraph: Add scene audio component e8f10d64757 Depsgraph: Tag sequencer for update on changes 6e4b7a6e4d9 Depsgraph: Initial work to cover sequencer 17447ac5a6b Depsgraph: Make sound ID part of the graph
2019-05-03Depsgraph: Make comment about evaluation more obviousSergey Sharybin
2019-05-03Sound: Move evaluation to dependency graphSergey Sharybin
The sound handles are still in the original datablocks, so it's easier to test since there should be no functional changes.
2019-04-30Remove BKE_scene_object_base_flag_sync_from_objectDalai Felinto
Note the fix for T62865 is still working fine.
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-13Gizmo: move transform to a persistent optionCampbell Barton
Based on feedback from animators, this is useful to keep as a view option (as in 2.7x). Now the transform gizmos can be enabled from the popover, the tools still work for location/scale/rotation. The transform tool has been removed. See T63518
2019-04-02Fix T62970: Scene Copy: remove 'linked objects/obdata', add 'linked ↵Bastien Montagne
collections'. 'Linked objects' option was not behaving correctly before, effectively linking in collections, so this one has been renamed to just 'Linked Copy', and gives a fully shallow copy of current scene. 'Linked Obdata' was not really useful, kind of confusing, and was painful to maintain, so dropping it now.
2019-02-253D View: support for editing cursor rotationCampbell Barton
Add buttons for editing the cursor rotation as well as rotation modes, similar to object and pose bones.
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-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-02Cleanup: remove author/date info from doxy headersCampbell Barton
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-28Cleanup: sort forward declarations of enum & structCampbell Barton
Done using: source/tools/utils_maintenance/c_sort_blocks.py
2018-12-30Cleanup: remove non-existing function declarationsCampbell Barton
2018-12-19Gizmo: optional custom orientations for transformCampbell Barton
This aims to resolve a conflict where some users want to keep keyboard axis setting global, even when the orientation is set to something else. Move/rotate/scale can optionally each have a separate orientation. Some UI changes will be made next.
2018-11-26UI: rename "OpenGL" render engine to "Workbench".Brecht Van Lommel
Neither is very descriptive for its task, but at least workbench is more future proof and distinguishes it from Eevee.
2018-08-03Depsgraph: add helper to ensure a given scene/view_layer graph is up-to-date.Bastien Montagne
Since that call make the graph active, it should only be used in active editing context aware code (i.e. essentially, operators).
2018-07-30Merge branch 'master' into blender2.8Campbell Barton
2018-07-30Use Ctrl Snap to seconds w/ play-head dragCampbell Barton
D3056 by @alourenco
2018-07-17Render: add "OpenGL" render engine.Brecht Van Lommel
This is intended for quick renders for previsualization, animation previews or sequencer previews. It provides the same settings as found in the 3D view Shading popover in solid display mode, but in the scene render properties. The "Workbench" engine was removed, and this name no longer appears in the user interface, it's purely an internal name. We might come up with a better name for this OpenGL engine still, but it's good to be consistent with the OpenGL Render operator name since this has a similar purpose.
2018-06-19Remove rigid body from rbw->group when deletingSybren A. Stüvel
I moved some code from ED_rigidbody_object_remove() to BKE_rigidbody_remove_object(), so that calling the latter doesn't leave the object in rbw->group (causing a crash later on when rebuilding the depsgraph).
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-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-26Workspaces: active view layer now always comes from workspace, not scene.Brecht Van Lommel
Both the scene and workspace had an active view layer, and it was confusing which settings were being used or displayed where. Now we always have one, so there is no mismatch. The "View Layers" tab in the properties editor is now "View Layer", no longer showing a list of layers. Instead view layers can be added and removed with the workspace view layer selector. They are also listed and selectable in the outliner. Single layer rendering uses the active view layer from the workspace. This fixes bugs where the wrong active view layer was used, but more places remain that are wrong and are now using the first view layer in the scene. These are all marked with BKE_view_layer_context_active_PLACEHOLDER.
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.