March 12, 2021, 16:07 (GMT) |
Fix else after return and NULL pointer value assignment |
March 12, 2021, 16:02 (GMT) |
Merge branch 'master' into temp-gpencil-io |
March 12, 2021, 16:01 (GMT) |
Merge branch 'master' into greasepencil-object |
March 12, 2021, 16:01 (GMT) |
Trigger baking progress bar refresh |
March 12, 2021, 15:51 (GMT) |
Merge branch 'master' into sculpt-dev |
March 12, 2021, 15:25 (GMT) |
Merge branch 'master' into temp-gpencil-bezier-v2 |
March 12, 2021, 15:01 (GMT) |
LineArt: Add new frames when no frame existed in modifier |
March 12, 2021, 14:40 (GMT) |
Cryptomatte: Show Name of Object/Material Under The Cursor. |
March 12, 2021, 14:29 (GMT) |
Cycles: Remove device->task_wait from Session::run_cpu() Should be no functional changes. The reason for this is because rendering tasks are handled by the PathTrace class and the session is not directly interacting with the device. |
March 12, 2021, 14:29 (GMT) |
Cycles: Fix parameters modification blocking UI If any Cycles property which triggers re-synchronization is modified during viewport rendering the interface could have been blocked until the current sample is finished. This was caused by the following factors: - run_cpu acquires a buffer lock for rendering - set_denoising also acquires lock, avoiding denoising to be triggered while settings are modified. This was not noticeable during run_cpu() rendering with old integrator because the render buffer was not locked during entire duration of sample rendering (despite the claim in the comment in the code). So what was happening instead is that the render buffer was only locked during scheduling on the path tracing tasks. Waiting for the tasks to be complete was done outside of the buffers lock. This was avoiding interface lock, but could have caused other threading issues (those issues are outside of the scope of this change). On the run_gpu() rendering it was possible to have interface locked for no reason if sample takes noticeable amount of time. This change makes it so there is no render buffer locked acquired during synchronization unless denoiser settings did actually change. This is still sub-optimal, but makes interaction more pleasant. |
March 12, 2021, 14:29 (GMT) |
Cycles: Fix threading issue between scene update and buffers reset It was possible that scene was updated to use denoising passes prior to delayed reset which was re-allocating render buffers. Was unlikely, but still possible: this is because update_scene() was only guarded by the scene mutex, and buffers reset was not using scene mutex. Repro was "simple": erratically toggle "Use viewport denoising" while viewport was rendering. This change makes it so buffers and scene are always in the consistent state. It also moves some logic outside of the run() functions, making it possible to re-use it for both run_cpu() and run_gpu(). Currently the change is limited to run_cpu(), so that it is easier to verify logic before using it in all codepaths. |
March 12, 2021, 13:59 (GMT) |
LineArt: Baking flags for UI. |
March 12, 2021, 13:47 (GMT) |
LineArt: Unused variable fix |
March 12, 2021, 13:40 (GMT) |
Cycles: Initial support of noisy image pass Is rather quick implementation, which should be enough to have proper progressive render+denoise in viewport. Not super happy with the code duplication, and the transparency I am not sure how to support. But maybe this is acceptable for the development purposes. |
March 12, 2021, 13:39 (GMT) |
Cycles: Comment out a lot of logic in TileManager The actual tricky tiling logic is done in the PathTraceWork and the TileManager is mainly tracking state of the current resolution and sample. In the future it can also be used to keep track of big tiles but the logic will be way more simple. |
Revision fc16656 by Jeroen Bakker (compositor-cryptomatte-workflow, temp-compositor-cryptomatte-picker) March 12, 2021, 13:33 (GMT) |
Merge branch 'master' into compositor-cryptomatte-workflow |
March 12, 2021, 13:28 (GMT) |
LineArt: Using object list for baking job |
Revision b881493 by Jeroen Bakker (compositor-cryptomatte-workflow, temp-compositor-cryptomatte-picker) March 12, 2021, 12:42 (GMT) |
Merge branch 'master' into compositor-cryptomatte-workflow |
March 12, 2021, 12:41 (GMT) |
Fix debug asserts and checks in work schedulers The work size can be the same as the maximum number of path states, as they are both sizes (not indices in 0-based arrays). |
March 12, 2021, 12:40 (GMT) |
Cycles: add back light intersection for multiple importance sampling * Intersect closest kernel now intersects with point, spot and area lights in addition to scene geometry. This could later be optimized by adding lights to the BVH. * If such a light is hit, the new shade_light kernel will be executed which will evaluate the light shader and write to the render buffer, then continue with intersect_closest. * The shade_background kernel handles intersection and shader evaluation for distant lights. |
|
|
|


Master Commits
MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021