Revision 930b8a3 by Jeroen Bakker March 26, 2021, 14:51 (GMT) |
Cleanup: Replace std::vector With blender::Vector. |
Revision 6524ceb by Jeroen Bakker March 26, 2021, 14:51 (GMT) |
Cleanup: Remove ptr For Owned Children. |
Revision acc6e5c by Antonio Vazquez March 26, 2021, 14:48 (GMT) |
LineArt: Fix unreported material user count error when apply modifier The number of users was 0 after applying the modifier. |
Revision 4bb70e0 by Dalai Felinto March 26, 2021, 13:44 (GMT) |
Geometry-Nodes: Sort the Nodes Categories alphabetically The exception is still Group and Layout to be consistent with the other node editors. This could use a separator though. |
Revision 847002e by Richard Antalik March 26, 2021, 11:43 (GMT) |
FFMPEG: refactor seeking Split seeking section of `ffmpeg_fetchibuf()` function into multiple smaller functions. Conditional statements are moved to own funtions with human readable names, so code flow is more clear. To remove one branch of seeking, first frame is now decoded by scanning, which will do only one iteration. So nothing has technically changed. Reviewed By: sergey Differential Revision: https://developer.blender.org/D10638 |
Revision 1614795 by Richard Antalik March 26, 2021, 11:43 (GMT) |
FFmpeg: improve threading settings Generalize threading settings in proxy building and use them for encoding and decoding in general. Check codec capabilities, prefer FF_THREAD_FRAME threading over FF_THREAD_SLICE and automatic thread count over setting it explicitly. ffmpeg-codecs man page suggests that threads option is global and used by codecs, that supports this option. Form some tests I have done, it seems that `av_dict_set_int(&codec_opts, "threads", BLI_system_thread_count(), 0)` has same effect as ``` pCodecCtx->thread_count = BLI_system_thread_count(); pCodecCtx->thread_type = FF_THREAD_FRAME; ``` Looking at `ff_frame_thread_encoder_init()` code, these cases are not equivalent. It is probably safer to leave threading setup on libavcodec than setting up each codec threading individually. From what I have read all over the internet, frame multithreading should be faster than slice multithreading. Slice multithreading is mainly used for low latency streaming. When running Blender with --debug-ffmpeg it complains about `pCodecCtx->thread_count = BLI_system_thread_count()` that using thread count above 16 is not recommended. Using too many threads can negatively affect image quality, but I am not sure if this is the case for decoding as well - see https://streaminglearningcenter.com/blogs/ffmpeg-command-threads-how-it-affects-quality-and-performance.html This is fine for proxies but may be undesirable for final renders. Number of threads is limited by image size, because of size of motion vectors, so if it is possible let libavcodec determine optimal thread count. Performance difference: Proxy building: None Playback speed: 2x better on 1920x1080 sample h264 file Scrubbing: Hard to quantify, but it's much more responsive Rendering speed: None on 1920x1080 sample h264 file, there is improvement with codecs that do support FF_THREAD_FRAME for encoding like MPNG Reviewed By: sergey Differential Revision: https://developer.blender.org/D10791 |
Revision 43455f3 by Charlie Jolly March 26, 2021, 10:52 (GMT) |
Geometry Nodes: Add Attribute Clamp Node This adds a Clamp node for Geometry Nodes Attributes. Supports both Min-Max and Range clamp modes. Float, Vector, Color and Int data types supported. Reviewed By: HooglyBoogly, simonthommes Differential Revision: https://developer.blender.org/D10526 |
Revision e867f40 by Jeroen Bakker March 26, 2021, 10:27 (GMT) |
Cleanup: Replaced unneeded branch with assert. |
Revision ea12df5 by Kévin Dietrich March 26, 2021, 09:50 (GMT) |
Fix T86939: Cycles objects bounds not updated when transforming objects As a rather premature optimization from rBbbe6d4492823, Object bounds were only computed when either the Object or its Geometry were modified. Prior to rB42198e9eb03b, this would work, as the Geometry was tagged as modified if the Object's transform was also modified. Since this tagging is not done anymore due to side effects, and since at the time bounds are computed Objects were already processed and tag as unmodified, the check on the modified status was always false. For now remove this check, so the bounds are always unconditionally updated. If this ever becomes a performance problem in large scenes with motion blur, we will then try to find a way to nicely optimize it. This would only affect BHV2 as OptiX and Embree handle object bounds themselves. |
Revision fb6c29f by Kévin Dietrich March 26, 2021, 09:50 (GMT) |
Cleanup: redundant expression |
Revision d982ea9 by Sybren A. Stüvel March 26, 2021, 09:46 (GMT) |
Fix error when an addon has no `__init__.py` When an addon has been removed, but its `.pyc` files are still there, the Python module can still be loaded. However, because `__init__.py` is missing, it becomes a namespace instead of a module, and its `__file__` will be set to `None`. As a result, it's impossible to get the mtime from the file (because there is none). This should not influence any regularly uninstalled add-on, as that would just remove the add-on's directory; I ran into the problem when switching Git branches caused an add-on's Python files to disappear while keeping the `__pycache__` directory around. |
Revision fda5062 by Jeroen Bakker March 26, 2021, 08:13 (GMT) |
Cryptomatte: Fix error loading incomplete metadata. When rendering with cycles at some point the manifest is trimmed. This leads to incomplete/corrupted metadata. This patch will make sure that the manifest parser doesn't crash. This solved the issue when the manifest is trimmed at the start of a hash. Eg '"Name":"'. |
Revision 4425bac by Jeroen Bakker March 26, 2021, 07:38 (GMT) |
Cleanup: Fix clang-tidy errors. |
Revision 64d4e72 by Campbell Barton March 26, 2021, 06:59 (GMT) |
UV: warn when unwrapping fails Report an error when unwrapping can't solve some UV islands, note that edge-seams may need to be set. Address T86936 |
Revision 8adeab4 by Campbell Barton March 26, 2021, 03:58 (GMT) |
Cleanup: use code doxy command for Python snippet |
Revision ce528d0 by Campbell Barton March 26, 2021, 03:55 (GMT) |
Cleanup: spelling |
March 26, 2021, 03:29 (GMT) |
Geometry Nodes: Add Attribute Map Range Node This commit adds a node with a "Map Range" operation for attributes just like the non-attribute version of the node. However, unlike the regular version of the node, it also supports operations on vectors. Differential Revision: https://developer.blender.org/D10344 |
Revision 6fd799c by Campbell Barton March 26, 2021, 02:37 (GMT) |
Animation: add BKE_fcurves_calc_keyed_frames utility This function returns an array of keyed frames with rounding, to avoid duplicates caused by subtle floating point difference. Reviewed By: sybren Ref D10781 |
Revision ff017df by Campbell Barton March 26, 2021, 02:37 (GMT) |
Animation: add BKE_fcurve_pathcache_find API Support a cache for fast RNA path look-ups for RNA-path + index. Unlike a regular hash lookup, this supports using a single lookup for the RNA path which is then used to fill an array of F-curves. Reviewed By: sybren Ref D10781 |
Revision e180916 by Campbell Barton March 26, 2021, 02:37 (GMT) |
Animation: action mirror RNA API using pose contents This adds a new RNA method `Action.flip_with_pose(ob)` to flip the action channels that control a pose. The rest-pose is used to properly flip the bones transformation. This is useful as a way to flip actions used in pose libraries, so the same action need not be included for each side. Reviewed By: sybren Ref D10781 |
|
|
|


Master Commits
MiikaHweb | 2003-2021