March 19, 2021, 19:08 (GMT) |
Merge branch 'master' into sculpt-dev |
March 19, 2021, 18:15 (GMT) |
Cycles: Avoid temporary buffer allocation for GPUDisplay update on CPU The idea is to request GPUDisplay to map memory, so that the film conversion can happen directly into that memory. Additionally, move away from task to a kernel call. In an own tests here the full viewport render time on a very simple file is now about 6% faster, although is unclear whether it is due to TBB or due to avoiding extra memory copy. Still nice. The GPU part still needs work, and will be handled separately. |
March 19, 2021, 18:12 (GMT) |
Cycles: Make buffer parameters more coupled to PathTraceWork It is annoying to pass scaled parameters to every call. More correct approach it seems to be to make them more "sticky": they become a property of path trace work, together with the render buffers. The idea is to have the following in the long term: - PathTrace allocates render buffers for every PathTraceWork - PathTrace updates parameters of every PathTraceWork on resolution divider change. - PathTrace re-allocates the buffer when balancing is needed to accomodate for performance difference of different render devices. This way PathTraceWork always knows its buffer pointer and effective parameters and always uses them in all the API calls. |
March 19, 2021, 18:00 (GMT) |
Merge branch 'master' into temp-lineart-contained |
March 19, 2021, 17:57 (GMT) |
Merge branch 'master' into temp_bmesh_multires |
March 19, 2021, 17:44 (GMT) |
Merge branch 'master' into sculpt-dev |
March 19, 2021, 17:21 (GMT) |
Merge branch 'master' into greasepencil-object |
March 19, 2021, 17:21 (GMT) |
Merge branch 'master' into temp-gpencil-io |
March 19, 2021, 17:21 (GMT) |
Merge branch 'master' into eevee-gpencil |
March 19, 2021, 16:43 (GMT) |
Draw manager: Add utility functions for context creation Some special logic is needed to release the active DrawManager OpenGL context when new context needs to be created by a render engine. This change introduces functionality which is needed for such process, including a simple example usage in the comment. |
March 19, 2021, 16:43 (GMT) |
Cycles: Avoid explicit CPU-side buffer in GPUDisplay The idea is to use OpenGL texture and pixel buffer object to push pixels from PathTrace to the GPU for draw. The need of the PBO is because updating texture from the copy_pixels_to_texture() function turned out to be quite expensive in terms of CPU time spent, degrading viewport render performance. The downside of this approach is that the peak memory might be higher when rendering on a multiple devices compared to partial direct texture updates. Although this is hard to tell for sure, since it depends on exact way of how driver schedules updates and manages memory. The upside of this change is that it makes it so PBO is there, ready to be used by CUDA's GL graphics for direct update without CPU memory round-trip. The performance is a bit hard to measure, since the timing varies quite a bit, but on the CPU it is the same ballpark. |
March 19, 2021, 16:40 (GMT) |
Small cleanup |
March 19, 2021, 16:38 (GMT) |
Larger width for name column, use values for object and collection specifically |
Revision 4886bce by Julian Eisel (asset-browser, asset-browser-poselib, asset-system-filelist, temp-pose-flipping-fix-attempt) March 19, 2021, 16:22 (GMT) |
Merge branch 'ui-asset-view-template' into asset-browser-poselib |
Revision 694609e by Julian Eisel (asset-browser, asset-browser-poselib, asset-system-filelist, temp-pose-flipping-fix-attempt) March 19, 2021, 16:22 (GMT) |
Merge branch 'master' into asset-browser-poselib |
Revision c2b041c by Julian Eisel (asset-browser, asset-browser-poselib, asset-system-filelist, temp-pose-flipping-fix-attempt) March 19, 2021, 16:16 (GMT) |
Merge branch 'master' into ui-asset-view-template |
Revision c026bb2 by Julian Eisel (asset-browser, asset-browser-poselib, asset-system-filelist, temp-pose-flipping-fix-attempt, ui-asset-view-template) March 19, 2021, 16:14 (GMT) |
Cleanup: Python code style |
Revision 063c248 by Julian Eisel (asset-browser, asset-browser-poselib, asset-system-filelist, temp-pose-flipping-fix-attempt, ui-asset-view-template) March 19, 2021, 16:09 (GMT) |
Fix race condition when multiple file/asset-lists are running at once E.g. opening a file with an asset viewer and an Asset Browser could cause one of them to not load its files properly. That is because there was only one `wmJob` per scene so when the first one was done it would end the other one(s). I think this would be a problem in master for the regular File Browser too. Instead of setting the scene as owner of the job, use the file-list, so that each file/asset-list gets its own job. |
March 19, 2021, 15:58 (GMT) |
Cycles: add back random walk subsurface scattering * shade_surface now samples either a BSDF or BSSRDF to continue the path, and depending on that will continue with intersect_closest or intersect_subsurface. * Then intersect_subsurface kernels does ray-tracing and scattering below the surface. If an exit point is found, it returns to shade_surface. * Since shade_surface is called twice, direct lighting is evaluated both for the BSSRDF and any (typically specular) BSDF, since only doing either is quite noisy. * Note most files use Christensen-Burley so will render differently. * subsurface_random_walk should be split up into smaller functions, but I've kept it like the current implementation now, will split it up in a later commit. |
March 19, 2021, 15:58 (GMT) |
Cleanup: add utility functions write writing ray and isect to integrator state |
|
|
|


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