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
2022-06-30Fix incorrect strip position if pitch was animatedRichard Antalik
Commit 302b04a5a3fc introduced new retiming system, that unified sound pitch animation with strip speed control. Because sound playback is handled in different way, this did not work as expected and old files were broken. In addition animation was not copied to new property. Revert length position and offset handling for sound strips so their position does not change and remap fcurves to new `speed_factor` property.
2022-06-30Cleanup: colon after params, move text into public doc-strings, spellingCampbell Barton
2022-06-30Cleanup: use "use_" prefix for boolean propertyCampbell Barton
2022-06-30Curves: New tools for curves sculpt mode.Jacques Lucke
This commit contains various new features for curves sculpt mode that have been developed in parallel. * Selection: * Operator to select points/curves randomly. * Operator to select endpoints of curves. * Operator to grow/shrink an existing selection. * New Brushes: * Pinch: Moves points towards the brush center. * Smooth: Makes individual curves straight without changing the root or tip position. * Puff: Makes curves stand up, aligning them with the surface normal. * Density: Add or remove curves to achieve a certain density defined by a minimum distance value. * Slide: Move root points on the surface. Differential Revision: https://developer.blender.org/D15134
2022-06-30Cleanup: quiet warning, remove punctuation in descriptionCampbell Barton
2022-06-30Transform Snap: nearest face snap mode, snapping options, refactoring.jon denning
This commit adds a new face nearest snapping mode, adds new snapping options, and (lightly) refactors code around snapping. The new face nearest snapping mode will snap transformed geometry to the nearest surface in world space. In contrast, the original face snapping mode uses projection (raycasting) to snap source to target geometry. Face snapping therefore only works with what is visible, while nearest face snapping can snap geometry to occluded parts of the scene. This new mode is critical for retopology work, where some of the target mesh might be occluded (ex: sliding an edge loop that wraps around the backside of target mesh). The nearest face snapping mode has two options: "Snap to Same Target" and "Face Nearest Steps". When the Snap to Same Object option is enabled, the selected source geometry will stay near the target that it is nearest before editing started, which prevents the source geometry from snapping to other targets. The Face Nearest Steps divides the overall transformation for each vertex into n smaller transformations, then applies those n transformations with surface snapping interlacing each step. This steps option handles transformations that cross U-shaped targets better. The new snapping options allow the artist to better control which target objects (objects to which the edited geometry is snapped) are considered when snapping. In particular, the only option for filtering target objects was a "Project onto Self", which allowed the currently edited mesh to be considered as a target. Now, the artist can choose any combination of the following to be considered as a target: the active object, any edited object that isn't active (see note below), any non- edited object. Additionally, the artist has another snapping option to exclude objects that are not selectable as potential targets. The Snapping Options dropdown has been lightly reorganized to allow for the additional options. Included in this patch: - Snap target selection is more controllable for artist with additional snapping options. - Renamed a few of the snap-related functions to better reflect what they actually do now. For example, `applySnapping` implies that this handles the snapping, while `applyProject` implies something entirely different is done there. However, better names would be `applySnappingAsGroup` and `applySnappingIndividual`, respectively, where `applySnappingIndividual` previously only does Face snapping. - Added an initial coordinate parameter to snapping functions so that the nearest target before transforming can be determined(for "Snap to Same Object"), and so the transformation can be broken into smaller steps (for "Face Nearest Steps"). - Separated the BVH Tree getter code from mesh/edit mesh to its own function to reduce code duplication. - Added icon for nearest face snapping. - The original "Project onto Self" was actually not correct! This option should be called "Project onto Active" instead, but that only matters when editing multiple meshes at the same time. This patch makes this change in the UI. Reviewed By: Campbell Barton, Germano Cavalcante Differential Revision: https://developer.blender.org/D14591
2022-06-29Geometry Nodes: UV Unwrap and Pack Islands NodesAleksi Juvani
This commit adds new Unwrap and Pack Islands nodes, with equivalent functionality to the existing Unwrap and Pack Islands operators. The Unwrap node uses generic boolean attributes to determine seams instead of looking at the seam flags in the mesh geometry. Unlike the Unwrap operator, the Unwrap node doesn't perform aspect ratio correction, because this is trivial for the user to implement with a Vector Math node if it is desired. The Unwrap node implicitly performs a Pack Islands operation upon completion, because the results may not be generally useful otherwise. This matches the behaviour of the Unwrap operator. The nodes use the existing Vector socket type, and do not introduce a new 2D Vector type (see T92765). Differential Revision: https://developer.blender.org/D14389
2022-06-29Attributes: Use attribute renaming function for generic mesh layersMartijn Versteegh
The RNA API in rna_mesh.c has a function to rename generic customdata layers. However for customdata layers which are attributes (i.e. not specialized types) the attribute renaming function needs to be used, as that can ensure unique names across domains. Differential Revision: https://developer.blender.org/D15310
2022-06-29Geometry Nodes: Add Mesh To Volume NodeErik Abrahamsson
This adds a Mesh To Volume Node T86838 based on the existing modifier. The mesh to volume conversion is implemented in the geometry module, and shared between the node and the modifier. Currently the node outputs a grid with the name "density". This may change in the future depending on the decisions made in T91668. The original patch was by Kris (@Metricity), further implementation by Geramy Loveless (@GeramyLoveless), then finished by Erik Abrahamsson (@erik85). Differential Revision: https://developer.blender.org/D10895
2022-06-29Spreadsheet: display byte colors as scene linear floatsBrecht Van Lommel
The compression as sRGB is mostly an implementation detail and showing the integers does not make it clear what the actual values are that will be used for computations in geometry nodes. This follows the general convention that colors in Blender are displayed and edited in scene linear floats. The raw sRGB bytes can still be viewed as a tooltip. Ref T99205 Differential Revision: https://developer.blender.org/D15322
2022-06-29LineArt: Shadow and related functionalities.Yiming Wu
This patch includes the full shadow functionality for LineArt: - Light contour and cast shadow lines. - Lit/shaded region selection. - Enclosed light/shadow shape calculation. - Silhouette/anti-silhouette selection. - Intersection priority based on shadow edge identifier. Reviewed By: Sebastian Parborg (zeddb) Differential Revision: https://developer.blender.org/D15109
2022-06-29VSE: Improved Retiming systemRichard Antalik
Patch implements better way to control playback speed than it is possible to do with speed effect. Speed factor property can be set in Time panel. There are 2 layers of control: Option to retime movie to match scene FPS rate. Custom speed factor to control playback rate. Since playback rate is strip property, it is now possible to manipulate strip as normal one even if it is retimed. To facilitate manipulation, some functions need to consider speed factor and apply necessary corrections to strip offset or strip start. These corrections may need to be float numbers, so start and offsets must be float as well. Sound strips now use speed factor instead of pitch. This means, that strips will change length to match usable length. In addition, it is possible to group movie and sound strip and change speed of meta strip.
2022-06-29Benchmark: Add eevee viewport playback tests.Jeroen Bakker
This commit adds the ability to test Eevee viewport playback performance tests. Tests should be placed in `lib/benchmarks/eevee/*/*.blend`. {rBL62962} added initial test files. See https://wiki.blender.org/wiki/Tools/Tests/Performance how to set it up. To record the playback performance the test start the viewport playback, and adds a post frame change handler. This handler will go over the next steps: * Ensures the viewport is set to rendered mode. * Wait for shaders to be compiled. Utilizes `bpy.app.is_job_running` function when available (v3.3) to wait for shader compilation to finish. When not available will wait for one minute. * Draw several warmup frames * Record for 10 seconds tracking the number of frames drawn and performance counters. * When ready print the result to the console. The results will be extracted when the benchmark has run. ## Example report ``` master v3.0 v3.1 v3.2 T88219 0.0860s 0.0744s 0.0744s 0.0851s blender290-fox 1.3056s 0.8744s 0.7994s 1.2809s ``` {F13232387} Reviewed By: brecht, fclem Maniphest Tasks: T99136 Differential Revision: https://developer.blender.org/D15302
2022-06-28Fix frame_final_start/end strip property not setting handle positionRichard Antalik
This was a mistake in 17a773cdcee9 - I did not notice existing set function and assumed, that property set DNA directly. Both get and set functions are now available and readonly flag is removed.
2022-06-28Mask editor: Always use smooth drawingSergey Sharybin
The mask is expected to be always be displayed smooth, and the option mainly existed for some legacy drivers. IF smooth drawing causes issues it should be fixed in the drawing code, not as an option in the interface. Differential Revision: https://developer.blender.org/D15266
2022-06-28Cleanup: compiler warnings, remove unused functionsCampbell Barton
2022-06-27Fix T99216: RNA startdisp and enddisp return unreliable valuesRichard Antalik
Since 7afcfe111aac `startdisp` and `enddisp` fields are used as runtime position storage for effect strips exclusively. Use getter functon to return handle position and make properties read only.
2022-06-27VSE: Add API function to select displayed meta stripFélix
Use function `sequence_editor.display_stack(meta_strip)` to set displayed timeline content. To view top-level timeline, that does not belong to any meta strip, pass `None` as argument. Differential Revision: https://developer.blender.org/D12048
2022-06-27Fix T99171: Crash in mesh vertices positions RNA update functionHans Goudey
Solution found by Philipp Oeser (@lichtwerk), thanks.
2022-06-27Cleanup: spelling in commentsCampbell Barton
2022-06-25Geometry Nodes: Field on Domain NodeHans Goudey
As described in T98943, this commit adds a node that can evaluate a field on a separate domain in a larger field context. This is potentially useful in many cases, to avoid relying on a separate capture attribute node, which can make it easier to build reusable fields that don't need geometry inputs. Internally, the node just evaluates the input field in the larger field context and then uses the generic domain interpolation, so the code is simple. One future optimization might be using the input selection to only evaluate part of the input field, but then the selection has to be interpolated as well, and that might not always be worth it. Differential Revision: https://developer.blender.org/D15289
2022-06-25Cleanup: Remove unused argumentHans Goudey
2022-06-24PyAPI: Expose event.type_prev, value_prevCampbell Barton
Before [0] mouse-motion events left the 'event.value' un-changed, so a mouse-move would be set to PRESS/RELEASE based on previous events. Support accessing the previous event value directly to address feedback from T99102. Note that the previous cursor location is already exposed. [0]: 52af3b20d45ea525a0ce66b2613ac132c9032a3f
2022-06-23Fix T97691: undefined behavior sanitizer warning for alignment in RNA functionsBrecht Van Lommel
Thanks Loren Osborn for investigating this and proposing solutions. Ref D14798
2022-06-23Mesh: Add an explicit "positions changed" functionHans Goudey
We store various lazily calculated caches on meshes, some of which depend on the vertex positions staying the same. The current API to invalidate these caches is a bit confusing. With an explicit set of functions modeled after the functions in `BKE_node_tree_update.h`, it becomes clear which function to call. This may become more important if more lazy caches are added in the future. Differential Revision: https://developer.blender.org/D14760
2022-06-23Cleanup: fix typo that deactivated clang-format in rna_brush.cJacques Lucke
2022-06-23Animation: Add function to remove all FCurves from an ActionColin Basnett
Add a `BKE_action_fcurves_clear(action)` function, which removes all the Action's FCurves, and expose it as `ActionFCurves.clear()` in RNA. This is more ergonomic than calling `remove` on f-curves until the list is empty. Reviewed By: sybren Differential Revision: https://developer.blender.org/D14660
2022-06-22Mask Editor: Add toggle for mask spline drawingSimon Lenz
Adds an overlay option to show/hide the spline points & lines of masks in the Mask Editor. It also moves the "smooth" option up (its position left of the selection dropdown was missleading). {F11847272} This emerged from a discussion in https://developer.blender.org/D12776 Differential Revision: https://developer.blender.org/D13314
2022-06-21Fix T98960: Baking to active color attribute uses wrong layerHans Goudey
Baking assumed that color attributes could only have two configurations: float color data type on vertices, or byte color type on face corners. In reality the options can be combined to make four total options. This commit handles the four cases explicitly with a somewhat more scaleable approach (though this should really be C++ code). This commit also changes some related error messages, tooltips, and an enum name, in order to make the functionality more obvious. Differential Revision: https://developer.blender.org/D15244
2022-06-20Cleanup: Grammar: a vs anHans Goudey
2022-06-20Mask Editor: Add mask blending factor for combined overlaySimon Lenz
This adds a new parameter to the "Combined" overlay mode of the mask editor. The "blending factor" allows users to blend the mask exterior with the original footage to visualise the content of the mask in a more intuitive way. The "Alpha" overlay is unaffected by this change. The existing "Combined" overlay is used like before (covering everything outside the mask in black), but can be blended with the slider in the mask overlay to look at the exterior. This is part of an effort to make mask editing more intuitive & easy to use: https://developer.blender.org/T93097 Differential Revision: https://developer.blender.org/D13284
2022-06-17Cleanup: compiler warningsBrecht Van Lommel
2022-06-17Cleanup: remove redundant string formattingCampbell Barton
2022-06-16UI: Add initial "grid view"Julian Eisel
Part of T98560. See https://wiki.blender.org/wiki/Source/Interface/Views Adds all the basic functionality needed for grid views. They display items in a grid of rows and columns, typically with a preview image and a label underneath. Think of the main region in the Asset Browser. Current features: - Active item - Notifier listening (also added this to the tree view) - Performance: Skip adding buttons that are not scrolled into view (solves performance problems for big asset libraries, for example). - Custom item size - Preview items (items that draw a preview with a label underneath) - Margins between items scale so the entire region width is filled with column, rather than leaving a big empty block at the right if there's not enough space for another column (like the File and current Asset Browser does it). - "Data-View Item" theme colors. Not shown in the UI yet. No user visible changes expected since the grid views aren't used for anything yet. This was developed as part of a rewrite of the Asset Browser UI (`asset-browser-grid-view` branch), see T95653. There's no reason to keep this part in a branch, continuing development in master makes things easier. Grid and tree views have a lot of very similar code, so I'm planning to unify them to a degree. I kept things separate for the start to first find out how much and what exactly makes sense to override.
2022-06-16Cleanup: Fix build for make lite and add . to code commentsDalai Felinto
Issue introduced on e6eefdd4020e.
2022-06-16Fix T86076: MPEG Settings Ignored at RenderHamdi Ozbayburtlu
Add a RNA update function for output video codec setting to update properties that are incompatible with defaults. Previously video output bitrate settings were omitted because of the Constant Rate Factor (CRF) default. CRF setting for video codec is only available for H264, MPEG4 and WEBM/VP9 outputs, so for the others changing encoder quality mode to constant bitrate (CBR) as CRF is not supported. Reviewed By: ISS, mano-wii Differential Revision: https://developer.blender.org/D15201
2022-06-16ID Type: Sort the items alphabeticallyDalai Felinto
This also renames Hair Curves to Curves. Meaning that until we get rid of the old curve type we will have both of those entires there: * Curve * Curves This rna enum is used among other things in the driver UI to pick which data-block you want the property from.
2022-06-16Fix T98860: VectorProperty type renamed to COORDS (breaking scripts)Campbell Barton
Regression in [0] unintentionally renamed COORDINATES. There was a naming discrepancy when two (nearly) identical arrays, de-duplicating them caused the error. [0]: 94444aaadf238ab2de4226d6b1b66284d479a931
2022-06-15UI: Implement icons for the curve sculpt tools brushesDalai Felinto
I'm using the tool icons for the brush themselves. Note: This includes a few brushes that are only defined in D15134. Those are simply the icons rendered with a world background of #282828.
2022-06-14Cleanup: remove the need for image scale using a contextCampbell Barton
Scaling an image shouldn't depend on the current context.
2022-06-13UI: Use "bl_order" for UI child panelsErik
The "bl_order" property on add-on UI panels can be used to put them in a specific order regardless of the order of registering. This patch makes this ordering also possible for panels inside panels. Differential Revision: https://developer.blender.org/D15174
2022-06-13GPencil: Use better sampling limits.Yiming Wu
The problem with T98683 is that sampling interval can be set to very small, resulting in very dense points. This patch attempts to optimize that a little bit. Reviewed By: Antonio Vazquez (antoniov) Differential Revision: https://developer.blender.org/D15180
2022-06-10RNA path: add util to find the char in an RNA path where the array indexing ↵Bastien Montagne
starts. Usefull to easily trim away the 'aray index' part of an RNA path, e.g. when searching for an FCurve (which never contains that index part in its RNA path).
2022-06-09Fix T78815: Redraw UV Editor on collection visibility changeChris Blackbourn
2022-06-09Cleanup: spelling in comments & variablesCampbell Barton
2022-06-08LibOverride: Make 'image/movieclip user` properties editable.Bastien Montagne
2022-06-08Fix (unreported) missing rna path for some background image properties.Bastien Montagne
RNA camera code did not handle path for its image/movieclip users sub-data, and moviclip RNA struct definition did not have a rna path function at all.
2022-06-08RNA nodetree: improve ImageUser path helper.Bastien Montagne
Refactor the code, and optimize it slightly (no need e.g. to check for nodes when the nodetree is of a type that cannot have image user nodes).
2022-06-08Curves: Port set type node to new data-blockHans Goudey
This commit ports the "Set Spline Type" node to the new curves type. Performance should be improved in similar ways to the other refactors from the conversion task (T95443). Converting to and from Catmull Rom curves is now supported. There are a few cases where a lot of work can be skipped: when the number of points doesn't change, and when the types already match the goal type. The refactor has a few other explicit goals as well: - Don't count on initialization of attribute arrays when they are first allocated. - Avoid copying the entire data-block when possible. - Make decisions about which attributes to copy when changing curves more obvious. - Use higher-level methods to copy data between curve points. - Optimize for the common cases of single types and full selections. - Process selected curves of the same types in the same loop. The Bezier to NURBS conversion is written by Piotr Makal (@pmakal). Differential Revision: https://developer.blender.org/D14769
2022-06-08Attributes: Use names instead of layers for some functionsHans Goudey
This mirrors the C++ attribute API better, separates the implementation of attributes from CustomData slightly, and makes functions simpler, clearer, and safer. Also fix an issue with removing an attribute caused by 97712b018df71c meant the first attribute with the given type was removed instead of the attribute with the given name.