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-05Fix assert check in BLI_polyfill_beautifyCampbell Barton
2021-06-05Fix assert in gpencil_batches_ensureCampbell Barton
2021-06-05Cleanup: spelling in commentsCampbell Barton
Also remove reference to function that never existed for adding `bNode`.
2021-06-05FFmpeg: Fix seeking not returning the correct frame when not using TC indexSebastian Parborg
Fixed the logic for seeking in ffmpeg video files. The main fix is that we now apply a small offset in ffmpeg_get_seek_pos to make sure we don't get the frame in front of the seek position when seeking backward. The rest of the changes is general cleanup and untangling code. Reviewed By: Richard Antalik Differential Revision: http://developer.blender.org/D11492
2021-06-05Edit Mesh: partial updates for normal and face tessellationCampbell Barton
This patch exposes functionality for performing partial mesh updates for normal calculation and face tessellation while transforming a mesh. The partial update data only needs to be generated once, afterwards the cached connectivity information can be reused (with the exception of changing proportional editing radius). Currently this is only used for transform, in the future it could be used for other operators as well as the transform panel. The best-case overall speedup while transforming geometry is about 1.45x since the time to update a small number of normals and faces is negligible. For an additional speedup partial face tessellation is multi-threaded, this gives ~15x speedup on my system (timing tessellation alone). Exact results depend on the number of CPU cores available. Ref D11494 Reviewed By: mano-wii
2021-06-04Nodes: Add Multiply Add to Vector Math nodesCharlie Jolly
Cycles, Eevee, OSL, Geo, Attribute This operator provides consistency with the standard math node. Allows users to use a single node instead of two nodes for this common operation. Reviewed By: HooglyBoogly, brecht Differential Revision: https://developer.blender.org/D10808
2021-06-04Texture Paint: changing paint slots and viewport could go out of syncPhilipp Oeser
When changing to another texture paint slot, the texture displayed in the viewport should change accordingly (as well as the image displayed in the Image Editor). The procedure to find the texture to display in the viewport (BKE_texpaint_slot_material_find_node) could fail though because it assumed iterating nodes would always happen in the same order (it was index based). This is not the case though, nodes can get sorted differently based on selection (see ED_node_sort). Now check the actual image being referenced in the paint slot for comparison. ref T88788 (probably enough to call this a fix, the other issue(s) mentioned in the report are more likely a feature request) Reviewed By: mano-wii Maniphest Tasks: T88788 Differential Revision: https://developer.blender.org/D11496
2021-06-04LibOverride: Fix early break in some of the resync code.Bastien Montagne
This `break` moved out of its braces at some point in the previous fixes/refctors... :(
2021-06-04BlenLoad: Ensure linked IDs are properly sorted.Bastien Montagne
So far, linked IDs were not properly sorted at all, only the ones explicitely linked from WM code would be, but any indirectly linked data-blocks would end up in some random order in their lists. While not ideal, this is not a huge issue in itself, but it had bad side-effects, e.g. causing (recursive) resync of overrides to happen in random order, leading to mismatches between name indices of newly-generated override IDs and the one existings e.g. And in general, it is much better to be consistent here. Note that the file sub-version is bumped for this commit, since some sorting (the directly linked IDs which we keep a reference to) should never need to be re-done after relevant doversion process.
2021-06-04GPencil: Cleanup unneeded variable assignAntonio Vazquez
The variable is assigned below again and the initial value is not used.
2021-06-04Fix T88803: GPencil Thickness modifier produces thicker linesAntonio Vazquez
There was a double apply of the thickness due a bug in the fading new parameter. Differential Revision: https://developer.blender.org/D11483
2021-06-04Math: Added max_uu/min_uu variations.Jeroen Bakker
2021-06-04Geometry Nodes: Curve Length NodeJohnny Matthews
This commit adds a node that outputs the total length of all evalauted curve splines in a geometry set as a float value. Differential Revision: https://developer.blender.org/D11459
2021-06-04Geometry Nodes: Support curve data in the geometry delete nodeHans Goudey
This commit implements support for deleting curve data in the geometry delete node. Spline domain and point domain attributes are supported. Differential Revision: https://developer.blender.org/D11464
2021-06-04Cleanup: Add comment explaining assertHans Goudey
This triggers fairly often during development, so it might save some frustration at some point to have a comment here.
2021-06-03Overlay: Flash on Mode Transfer overlayPablo Dobarro
This implements T87633 This overlay renders a flash animation on the target object when transfering the mode to it using the mode transfer operator. This provides visual feedback when switching between objects without extra overlays that affect the general color and lighting in the scene. Differences with the design task: - This uses just a fade out animation instead of a fade in/out animation. The code is ready for fade in/out, but as the rest of the overlays (face sets, masks...) change instantly without animation, having a fade in/out effect gives the impression that the object flashes twice (once for the face sets, twice for the peak alpha of the flash animation). - The rendering uses a flat color without fresnel for now, but this can be improved in the future to make it look more like the shader in the prototype. - Not enabled by default (can be enabled in the overlays panel), maybe the defaults can change for 3.0 to disable fade inactive and enable this instead. Reviewed By: jbakker, JulienKaspar Differential Revision: https://developer.blender.org/D11055
2021-06-03VSE: Remove JPEG reference from proxy panelRichard Antalik
Proxies doesn't use MJPEG codec anymore, but text still referenced it.
2021-06-03WM: only use the tablet drag threshold for mouse button eventsCampbell Barton
Keyboard click-drag events now use the "Drag Threshold". This resolves a problem where keyboard click drag events used a much smaller threshold when using a tablet.
2021-06-03LibOverride: fix previous commit (rB826bed4349fa).Bastien Montagne
2021-06-03LibOverride: Fix some fail cases with auto-resync.Bastien Montagne
In some cases e.g. only objects would actually need resync, so collections on the override character would not be resynced, and if some objects were sharing relationships with others those could be lost/destroyed.
2021-06-03Fix missing updates in RNA override create functions.Bastien Montagne
2021-06-03LibOverride: Add `override_hierarchy_create`to ID's RNA API.Bastien Montagne
2021-06-03Fix T88762: UI using tab to enter next button could clamp the hard min/Philipp Oeser
max unneccessarily Since rB298d5eb66916 [which was needed to update buttons with custom property range functions correctly], using tab would always clamp (hardmin/hardmax) properties which were using FLT_MAX / INT_MAX as range in their property definitions. The clamping of rB298d5eb66916 was copied over from rB9b7f44ceb56c [where it was used for the softmin/softmax], and while the re-evaluation of hardmin/hardmax is needed for custom property range functions, the clamping should actually not take place. There are many properties using FLT_MAX / INT_MAX etc. and while it probably would be good to update these with ranges that make more sense -- not using FLT_MAX / INT_MAX would not have done the clamping here -- there should not be an arbitrary limit to these and they should stay as they are. Maniphest Tasks: T88762 Differential Revision: https://developer.blender.org/D11473
2021-06-03Cleanup: make formatJacques Lucke
2021-06-03LibOverride: ensure proper indirect tag for 'virtual' linked IDs.Bastien Montagne
Ensure 'virtual' linked override IDs generated by the recursive resync process are tagged as indirectly linked data. This is needed to avoid the 'missing data' messages on those virtual data-blocks after saving and reloading.
2021-06-03IDManagement: Collection: Fix several issues in relationships building code.Bastien Montagne
`BKE_main_collections_parent_relations_rebuild`, `BKE_collection_parent_relations_rebuild` anf their internal dependencies had two issues fixed by this commit: * Main one was that a same collection could be processed several times, sometimes even in an infinite loop (in some rare corner cases), by `collection_parents_rebuild_recursive`. * More exotic, code here would not ensure that the collections it was processing were actually in Main (or a master one from a scene in Main), which became an issue with some advanced ID management processes involving partially out-of-main remapping, like liboverride resync.
2021-06-03Cleanup: use ascii characters instead of unicode where possibleCampbell Barton
Follow own code style docs.
2021-06-03Cleanup: spelling in comments, correct outdated commentsCampbell Barton
2021-06-03Cleanup: use doxy sections for node_relationships.ccCampbell Barton
2021-06-03Fix invalid return values from file_executeCampbell Barton
Error in 6c8c30d865ee8aafc3a088ce97b1caa4c4cc9ed7
2021-06-03Draw Mesh Extractor: Fix used thread countGermano Cavalcante
Some threads were always idle because of this.
2021-06-02Cleanup: Remove unused 'ExtractTaskData's membersGermano Cavalcante
2021-06-02Cleanup: Fix build warningsRichard Antalik
2021-06-02VSE: Add strip-time intersection test functionRichard Antalik
Use SEQ_time_strip_intersects_frame function to test if strip intersects with frame. Note: There are cases where this function should not be used. For example splitting strips require at least 1 frame "inside" strip. Another example is drawing, where playhead technically doesn't intersect strip, but it is rendered, because current frame has "duration" or "thickness" of 1 frame. Reviewed By: sergey Differential Revision: https://developer.blender.org/D11320
2021-06-02Cleanup: Strip duplication codeRichard Antalik
Remove unused flag `SEQ_DUPE_ANIM` and code used by this flag. Remove flag `SEQ_DUPE_CONTEXT` and refactor code, to split operator logic from duplication code. Reduce indentation level in for loop. Reviewed By: sergey Differential Revision: https://developer.blender.org/D11318
2021-06-02Fix T57397: Movies are blurred after sws_scaleRichard Antalik
Images with 4:2:2 and 4:4:4 chroma subsampling were blurred when `SWS_FAST_BILINEAR` interpolation is set for `anim->img_convert_ctx`. Use `SWS_BILINEAR` interpolation for all movies, as performance is not impacted by this change. Reviewed By: sergey Differential Revision: https://developer.blender.org/D11457
2021-06-02FFmpeg: Update proxy settingsRichard Antalik
Changes in rBce649c73446e, affected established proxy codec preset. Presets were not working and all presets were similar to `veryfast`. Tunes are now working too, so `fastdecode` tune can be used. I have measured little improvement, but I tested this only on 2 machines and I have been informed that `fastdecode` tune does influence decoding performance for some users. Change preset from `slow` to `veryfast` and add tune `fastdecode` Reviewed By: sergey Differential Revision: https://developer.blender.org/D11454
2021-06-02FFmpeg: Fix H264 lossless render not losslessRichard Antalik
While encoder parameters for lossless encoding are set correctly, output is not lossless due to pixel format being set to `AV_PIX_FMT_YUV420P` which is inherently lossy due to chroma subsampling. This was reported in T61569 and was merged to T57397, but there were 2 bugs - one for encoding and one for decoding. Set pixel format to `AV_PIX_FMT_YUV444P` when rendering lossless H264 files. This format isn't available in `codec->pix_fmts[0]` and it looks, that it has to be hard-coded. Reviewed By: sergey Differential Revision: D11458
2021-06-02Boolean exact: speedup by parallelizing a plane calculation.Erik Abrahamsson
This patch is from erik85, who says: This patch makes populate_plane inside polymesh_from_trimesh_with_dissolve run in parallel. On a test file with a boolean between two subdivided cubes (~6 million verts) this gives a 10% speed increase (49.5s to 45s) on my 6 core CPU. Also there is an optimization of other_tri_if_manifold to skip the contains-call and get the pointer directly. This reduces CPU time for find_patches from 5s to 2.2s on the same test file.
2021-06-02Boolean exact: speedup when there are many components.Howard Trickey
When there are many components (separate pieces of connected mesh), a part of the algorithm to determine component containment was slow. Using a float version of finding the nearest point on a triangle as a prefilter sped this up enormously. A case of 25 icospheres subdivided twice goes 11 seconds faster on my Macbook pro with this change.
2021-06-02Nodes: move some files to C++Jacques Lucke
This just moves a couple of files in `space_node` to C++ and fixes related errors. The goal is to be able to use C++ data structures to simplify the code. Differential Revision: https://developer.blender.org/D11451
2021-06-02Cleanup: unused variableCampbell Barton
2021-06-02Fix T88732: Curve to mesh node crash with empty input curveHans Goudey
The mesh to curve node generated an empty curve because no edges were selected. This commit changes that node to not add a curve in that case. This also changes the curve to mesh node to not add a material when no mesh was created. Even though we don't expect null curves or meshes in this case, the change is harmless.
2021-06-02EEVEE: AOVs not same as cycles.Jeroen Bakker
EEVEE uses hashing to sync aov names and types with the gpu. For the type a hashed value was overridden making `decalA` and `decalB` choose the same hash. This patches fixes this by removing the most significant bit.
2021-06-02Revert "EEVEE: AOVs not same as cycles."Jeroen Bakker
This reverts commit 730a46e87d261543c9550ddef406894e14d5bea6.
2021-06-02EEVEE: AOVs not same as cycles.Jeroen Bakker
EEVEE uses hashing to sync aov names and types with the gpu. For the type a hashed value was overridden making `decalA` and `decalB` choose the same hash. This patches fixes this by removing the most significant bit.
2021-06-02GPencil: New operator to Normalize strokesAntonio Vazquez
Sometimes is required to reset the thickness or the opacity of the strokes. Actually this was done using a modifier, but this operators solves this. Reviewed By: mendio, filedescriptor Maniphest Tasks: T87427 Differential Revision: https://developer.blender.org/D11453
2021-06-02Splines: Function to copy spline settings without dataHans Goudey
Often you need to copy a spline to do an operation, but don't want to manually copy over all of the settings. I've already forgotten to do it once anyway. These functions copy a spline's "settings" into a new spline, but not the data. I tried to avoid duplicating any copying so this is easier to extend in the future. Differential Revision: https://developer.blender.org/D11463
2021-06-02LineArt: Tolerance for faces perpendicular to viewYimingWu
This is due to cam->obmat precision issue, where it affects view vector precision. Reviewed by Sebastian Parborg (zeddb) Differential Revision: https://developer.blender.org/D11461
2021-06-02Cleanup: Correct commentsHans Goudey
This corrects an outdated comment in the vector header and a typo in the index mask header.