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-22Remove "_base*" from context APIDalai Felinto
We are not exposing RNA_ObjectBase in the 2.80 API. Thus we can't have operators relying on it (e.g, CTX_data_visible_bases, CTX_data_active_base, ...). Otherwise users won't be able to override context for these operators. This commit keep the CTX_data_.*bases() functions around so we don't need to change the operators and potentially break things that late into 2.80. However as far as the Python scripters are concerned there is no base to be overriden, ever. That also simplify the guessing game addon developers have to play when trying to override an operatori context. They still need to find whether an operator requires editables, visibles, selected, ... objects. But at least they don't need to find out whether the operators need base or object.
2019-05-21VSE: Don't store `cfra` in cacheRichard Antalik
Strips can move in time. Using cfra may give us erratic results. Reviewed by: brecht Differential Revision: https://developer.blender.org/D4898
2019-05-21Fix T64414: crash deleting collection used for particle group and use countBrecht Van Lommel
2019-05-21Cleanup: remove unused functionBrecht Van Lommel
2019-05-21Cleanup: clang-format, sort structsCampbell Barton
2019-05-21Particle: optimize threading for many particles and many coresJuan Gea
The maximum particles per task of 256 was outdated and lead to too much thread contention. Instead define a low fixed number of tasks per thread. On a i7-7700HQ, creating 4 million particles went down from 31s to 4s. Thanks to Oscar Abad, Sav Martin, Zebus3d, Sebastián Barschkis and Martin Felke for testing and advice. Differential Revision: https://developer.blender.org/D4910
2019-05-21Fix T64804 crash editing image paint fallof in edit modeBrecht Van Lommel
2019-05-21Viewport: MSAA support during ViewportRenderingJeroen Bakker
When rendering viewport to an offscreen buffer the buffer was constructed for non anti aliasing (0 samples). This made the objects that are drawn by the `object_mode` including `wireframe` draw type non-anti-aliased. The offscreen buffers will be constructed based on the user setting for viewport multisampling (`U.ogl_multisamples`). The same setting will also be used when previewing scene strips in the sequencer. For now this only improves wireframe drawing in the scene strips. To improve the Anti aliasing in the scene strips we need to get finer control in the draw manager. This will be part of a different patch I am preparing. Please note that this patch also cleansup some unused code in the offscreen rendering (FSAA code was still existing, but never called) Reviewed By: brecht Maniphest Tasks: T64849 Differential Revision: https://developer.blender.org/D4907
2019-05-21GPencil: Set samples to 10 for Soft brushAntonioya
2019-05-21GPencil: Set default Fill brush size to 20Antonioya
2019-05-21Mask: Fix missing remap of active spline/point on copySergey Sharybin
2019-05-21Fix T64842: crash rendering files with bevel curvesBrecht Van Lommel
This is old logic that no longer makes sense in the new depsgraph, and causes issues when multiple threads try to modify the same bevel object. Differential Revision: https://developer.blender.org/D4913
2019-05-21Fix T64763: 'Make Proxy' creates Proxy within linked Collection.Bastien Montagne
`BKE_collection_object_add_from()` would not check wether collections were local or not... Trivial to fix. Note that here I assume we do not use that function in some special cases where we would like to edit linked datablocks. Think that is reasonable stance, though.
2019-05-20Normal UI: for all ops needing autosmooth on, enable it if needed.Howard Trickey
Now Normal menu operations and rotate normals (r n) do not need manual enabling of autosmooth first. See T64324 for discussion of Normal UI changes.
2019-05-20GPencil: Add new default Soft BrushAntonioya
2019-05-20Camera: change default f-stop from 5.6 to 2.8Brecht Van Lommel
This gives a more noticeable effect by default. Also fixes startup.blend not having focus distance initialized correctly.
2019-05-20Color Management: update configuration, remove legacy transformsBrecht Van Lommel
* Replace Log view transform with Filmic Log. * Remove Rec.709, DCI-P3 displays that were incomplete and outdated. * Remove outdated RRT and Film transforms, replaced by Filmic. * Remove camera responsive curves that don't work with HDR colors. * Rename Default view transform to Standard. We're breaking compatibility now for 2.80, so that we can add future improvements on a clean config. Part of the code was contributed by George Vogiatzis in D4782. Differential Revision: https://developer.blender.org/D4900
2019-05-20Viewport: change default 3D viewport lighting from Studio to MatcapBrecht Van Lommel
2019-05-20Cleanup: reorder report argument for pointer assignmentCampbell Barton
Most code uses ReportList argument last (or at least not first) when an optional report list can be passed in.
2019-05-20Cleanup: remove unused G_FLAG_BACKBUFSELCampbell Barton
2019-05-19Fix buildDalai Felinto
Issue introduced on b7eba20236ca. I'm surprised it compiled elsewhere, but in Linux at least this fix was required.
2019-05-19UI: Edit Menu Operator PollingHarley Acheson
This patch updates the polling that enable/disables Edit Menu items. Slight Undo History menu changes Differential Revision: https://developer.blender.org/D4846 Reviewed by Brecht Van Lommel
2019-05-19VSE: add movie strips on top of audioRichard Antalik
- add movies to channel above free slot (no check for 2 free slots), add sound to the free slot - don't override channel settings if `channel` property is set This is just a hack. Propper implementation should be done along with T59540 Reviewed By: brecht Differential Revision: https://developer.blender.org/T59540
2019-05-19Images: change alpha settings to support channel packingBrecht Van Lommel
This also replaces the Use Alpha setting. We now have these alpha modes: * Straight: store RGB and alpha channels separately with alpha acting as a mask, also known as unassociated alpha. * Premultiplied: transparent RGB pixels are multiplied by the alpha channel. The natural format for renders. * Channel Packed: different images are packed in the RGB and alpha channels, and they should not influence each other. Channel packing is commonly used by game engines to save memory. * None: ignore alpha channel from the file and make image fully opaque. Cycles OSL does not correctly support Channel Packed and None yet, we are missing fine control over the OpenImageIO texture cache to do that. Fixes T53672
2019-05-19UI: add Panel.bl_order property to control order of panels for add-onsBrecht Van Lommel
This fixes poor Cycles panel ordering, with Freestyle and Custom Properties appearing at the top. For most cases order of registration is still the easiest way to control order and it's recommended to keep using that. This is mainly to solve a few cases where we want a few built-in panels to appear below add-on panels.
2019-05-19Cleanup: doxygen parametersCampbell Barton
2019-05-19Cleanup: rename BLI_appdir_fonts_* -> fontCampbell Barton
Plural name doesn't fit with textures, sounds & other paths that may be added. Also quiet unused warning.
2019-05-19UI: Remove Hover Highlight When Outliner Loses FocusHarley Acheson
This patch removes the hover highlight that can sometimes remain after moving out of the Outliner space Differential Revision: https://developer.blender.org/D4822 Reviewed by Brecht Van Lommel
2019-05-19UI: Default Directory for Windows FontsHarley Acheson
This patch gives new Windows users a better default preference for fonts folder Differential Revision: https://developer.blender.org/D4725 Reviewed by Campbell Barton and Brecht Van Lommel
2019-05-17Images: changes to avoid losing new images that have not been savedBrecht Van Lommel
The basic idea is that such new images will be packed into the .blend file when saving all modified images from the quit dialog. To make this workflow nicer a number of changes were made to how this type of packed image is handled. * "Save Modified Images" now packs generated images into the .blend file. * "Save As" for packed images now automatically unpacks the image, so that it's easy to save automatically packed images. "Save Copy" keeps it packed. * "Save" for packed images now re-saves the image into the .blend file, so that it's effectively the equivalent of "Save" for non-packed images. * Empty image filepaths are no longer remapped when saving the .blend file. Previously it would become e.g. "//../../" which makes no sense for generated images with no filepath yet. * Hide unpack button and filepath for such packed images with no filepath. Unpacking does not work in a predictable way without a filepath, better to just "Save As".
2019-05-17Fix T64300: Missing update of original data-block on redoSergey Sharybin
Dependency graph was not yet set as active when is used by operator which is being redone.
2019-05-17Fix meshes.new_from_object() not preserving materialsSergey Sharybin
2019-05-17Cleanup: move Image flags into DNA, for consistency with other typesBrecht Van Lommel
2019-05-17Cycles/Eevee: unify depth of field settings for camerasJeroen Bakker
There is now a checkbox to enable/disable depth of field per camera. For Eevee this replace the scene level setting. For Cycles there is now only an F-Stop value, no longer a Radius. Existing files are converted based on Cycles or Eevee being set in the scene. Differential Revision: https://developer.blender.org/D4882
2019-05-17Python: Raise an error even NO_MAIN data is assigned to objectSergey Sharybin
The goal is to prevent assignment of temporary or evaluated meshes to objects from the main database. Majority of the change is actually related on passing reports around. On a positive side there are more error prints which can become more visible to scripters. There are still possible further improvements in the related areas. For example, disable user counting for evaluated ID datablocks when assignment happens. But can also happen later on as a separate improvement. Reviewers: brecht, campbellbarton, mont29 Reviewed By: brecht Differential Revision: https://developer.blender.org/D4884
2019-05-16Use edit evaluated mesh when creating mesh for object in edit modeSergey Sharybin
Makes the result of object.to_mesh() and bpy.meshes.new_from_object() to be the same as what is visible in the viewport. This makes Cycles to respect modifiers enabled in edit mode, and should also easy some scripter's work. The final render still needs some work, which, maybe, will be about forcing objects out of editing modes.
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-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-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-16Cleanup: rename IDP_FreeProperty_ex to IDP_FreePropertyContent_exJacques Lucke
This was missing from rBdb5120603f.
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-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-16Fix T64681: evaluate curves with generative modifiers and no keys.Alexander Gavrilov
Introduce a new function and use it everywhere, including automatic curve deletion checks to guarantee consistency.
2019-05-16RNA: add 3D cursor matrix attributeCampbell Barton
Avoids having to check rotation modes to get the orientation.
2019-05-16Fix T64651, T64658: image texture not set to non-color properlyBrecht Van Lommel
The version check was wrong, only working for older files.
2019-05-16Theme: add color difference for every other rowCampbell Barton
D4862 by @CandleComet with minor edits.
2019-05-16Cleanup: remove 2.4x panel tabsCampbell Barton
This makes the code confusing since we now have two other kinds of tabs (navigation bar and panel categories).
2019-05-15Animation: treat F-Curves with no keys as if muted/not existing.Alexander Gavrilov
When normally editing curves, deleting the last keyframe also deletes the curve. Thus if for some reason it didn't happen, e.g. maybe due to removing keys directly via Python, skip the bad curve instead of resetting the channel to zero.
2019-05-15Armature Constraint: don't calculate the unneeded ct->matrix for solve.Alexander Gavrilov
This constraint requires full bone data to evaluate, so it can't use the generic single target matrix system. Calculating it is thus useless waste of CPU time.
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