June 11, 2021, 19:58 (GMT) |
Merge branch 'master' into sculpt-dev |
June 11, 2021, 18:33 (GMT) |
Curve Deform Node: Working deform for positive axes, stretch to fit option |
June 11, 2021, 17:55 (GMT) |
Dummy attribute sockets for a few nodes. This is just for proposal screenshots and conceptual testing, the nodes in question have been disabled to avoid crashes. |
June 11, 2021, 17:36 (GMT) |
Fix previous Cycles X OIDN change Seems that device needs to be recreated as well (preventing crash), as well as initial commit missed assignment of the cached configuration. Maybe there is a way to "remove" images from filter without re-creating the filter? |
June 11, 2021, 17:19 (GMT) |
Cycles X: restore homogeneous volume absorption This is a first step towards bringing back volume scattering. Almost nothing works yet, no scattering, heterogeneous media, cameras inside volumes, etc. Differential Revision: https://developer.blender.org/D11556 |
June 11, 2021, 17:09 (GMT) |
Fix possible use of stalled data in Cycles X OIDN denoiser The denoiser object is only re-created if denoiser type changes. Need to manually ensure implementation is up-to-date with the new parameters. Solves possible issues with denoiser using image from previous execution (in viewport render, enable normal pass, then disable it). |
June 11, 2021, 17:05 (GMT) |
Merge branch 'master' into cycles_procedural_api |
June 11, 2021, 16:53 (GMT) |
Fix pass offset calculation in Cycles X Caused by recent refactor. In the typical load did not notice that name could be empty: happens when Combined pass is replaced with Shadow Catcher Matte. Additionally, return PASS_UNUSED for passes which are not written. |
June 11, 2021, 15:55 (GMT) |
Finish first pass of enhanced stats/reports for file loading. |
June 11, 2021, 15:49 (GMT) |
adaptive_cloth: run BKE_cloth_remesh() when remesh flag is on |
June 11, 2021, 15:29 (GMT) |
Change default_value_vector length to 3. |
June 11, 2021, 15:20 (GMT) |
Minor fix : Correct calculation of nearest UDIM Corrects the logic for calculating the distance between selected UVs and UDIM tiles |
June 11, 2021, 15:11 (GMT) |
Universal default value for attribute sockets. This supports all the valid data types for attribute sockets: float, int, bool, vector, color. Type of default value can be changed by setting the "data_type" property of the socket. Set to SOCK_ATTRIBUTE to make it a generic attribute without a default value. |
June 11, 2021, 15:06 (GMT) |
Cleanup: removed unused data structures from old integrator |
Revision c3d2a10 by Germano Cavalcante / Sybren A. Stüvel (asset-browser, asset-browser-poselib, temp-pose-flipping-fix-attempt) June 11, 2021, 14:31 (GMT) |
Refactor: Draw Cache: use 'BLI_task_parallel_range' This is an adaptation of {D11488}. A disadvantage of manually setting the iter ranges per thread is that we don't know how many threads are running in the background and so we don't know how to best distribute the ranges. To solve this limitation we can use `parallel_reduce` and thus let the driver choose the best distribution of ranges among the threads. This proved to be especially beneficial for computers with few cores. **Benchmarking:** Here's the result on an 4-core laptop: ||master:|PATCH: |---|---|---| |large_mesh_editing:|Average: 5.203638 FPS|Average: 5.398925 FPS ||rdata 15ms iter 43ms (frame 193ms)|rdata 14ms iter 36ms (frame 187ms) Here's the result on an 8-core PC: ||master:|PATCH: |---|---|---| |large_mesh_editing:|Average: 15.267482 FPS|Average: 15.906881 FPS ||rdata 9ms iter 28ms (frame 65ms)|rdata 9ms iter 25ms (frame 63ms) |large_mesh_editing_ledge: |Average: 15.145966 FPS|Average: 15.520474 FPS ||rdata 9ms iter 29ms (frame 65ms)|rdata 9ms iter 25ms (frame 64ms) |looptris_test:|Average: 4.001917 FPS|Average: 4.061105 FPS ||rdata 12ms iter 90ms (frame 236ms)|rdata 12ms iter 87ms (frame 230ms) |subdiv_mesh_cage_and_final:|Average: 1.917769 FPS|Average: 1.971790 FPS ||rdata 7ms iter 37ms (frame 261ms)|rdata 7ms iter 31ms (frame 258ms) ||rdata 7ms iter 38ms (frame 252ms)|rdata 7ms iter 33ms (frame 249ms) |subdiv_mesh_final_only:|Average: 6.387240 FPS|Average: 6.591251 FPS ||rdata 3ms iter 25ms (frame 151ms)|rdata 3ms iter 16ms (frame 145ms) |subdiv_mesh_final_only_ledge:|Average: 6.247393 FPS|Average: 6.596024 FPS ||rdata 3ms iter 26ms (frame 158ms)|rdata 3ms iter 16ms (frame 148ms) **Notes:** - The improvement can only be noticed if all extracts are multithreaded. - This patch touches different areas of the code, so it can be split into another patch if the idea is accepted. These screenshots show how threads behave in a quadcore: Master: {F10164664} Patch: {F10164666} Differential Revision: https://developer.blender.org/D11558 |
Revision 1ad2ad6 by Germano Cavalcante / Sybren A. Stüvel (asset-browser, asset-browser-poselib, temp-pose-flipping-fix-attempt) June 11, 2021, 14:31 (GMT) |
Refactor: use 'BLI_task_parallel_range' in Draw Cache One drawback to trying to predict the number of threads that will be used in the `task_graph` is that we are only sure of the number when the threads are running. Using `BLI_task_parallel_range` allows the driver to choose the best thread distribution through `parallel_reduce`. The benefit is most evident on hardware with fewer cores. This is the result on an 4-core laptop: ||before:|after: |---|---|---| |large_mesh_editing:|Average: 5.203638 FPS|Average: 5.398925 FPS ||rdata 15ms iter 43ms (frame 193ms)|rdata 14ms iter 36ms (frame 187ms) Differential Revision: https://developer.blender.org/D11558 |
Revision 319bd88 by Jeroen Bakker / Sybren A. Stüvel (asset-browser, asset-browser-poselib, temp-pose-flipping-fix-attempt) June 11, 2021, 14:31 (GMT) |
Sequencer: Do not redraw during playback. When using large sequences including audio the drawing of the audio on top of the strip takes a lot of time. This effects the playback performance heavily. During the animation playback performance there was a solution for this by only drawing the playhead overlay. This was reverted for the sequence editor as it didn't update the color strips when they were animated. This patch checks if there are animated color strips if so the full screen is redrawn, otherwise only the playhead is redrawn. Reviewed By: ISS Differential Revision: https://developer.blender.org/D11580 |
Revision 0d5e4bb by Jeroen Bakker / Sybren A. Stüvel (asset-browser, asset-browser-poselib, temp-pose-flipping-fix-attempt) June 11, 2021, 14:31 (GMT) |
Performance: Use parallel range for ImBuf scanline processor. Scanline processor did its own heurestic what didn't scale well when having a multiple cores. In stead of using our own code this patch will leave it to TBB to determine how to split the scanlines over the available threads. Performance of the IMB_transform before this change was 0.002123s, with this change 0.001601s. This change increases performance in other areas as well including color management conversions. Reviewed By: zeddb Differential Revision: https://developer.blender.org/D11578 |
Revision 145515e by Jacques Lucke / Sybren A. Stüvel (asset-browser, asset-browser-poselib, temp-pose-flipping-fix-attempt) June 11, 2021, 14:31 (GMT) |
Nodes: cache socket identifier to index mapping While this preprocessing does take some time upfront, it avoids longer lookup later on, especially as nodes get more sockets. It's probably possible to make this more efficient in some cases but this is good enough for now. |
Revision e1dd8d7 by Maxime Casas / Sybren A. Stüvel (asset-browser, asset-browser-poselib, temp-pose-flipping-fix-attempt) June 11, 2021, 14:31 (GMT) |
Fix T89033: segfault reordering animation channels Fix segmentation fault that can occur when reordering animation channels. Under some specific conditions, the list "act->curves" is empty in the "join_groups_action_temp" function. In particular, this happens when a scene contains an action that has not been pushed down, and with no keyframe in it. Reviewed By: sybren Differential Revision: https://developer.blender.org/D11569 |
|