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
2021-06-19Fix T83930 and Fix T84659: Walk navigation tablet bugs.fix-tablet-walkNicholas Rishel
Fixes T83930, allowing walk navigation to continue without jumping back after repositiong pen. Fixes T84659, allow walk navigation to start (for Windows Ink) from keyboard shortcut when pen is in use.
2021-06-19Windows high frequency Wintab input.Nicholas Rishel
Use Wintab supplied mouse movement once verified against system input, checked by comparing Win32 and Wintab button down event positions. Dynamically unload Wintab if Tablet API is WinPointer (Windows Ink), load Wintab otherwise. When Tablet API is Automatic, dynamically switch between Wintab and WinPointer based on number of Wintab devices present. Previous behavior was to use Wintab if wintab.dll was present on system. Allow system handling of system cursor movement during WinPointer events by leaving WM_POINTERUPDATE events unhandled.
2021-06-16Fix T88342: 'To Sphere' and 'Push/Pull' not working in Pose modeGermano Cavalcante
Some modes don't take into account that `TransData` may be in data space.
2021-06-16Fix T89204: slow repeated rendering with GPUOffscreen.draw_view3dBrecht Van Lommel
Cache the GPUViewport so the framebuffers and associated textures are not reallocated each time.
2021-06-16Edge-scrolling for node editorLukas Tönne
Starts scrolling when dragging a node or node link and going outside the current window. Largely copied from the VIEW2D_OT_edge_pan operator. Edge panning operator customdata and supporting functions now in UI_view2d.h, so they could be used by operators in other editor libraries. The VIEW2D_OT_edge_pan operator also uses this customdata and shared functions now. Operators properties can be used to configure edge panning margins and speed for each use case, rather than using hardcoded values. The speed function for edge panning has been tweaked somewhat: * "Speed per pixel" has been replaced with a "speed ramp" distance. This is more intuitive and also creates an upper bound for the speed, which can otherwise become extreme with large cursor distance. * "Max speed" is reached at the end of the speed ramp. * Padding the region inside and outside is applied as before, but both values are operator properties now. Node transform operator also supports edge panning. This requires an offset for changes in the view2d rect, otherwise nodes are "stuck" to the original view. Transform operator had cursor wrapping categorically enabled, but this gets quite confusing with the edge scrolling mechanism. A new TransInfo option T_NO_CURSOR_WRAP has been introduced to disable this behavior. The double negative is a bit annoying, but want to avoid affecting the existing transform modes, so by default it should still set the OP_IS_MODAL_GRAB_CURSOR flag (which then sets the WM_CURSOR_WRAP_XY flag during modal execution). Reviewed By: HooglyBoogly, JacquesLucke Differential Revision: https://developer.blender.org/D11073
2021-06-16LineArt: Cached calculation for modifiers in the same stack.YimingWu
This allows line art to run only once for each modifier stacks, with an option to toggle a specific line art modifier should use cache or re-do their own calculations. Reviewed By: Sebastian Parborg (zeddb), Hans Goudey (HooglyBoogly) Differential Revision: https://developer.blender.org/D11291
2021-06-16BLI: add C++ wrapper for task isolationJacques Lucke
This makes it easier to use task isolation in c++ code. Previously, one either had to check `WITH_TBB` (possibly indirectly through `WITH_OPENVDB`) or one had to use the C function which is less convenient.
2021-06-16BLI: add threading namespaceJacques Lucke
This namespace groups threading related functions/classes. This avoids adding more threading related stuff to the blender namespace. Also it makes naming a bit easier, e.g. the c++ version of BLI_task_isolate could become blender::threading::isolate_task or something similar. Differential Revision: https://developer.blender.org/D11624
2021-06-16ShaderFX operators: Tweak a bit poll functions, forbid in liboverride cases.Bastien Montagne
Similar to what we do for constraints and modifiers, except that currently adding or editing shaderfx in liboverride objects is completely unsuported. Fix T88974.
2021-06-16ShaderFX/LibOverride: Add `BKE_shaderfx_is_nonlocal_in_liboverride` util.Bastien Montagne
Used to detect if a shaderfx is purely local, or comes from linked data, in case of a liboverride. Not actually used yet since we do not currently support adding shaderfx's to overrides, but will be in the future, and matches constraints and modifiers code.
2021-06-16Tweaks to Constraints operators poll functions.Bastien Montagne
Mainly: * Make `ED_operator_object_active_editable_ex` properly report poll messages on failure. * Add `ED_operator_object_active_local_editable_posemode_exclusive` for bone constraints requiring pure local Object (non-override one). * General cleanup and adding more poll messages on failures.
2021-06-16Fix: Image node alpha socket converted to operations twiceManuel Castilla
On selecting a multi-layer image with a combined pass, a "Combined" socket is created and default combined pass socket "Image" is disabled by setting `SOCK_UNAVAIL` flag. When converting into operations, `ImageNode` converts alpha socket on finding any socket with a combined pass without checking the flag. Since commit rB93e2491ee724 an assertion fails when mapping sockets twice because now map `add_new` is used. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D11566
2021-06-16Compositor: Full frame Value nodeManuel Castilla
Adds full frame implementation to Value node operation. No functional changes. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D11594
2021-06-16Compositor: Full frame RGB nodeManuel Castilla
Adds full frame implementation to RGB node operation. No functional changes. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D11593
2021-06-16Geometry Nodes: fix z-up spline normal calculationJacques Lucke
Previously it didn't work when the tangents were collinear to the z axis.
2021-06-16Cleanup: minor simplification to status allocationCampbell Barton
2021-06-16Fix pose-mode statistics with multi-object editingCampbell Barton
- Include all objects in pose mode. - Show the number of objects in pose mode. - Show the number of objects in edit mode for all types of objects (not just meshes).
2021-06-16Cleanup: sculpt mode checks when calculating statsCampbell Barton
Sculpting dynamic topology used to code-path for counting object then never used the result. Match object mode checks in string access & drawing.
2021-06-16Alembic: support reading per-vertex UV setsKévin Dietrich
This adds support for importing UV sets which are defined per vertex, instead of per face corners. Such UV sets can be generated when the mesh is split according to UV islands, or when there is only one UV island, in which cases only a single UV value can be stored per vertex since vertices will never be on a seam. Reviewed By: sybren Differential Revision: https://developer.blender.org/D11584
2021-06-16Cleanup: reduce warnings when compiling release builds.Jeroen Bakker
2021-06-16Geometry Nodes: Separate Components NodeJohnny Matthews
Implementation of T86970. This node takes a geometry input with multiple components and outputs them by component type. Meshes, Curves, and Point Clouds support combining multiple input instances, while volumes will only output the first volume component input until suitable instance realization for multiple volumes is finished. When direct geometry instancing is implemented it will be possible to avoid realizing instances in this node. Differential Revision: https://developer.blender.org/D11577
2021-06-16Screen: simplify internal logic for new full-screen areasCampbell Barton
Creating a new full screen area had it's area initialized as empty, updating the screen then set the area to a 3D view (as a fallback), before the actual area type was set. This made setting the intended space-type run the 3D views exit callback on a 3D view without a View3D struct allocated, which the exit callback needed to account for. Resolve by calling ED_screen_change after the area type has been set.
2021-06-16Cleanup: unused warningCampbell Barton
2021-06-16Cleanup: Fix inconsistent parameter name warningHans Goudey
2021-06-16UI - LOCAL View3D overlay statsHarley Acheson
This patch improves the 3DView statistics overlay to show LOCAL stats while in local view. This means the stats can vary between 3DViews and the statusbar when views are in local view, but this gives a much more accurate count of the objects, and their components, that you are directly working with rather than just scene values. Differential Revision: https://developer.blender.org/D8883 Reviewed by Campbell Barton
2021-06-16Fix T88263: Incorrect image offset from old fileRichard Antalik
Versioning code for converting strip offset property doesn't work, when property was animated and disabled or when crop was used. When offset property is animated and offset is enabled, animation is converted to be used with new transform design. When offset is disabled, animation is left untouched. New transform design doesn't have option to disable offset, and therefore old unconverted animation is used instead of converted static value. Remove animation from propery if it was unused. Another issue was that both X and Y offset animation was being corrected by factor caluclated for X channel. Reviewed By: sergey Differential Revision: https://developer.blender.org/D11370
2021-06-16VSE: Improve animation evaluation performanceRichard Antalik
Use lookup string callback function for `sequences_all` RNA property `rna_SequenceEditor_sequences_all_lookup_string` using a GHash for faster lookups. When names are changed or strips are added/removed the lookup is tagged invalid. The next time the lookup is used it will rebuild it. Reviewed By: sergey, jbakker Differential Revision: https://developer.blender.org/D11544
2021-06-16Geometry Nodes: Allow int attribute input fields with single valueHans Goudey
Just like the way we often have a choice between an attribute input and a single float, this adds the ability to choose between attribute and integer input sockets, useful for D11421.
2021-06-16Cleanup: Expose function publicly, renameHans Goudey
There is no particular reason these two functions shouldn't be used outside of the bezier spline implementation since they don't do anything particularly controversial.
2021-06-16Splines: Add resize method to CurveEvalHans Goudey
This helps when adding splines to a new curve in parallel.
2021-06-15DRW: sanitize 'DRW_mesh_batch_cache_dirty_tag'Germano Cavalcante
Create maps that specify which batches have vbo or ibo as a reference and use these maps to discard batches along with buffers. Differential Revision: https://developer.blender.org/D11588
2021-06-15Cleanup: Add files for version independent versioning helpersJulian Eisel
Adds `source/blender/blendloader/intern/versioning_common.cc` and `versioning_common.h` for version independent versioning functions. I only placed `do_versions_add_region_if_not_found()` in there for now. `blo_do_version_old_trackto_to_constraints()` could also be added, but that's so old, I prefer keeping that in `versioning_legacy.c`.
2021-06-15UI: Support right aligned non-shortcut hints in widgetsJulian Eisel
Widget drawing code already supported drawing right-aligned, grayed out shortcut strings. This patch generalizes things a bit so this can also be used to draw other hints in the same way. There have been a few instances in the past where this would've been useful, D11046 being the latest one. Note that besides some manual regression testing, I didn't check if this works yet, as there is no code actually using it (other than the shortcuts). Can be checked as part of further development for D11046. A possible further improvement would be providing a way to define how clipping should be done. E.g. sometimes the right-aligned text should be clipped first (because it's just a hint), in other cases it should be left untouched (like current code explicitly does it for shortcuts). Removes the `UI_BUT_HAS_SHORTCUT` flag, which isn't needed anymore.
2021-06-15BLI: use explicit task isolation, no longer part of parallel operationsBrecht Van Lommel
After looking into task isolation issues with Sergey, we couldn't find the reason behind the deadlocks that we are getting in T87938 and a Sprite Fright file involving motion blur renders. There is no apparent place where we adding or waiting on tasks in a task group from different isolation regions, which is what is known to cause problems. Yet it still hangs. Either we do not understand some limitation of TBB isolation, or there is a bug in TBB, but we could not figure it out. Instead the idea is to use isolation only where we know we need it: when holding a mutex lock and then doing some multithreaded operation within that locked region. Three places where we do this now: * Generated images * Cached BVH tree building * OpenVDB lazy grid loading Compared to the more automatic approach previously used, there is the downside that it is easy to miss places where we need isolation. Yet doing it more automatically is also causing unexpected issue and bugs that we found no solution for, so this seems better. Patch implemented by Sergey and me. Differential Revision: https://developer.blender.org/D11603
2021-06-15Draw Cache: avoid recalculating 'poly_normals'Germano Cavalcante
Call `BKE_mesh_ensure_normals_for_display` to avoid recalculating poly_normals. **Benchmark** ||master:|PATCH: |---|---|---| |looptris_test:|Average: 3.995076 FPS|Average: 4.047470 FPS ||rdata 11ms iter 91ms (frame 235ms)|rdata 11ms iter 86ms (frame 233ms) |subdiv_mesh_cage_and_final:|Average: 1.884492 FPS|Average: 1.900114 FPS ||rdata 7ms iter 42ms (frame 268ms)|rdata 7ms iter 39ms (frame 265ms) ||rdata 7ms iter 44ms (frame 259ms)|rdata 7ms iter 42ms (frame 257ms) |subdiv_mesh_final_only:|Average: 6.245944 FPS|Average: 6.289000 FPS ||rdata 3ms iter 23ms (frame 153ms)|rdata 3ms iter 21ms (frame 154ms) |subdiv_mesh_final_only_ledge:|Average: 6.263482 FPS|Average: 6.187218 FPS ||rdata 3ms iter 23ms (frame 156ms)|rdata 3ms iter 22ms (frame 154ms) Reviewed By: jbakker Differential Revision: https://developer.blender.org/D11527
2021-06-15Cleanup: use back-slash for doxygen commentsCampbell Barton
2021-06-15DrawManager: Cache material offsets.Jeroen Bakker
When using multiple materials in a single mesh the most time is spend in counting the offsets of each material for the sorting. This patch moves the counting of the offsets to render mesh data and caches it as long as the geometry doesn't change. This patch doesn't include multithreading of this code. Reviewed By: mano-wii Differential Revision: https://developer.blender.org/D11612
2021-06-15Fix warning treated as an errorGermano Cavalcante
"void' function returning a value".
2021-06-15Cleanup: Added hierarchy in MeshBufferExtractionCache.Jeroen Bakker
2021-06-15Cleanup: Split mesh_render_data_loose_geom into multiple functions.Jeroen Bakker
2021-06-15Fix: wrong size checkJacques Lucke
This fixes a bad mistake by myself. Thanks Lukas Tönne for telling me.
2021-06-15Fix: Sequencer backdrop not updated during playback.Jeroen Bakker
Caused by recent optimization in {7b76a160a4}.
2021-06-15BMesh: assert that face normals have been updated for tessellationCampbell Barton
This catches missing normal updates that may cause invalid tessellation.
2021-06-15Cleanup: remove return value from face normal calculationCampbell Barton
This value is always 'sides - 2', no need to return this value.
2021-06-15Fix missing normal update in edit-mesh blend-from shape operatorCampbell Barton
2021-06-15BMesh: use faster normal update method for edit-mesh coordinatesCampbell Barton
This wasn't included in the previous fix so it'd be 2.93 compatible.
2021-06-15Fix outdated face tessellation use when editing edit-mesh coodinatesCampbell Barton
2021-06-15Screen: clear runtime structures on file-read & data-copyCampbell Barton
Clear the runtime data structs instead of individual members, this simplifies adding new runtime members as there are at least two places they would need to be cleared. Resolves error in D8883.
2021-06-15Cleanup: correct incomplete commentCampbell Barton
2021-06-15Cleanup: use doxygen comments for DNA_color_typesCampbell Barton
Also use enum instead of defines for Scopes.wavefrm_mode