June 3, 2021, 14:56 (GMT) |
Cycles X: Use approximate shadow catcher in viewport This change makes it so that shadow catcher objects have effect in the viewport. Currently is limited to the approximate mode since it is the only one possible with the draw manager integrator. Differential Revision: https://developer.blender.org/D11484 |
June 3, 2021, 14:22 (GMT) |
Cycles X: Allow viewing shadow catcher pass in viewport Differential Revision: https://developer.blender.org/D11482 |
June 3, 2021, 14:17 (GMT) |
Cycles X: Implement pass accessor for GPU It replaces film_convert_half_float with more generic code path. Currently only half4 destination is supported. No real stopper reason to support float destination, is just a bit harder to verify at this point as there will be no users of this code path. Form quick benchmarks the new code seems to be 10-15% faster than the film_convert_half_float when measuring overall display update time for non-interop rendering. Partially because we no longer convert global index to x/y and back to pixel index, partially due to smaller kernel. Note that the timing is only taking display update into account, the path tracing is not included into the speedup calculation (this means that viewport is not that much faster, but it means we can update viewpor4t more often now). Differential Revision: https://developer.blender.org/D11481 |
June 3, 2021, 14:07 (GMT) |
Cycles X: Use pass accessor for viewport on CPU No functional changes, no measurable time difference. Quite boring on itself, but it opens doors for support of shadow catcher pass in the viewport. Differential Revision: https://developer.blender.org/D11480 |
June 3, 2021, 14:01 (GMT) |
Cycles X: Multi-thread CPU pass accessor Is not very measurable for the combined pass, but for shadow catcher matte with approximated shadow gives about 30% speedup of the display update. Surely, this is only fraction of the overall render time, but is still nice to have it. Makes it easier to re-use for the viewport update as well. Differential Revision: https://developer.blender.org/D11479 |
June 3, 2021, 13:55 (GMT) |
Cycles X: Move pass pixel processors to kernel_film Currently no functional changes, just keep moving towards unifying calculation logic between CPU and GPU. There combined pass is equal in timing within a noise level, the shadow catcher matte pass with approximated shadow is about 7% faster (probably, due to difference in inline policy). Differential Revision: https://developer.blender.org/D11478 |
June 3, 2021, 13:52 (GMT) |
Cycles X: Move top-level pass access log to a base class What this change allows to do is to share top-level logic of pixel access between various implementations (CPU, GPU), while keeping the actual pixel processing very small. Currently there are no functional changes, as well no measurable difference in timing spent in getting tile pixels. Differential Revision: https://developer.blender.org/D11477 |
June 3, 2021, 13:48 (GMT) |
Cycles X: Move pass accessor to integrator folder This is where it is used the most and will be used even more in the future. No functional changes, preparing for an upcoming generalization of the class. Eventually this class will take over the kernel film convert kernel, for which DeviceQueue will be needed, so it makes sense to move the pass accessor to the integrator folder Differential Revision: https://developer.blender.org/D11476 |
June 3, 2021, 12:40 (GMT) |
Cycles X: Better handling of missing CUDA kernel functions Log missing function and avoid crash. Differential Revision: https://developer.blender.org/D11472 |
June 3, 2021, 12:37 (GMT) |
Cycles X: Fix missing viewport update on shadow catcher changes Solves missing KernelInterator update in viewport when changing object's shadow catcher mask flag. Differential Revision: https://developer.blender.org/D11471 |
June 3, 2021, 12:32 (GMT) |
Cycles X: Refactor pass info and accessor Makes it so pass accessor can be used without knowing passes array and Film. Additionally, this should restore access to AOV passes, although is hard to really verify this because AOVs are not written yet. Differential Revision: https://developer.blender.org/D11448 |
June 2, 2021, 16:03 (GMT) |
Cycles X: slightly simplify noinline usage No performance difference found with this. Making this change to help identify where it's actually needed. |
June 2, 2021, 13:38 (GMT) |
Fix broken GPU subsurface scattering |
June 2, 2021, 12:03 (GMT) |
Merge branch 'master' into cycles-x |
June 1, 2021, 08:27 (GMT) |
Cycles X: Localize handling of sample count pass Avoid having an exception in a generic code path. |
June 1, 2021, 08:09 (GMT) |
Cycles X: Generalize storage of offsets in BufferParams This change replaces storage of a hand-picked passes with a more generic storage. Simplifies code in the BufferParams and makes data available in all areas which need to access those offsets. A bit of a duplication with KernelFilm, but not all areas have access to the KernelFilm. Film can not be used either because it is not guaranteed to be in sync with the BufferParams. So in a way now all the knowledge about what is stored and how to be accessed in the Buffer is available via BufferParams. Simplifies arguments passed to the PassAccessor. The Film is still needed to be passed there to know whether shadow from the shadow catcher pass is to be averaged and added to the combined pass or not. Currently no functional changes, just preparation for an upcoming deeper refactor of the PassAccessor. Differential Revision: https://developer.blender.org/D11437 |
May 31, 2021, 09:03 (GMT) |
Merge branch 'master' into cycles-x |
May 27, 2021, 17:15 (GMT) |
Cycles X: adapt AO/bevel node implementation to new code Still not actually rendering through. |
May 27, 2021, 17:15 (GMT) |
Cleanup: pass full kernel name to integrator state macros So we can make this dynamic. |
May 27, 2021, 17:15 (GMT) |
Cleanup: make shader raytracing a node feature flag |
|