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-05-17Eevee: Remove the Volumetric Render checkboxClément Foucault
This is to simplify the usage of Volumetrics. Now it automatically detect if there is any Volumetric material in the view and allocate the needed buffer if any.
2019-05-17Eevee: Remove the Subsurface Render checkboxClément Foucault
This is to simplify the usage of SSS. Now it automatically detect if there is any SSS material in the view and allocate the needed buffer if any.
2019-05-17Report an error when trying to remove non-in-main datablockSergey Sharybin
After recent dependency graph API changes it became easy to violate ownership design (since its changed) and request removal of out-of-main temporary mesh. This confuses Blender and can cause crashes/locks. Fixes T64731: Blender freezes after assigning result of object.to_mesh()
2019-05-17Depsgraph: State behavior details more explicitlySergey Sharybin
2019-05-17Mesh Select: use select context instead of static structsmano-wii
This patch does not bring any functional change, but it does expose some utilities that can be very useful to correct occlusion and performance problems of Circle Select and similar. Creating a selection context still makes it easier to track issues.
2019-05-16Fix T64725: light power property dragging uses too small incrementsBrecht Van Lommel
2019-05-16Cycles/Eeeve: unify film transparent settingJeroen Bakker
For existing files, it will use the setting from Cycles or Eevee depending on the render engine in the scene. Differential Revision: https://developer.blender.org/D4874
2019-05-16Cycles: Fix missing viewport updates after recent changesSergey Sharybin
We can not access ensured-to-be-evaluated dependency graph from the render API: some of it is running from within evaluation which makes it possible for engines to access list of evaluated IDs. Solved by passing dependency graph to viewport functions, similar to the final render functions.
2019-05-16Tweak API to support adding evaluated meshes to main databaseSergey Sharybin
One of the usecases is to create mesh from an object is a manner similar to how Apply Modifiers does it, and have it in the bmain so it can be referenced by other objects. This usecase is something what went unnoticed in the previous API changes, so here is a followup. Summary of changes: * bpy.meshes.new_from_object() behaves almost the same as before this change. The difference now is that it now ensures all referenced data-blocks are original (for example, materials referenced by the mesh). * object.to_mesh() now creates free-standing Mesh data-block which is outside of any bmain. The object owns it, which guarantees the memory never leaks. It is possible to force free memory by calling object.to_mesh_clear(). Reviewers: brecht Reviewed By: brecht Differential Revision: https://developer.blender.org/D4875
2019-05-16Fix T64576: Duplicate option in the headerCampbell Barton
D4856 by @Gvgeo
2019-05-16Depsgraph: Make depsgraph.update() safe for threadingSergey Sharybin
This is same as view_layer.update() is doing.
2019-05-16UI: tweak display of active, selected and edited items in the outlinerHarley Acheson
* Change circle to roundbox around active icons, so they don't overflow. * Change text color to indicate selected and active state. Differential Revision: https://developer.blender.org/D4650
2019-05-16Refactor: Simplify ID Property freeingJacques Lucke
This also makes `IDP_CopyProperty` the "opposite" of `IDP_FreeProperty`, which is what I'd expect. Two refactoring steps: * rename IDP_FreeProperty to IDP_FreePropertyContent * new IDP_FreeProperty function that actually frees the property Reviewers: brecht Differential Revision: https://developer.blender.org/D4872
2019-05-16GPencil: New filter in Onion by keyframe typeAntonioya
This new filter allows to select only some type of keyframe (keyframe, breakdown, etc). This was a request of artists that are used to work with other 2D softwares. Also some cleanup to remove aninmatable option to some properties.
2019-05-16UI: Video Sequencer sidebar overhaulWilliam Reynish
- Use single column layout - Move the rather obscure Backdrop toggle into the View menu - Use correct units for Crop and Offset (pixels) - Re-organize the sidebar in 2 main groups: Adjust & Info Adjust includes Compositing, Offset, Crop, Video, Color, Sound Info includes strip name, path, start/end and other data Original changes by tintwotin, with changes and adjustments on top by me
2019-05-16Dependency graph API changesSergey Sharybin
Main goal here is to make it obvious and predictable about what is going on. Summary of changes. - Access to dependency graph is now only possible to a fully evaluated graph. This is now done via context.evaluated_depsgraph_get(). The call will ensure both relations and datablocks are updated. This way we don't allow access to some known bad state of the graph, and also making explicit that getting update dependency graph is not cheap. - Access to evaluated ID is now possible via id.evaluated_get(). It was already possible to get evaluated ID via dependency graph, but that was a bit confusing why access to original is done via ID and to evaluated via depsgraph. If datablock is not covered by dependency graph it will be returned as-is. - Similarly, request for original from an ID which is not evaluated will return ID as-is. - Removed scene.update(). This is very expensive to update all the view layers. - Added depsgraph.update(). Now when temporary changes to objects are to be done, this is to happen on original object and then dependency graph is to be updated. - Changed object.to_mesh() to behave the following way: * When is used for original object modifiers are ignored. For meshes this acts similar to mesh-copy, not very useful but allows to keep code paths similar (i.e. for exporter which has Apply Modifiers option it's only matter choosing between original and evaluated object, the to_mesh() part can stay the same). For curves this gives a mesh which is constructed from displist without taking own modifiers and modifiers of bevel/taper objects into account. For metaballs this gives empty mesh. Polygonization of metaball is not possible from a single object. * When is used for evaluated object modifiers are always applied. In fact, no evaluation is happening, the mesh is either copied as-is, or constructed from current state of curve cache. Arguments to apply modifiers and calculate original coordinates (ORCO, aka undeformed coordinates) are removed. The ORCO is to be calculated as part of dependency graph evaluation. File used to regression-test (a packed Python script into .blend): {F7033464} Patch to make addons tests to pass: {F7033466} NOTE: I've included changes to FBX exporter, and those are addressing report T63689. NOTE: All the enabled-by-default addons are to be ported still, but first want to have agreement on this part of changes. NOTE: Also need to work on documentation for Python API, but, again, better be done after having agreement on this work. Reviewers: brecht, campbellbarton, mont29 Differential Revision: https://developer.blender.org/D4834
2019-05-16RNA: new FCurve.is_empty property that exposes the new empty curve check.Alexander Gavrilov
2019-05-16RNA: add 3D cursor matrix attributeCampbell Barton
Avoids having to check rotation modes to get the orientation.
2019-05-16Theme: add color difference for every other rowCampbell Barton
D4862 by @CandleComet with minor edits.
2019-05-15Objects: new 3D cursor alignment option when adding objectsHans Goudey
The choices are now World, View and 3D Cursor. This breaks Python API compatibility, add-ons that add objects with this parameter will need to be updated. Differential Revision: https://developer.blender.org/D4706
2019-05-15Lights: change sun light size to be specified as angleTim Stullich
This is the angular diameter as seen from earth, which is between 0.526° and 0.545° in reality. Sharing the size with other light types did not make much sense and meant the unit was unclear. Differential Revision: https://developer.blender.org/D4819
2019-05-15Fix icon for outliner temporarily hideDalai Felinto
2019-05-15Eevee: Add per material option to cull backfacesClément Foucault
This is in order to have more flexibility and to have an explicit option for final renders.
2019-05-15Gizmo: add depth bias for 3D selectionCampbell Barton
This allows some gizmos priority over others even when they're behind.
2019-05-15Outliner Restriction: Naming sanitization and iconDalai Felinto
No major API change here, only in the outliner restriction column variables (e.g., show_restrict_column_selectable > show_restrict_column_select). * Get rid of _INSTANCE (introduced on b1af68200159). * Differentiate (everywhere but the API) between HIDE (temporary) and VIEWPORT (global). * Use the expected icon for restrict viewport (same as objects and modifiers). * selectable > select
2019-05-14T64607: Outliner UI TooltipsDalai Felinto
In the outliner we don't have yet a clear distinction for the users of when to use each of the visibility settings. This changes that by properly naming the property and their tooltips. I'm also unifying the naming between the rna properties and the outliner for collections and objects (e.g., so collection and object hide_select have the same tooltips everywhere). The API did not change.
2019-05-14Depsgraph: dependency on B-Bone start handle end roll when inheriting it.Alexander Gavrilov
Specifically the dependency is on any drivers that may be affecting the RNA property of the handle bone, which currently link to segments.
2019-05-14Armature: implement universal hash table lookup of Bone objects by name.Alexander Gavrilov
Since drivers on Bone properties are really supposed to be stored in Armature data and access bones via its bones[] collection, this lookup path should work efficiently. Mass lookup of bones by name was already done through hashes, but they were built temporarily every time that was needed. This simply replaces it with a common hash table computed immediately after file load, copy, or Edit to Object mode switch.
2019-05-14Cleanup: isolate image dirty flag access in functionsBrecht Van Lommel
2019-05-14GPencil: Rename property Follow Drawing Path to AlignmentAntonioya
The old name was not clear and with new options the new name is more easy to understand.
2019-05-14UI: Improve naming for Collections Enable/DisableWilliam Reynish
- Fix 'ddisable' typo - Use clearer names for the operators in the Collections context menu Instead of Set Exclude / Clear Exclude, we now use Enable in View Layer / Disable from View Layer
2019-05-14Fix T63542: Imported FBX doesn't show keyframes in Shape Key editor.Bastien Montagne
While shapekeys RNA path handling does support keyblocks (ShapeKeys) with an `id_data` wrongly set to the geometry instead of the shapkey, this is really not something to promote. ideally it should be removed at some point. At least, let's not generate such RNA pointer if we can avoid it. Here it was breaking proper showing of animated shapekeys in the UI, since this expects animated datablocks to have their own animation data (and 'rooting' keyblocks to their mesh instead of their shapekey ended up defining their animation in the mesh, not in the shapekey).
2019-05-14Screen: replace show footer operator with propertyCampbell Barton
This matches 'show header' internal logic.
2019-05-14Fix T64441: GPencil textures weird rotationAntonioya
New option to disable the follow drawing path. Before it had only a switch property, now there is a list of options. Modes: Path: Follows drawing stroke and rotate with object. Object: Only follows object rotation. None: Don't rotate.
2019-05-14RNA: fix the id_data pointer of PoseBone.bone to point at the Armature.Alexander Gavrilov
The owning ID reference of RNA pointers is supposed to point at the ID container that owns the object, but for PoseBone.bone it wasn't updated to point at the Armature data ID instead of Armature Object. This caused issues, like pose_bone.bone.driver_add() adding the driver to the Armature Object animation data, which violates the intended design of the animation data structures. Since RNA code generally assumes that all pointers that don't refer directly to an ID remain within the current ID, a custom getter is required to fix this.
2019-05-13Python API: expose conversion between tweaked NLA strip and scene time.Alexander Gavrilov
This is necessary to correctly do low-level keyframe manipulation in tweak mode, and the logic is complex enough that re-implementing it in Python is impractical.
2019-05-13I18n Disambiguation: "Shift".Bastien Montagne
Give WM context to the shortcut, since this is more specific meaning than usual 'shifting' one... Part of T43295.
2019-05-13I18n Disambiguation: One more case of 'Root' falloff without 'Curve' context.Bastien Montagne
Part of T43295.
2019-05-13Cycles/Eevee: unified and improved texture image color space handlingBrecht Van Lommel
Cycles now uses the color space on the image datablock, and uses OpenColorIO to convert to scene linear as needed. Byte images do not take extra memory, they are compressed in scene linear + sRGB transfer function which in common cases is a no-op. Eevee and workbench were changed to work similar. Float images are stored as scene linear. Byte images are compressed as scene linear + sRGB and stored in a GL_SRGB8_ALPHA8 texture. From the GLSL shader side this means they are read as scene linear, simplifying the code and taking advantage of hardware support. Further, OpenGL image textures are now all stored with premultiplied alpha. Eevee texture sampling looks a little different now because interpolation happens premultiplied and in scene linear space. Overlays and grease pencil work in sRGB space so those now have an extra conversion to sRGB after reading from image textures. This is not particularly elegant but as long as engines use different conventions, one or the other needs to do conversion. This change breaks compatibility for cases where multiple image texture nodes were using the same image with different color space node settings. However it gives more predictable behavior for baking and texture painting if save, load and image editing operations have a single color space to handle. Differential Revision: https://developer.blender.org/D4807
2019-05-13RNA: disable undo on OperatorProperties and its subclasses.Alexander Gavrilov
Since these are temporary properties, changing them shouldn't cause undo pushes. There already is a flag to disable that, but since each operator inherits its own properties from the base, RNA define code also had to be changed to allow inheriting the flag.
2019-05-13Fix unintended autosaving of preferences in a few casesBrecht Van Lommel
* Dirty flag was not cleared on load * Navigating tabs should not cause save * Background mode should not autosave (for e.g. render farms and tests)
2019-05-13Python API: expose preferences.is_dirtyBrecht Van Lommel
2019-05-13Preferences: auto-save on exitCampbell Barton
Save modified preferences on exit by default, with the option to disable this.
2019-05-13Preferences: tag as dirty for add-ons & loading factory startupCampbell Barton
2019-05-11Python API: expose more keyframing flags for use in keyframe_insert.Alexander Gavrilov
Expose REPLACE and CYCLE_AWARE, and add AVAILABLE for completeness. These flags are generic and safe to use, and necessary to match the behavior of certain UI options.
2019-05-11Revert API change (hide_viewport > hide_instance)Dalai Felinto
The change was introduced on b1af68200159. We may still change the name functionality of this anyways - we are not really changing only the instancing visibility here at the moment. So there is no reason to break the API in the meantime. And in the future we can simply add a new API entry, leaving the old one to be slowly deprecated.
2019-05-11Fix error in recent is_dirty preferences flagCampbell Barton
Error in b95b6b796695a8b82 caused crash changing themes. Resolves T64444
2019-05-11Outliner Visibility UpdateDalai Felinto
See T61578 for discussions and mockups. Visibility Options ================== We are adding more granular control over restriction columns in the outliner, exposing "indirect only" and "holdout" as options, and change the way users enable/disable collections in a viewlayer. We also rename the object viewport restriction to hide instance. So the options we have are: Collection ---------- * Render Visibility * Instance Visibility * Selectable (View) Layer Collection ----------------------- * Enable * Holdout * Indirect Only * Viewport Shortcuts ========= Isolate Collection ------------------ * Ctr + click isolates the collection. It turns all its parents and children "visible", and all the other collections "invisible". If ALL the collections were already properly set, we re-set the collections to their default value. Set Collection Inside Collections and Objects --------------------------------------------- * Shift + click: Set/unset inside collections and objects. We only set objects values as well when we are in View Layer mode and (obviously) when the objects have a matching property. Icons ===== Little reminder that we will need better icons for holdout, indirect only, and probably instanced (nothing wrong with the current, but it differs from the proposal when it is turned off). Also, we need to decide where do we want the modifier/bones/... icons to be (in which column) and ideally make sure their icons match the ones we use for collections/objects. At the moment those are using the screen icon, which is not being used by collections. Reviewers: brecht, billrey Subscribers: pablovazquez Differential Revision: https://developer.blender.org/D4823
2019-05-10Preferences: add is_dirty memberCampbell Barton
Tag preferences as dirty when changed (prepare for adding auto-save).
2019-05-09Themes: add setting to draw border around icons, use for Blender LightJeroen Bakker
Monochrome colored icons don't work well on a dark background, so now we can add a border around them. Note that most icons in the interface will remain without a border, just the outliner and properties editor navigation have colored icons and those will get a border. Other icons continue to be drawn in the text colored without a border. Differential Revision: https://developer.blender.org/D4787