Revision 2c41c8e by Brecht Van Lommel June 22, 2020, 11:28 (GMT) |
Cycles: internal refactoring to make thick/ribbon curve separate primitives Also removing the curve system manager which only stored a few curve intersection settings. These are all changes towards making shape and subdivision settings per-object instead of per-scene, but there is more work to do here. Ref T73778 Depends on D8013 Maniphest Tasks: T73778 Differential Revision: https://developer.blender.org/D8014 |
Revision 207338b by Brecht Van Lommel June 22, 2020, 11:28 (GMT) |
Cycles: port curve-ray intersection from Embree for use in Cycles GPU This keeps render results compatible for combined CPU + GPU rendering. Peformance and quality primitives is quite different than before. There are now two options: * Rounded Ribbon: render hair as flat ribbon with (fake) rounded normals, for fast rendering. Hair curves are subdivided with a fixed number of user specified subdivisions. This gives relatively good results, especially when used with the Principled Hair BSDF and hair viewed from a typical distance. There are artifacts when viewed closed up, though this was also the case with all previous primitives (but different ones). * 3D Curve: render hair as 3D curve, for accurate results when viewing hair close up. This automatically subdivides the curve until it is smooth. This gives higher quality than any of the previous primitives, but does come at a performance cost and is somewhat slower than our previous Thick curves. The main problem here is performance. For CPU and OpenCL rendering performance seems usually quite close or better for similar quality results. However for CUDA and Optix, performance of 3D curve intersection is problematic, with e.g. 1.45x longer render time in Koro (though there is no equivalent quality and rounded ribbons seem fine for that scene). Any help or ideas to optimize this are welcome. Ref T73778 Depends on D8012 Maniphest Tasks: T73778 Differential Revision: https://developer.blender.org/D8013 |
Revision d1ef514 by Brecht Van Lommel June 22, 2020, 11:28 (GMT) |
Cycles: remove SIMD BVH optimizations, to be replaced by Embree Ref T73778 Depends on D8011 Maniphest Tasks: T73778 Differential Revision: https://developer.blender.org/D8012 |
Revision 1de0e13 by Brecht Van Lommel June 22, 2020, 11:28 (GMT) |
Cycles: remove __UV__ and __INSTANCING__ as kernel options The kernel did not work correctly when these were disabled anyway. The optimized BVH traversal for the no instances case was also only used on the CPU, so no longer makes sense to keep. Ref T73778 Depends on D8010 Maniphest Tasks: T73778 Differential Revision: https://developer.blender.org/D8011 |
Revision fed101a by Brecht Van Lommel June 22, 2020, 11:28 (GMT) |
Cycles: always perform backface culling for curve, remove option The hair BSDFs are already designed to assume this, and disabling backface culling would break them in some cases. Ref T73778 Depends on D8009 Maniphest Tasks: T73778 Differential Revision: https://developer.blender.org/D8010 |
Revision c7d9402 by Brecht Van Lommel June 22, 2020, 11:28 (GMT) |
Cycles: remove support for rendering hair as triangle and lines Triangles were very memory intensive. The only reason they were not removed yet is that they gave more accurate results, but there will be an accurate 3D curve primitive added for this. Line rendering was always poor quality since the ends do not match up. To keep CPU and GPU compatibility we just remove them entirely. They could be brought back if an Embree compatible implementation is added, but it's not clear to me that there is a use case for these that we'd consider important. Ref T73778 Reviewers: #cycles Subscribers: |
Revision e50f1dd by Brecht Van Lommel June 22, 2020, 11:27 (GMT) |
Cycles: use TBB for task pools and task scheduler No significant performance improvement is expected, but it means we have a single thread pool throughout Blender. And it should make adding more parallellization in the future easier. After previous refactoring commits this is basically a drop-in replacement. One difference is that the task pool had a mechanism for scheduling tasks to the front of the queue to minimize memory usage. TBB has a smarter algorithm to balance depth-first and breadth-first scheduling of tasks and we assume that removes the need to manually provide hints to the scheduler. Fixes T77533 |
Revision 54e3487 by Brecht Van Lommel June 22, 2020, 11:06 (GMT) |
Cleanup: remove task pool stop() and finished() |
Revision b10b7cd by Brecht Van Lommel June 22, 2020, 11:06 (GMT) |
Cleanup: use lambdas instead of functors for task pools, remove threadid |
Revision d8c2092 by Brecht Van Lommel June 22, 2020, 11:06 (GMT) |
Cycles: make TBB a required library dependency, and use in a few places Now that the rest of Blender also relies on TBB, no point in maintaining custom code for paraller_for and thread local storage. |
Revision ace3268 by Brecht Van Lommel June 22, 2020, 11:06 (GMT) |
Cleanup: minor refactoring around DeviceTask |
Revision b7c34c8 by Brecht Van Lommel June 22, 2020, 11:06 (GMT) |
Cleanup: use move semantics for task pool functions |
Revision f9d138b by Brecht Van Lommel June 22, 2020, 11:06 (GMT) |
Cleanup: compiler warning |
Revision 8ffb006 by Bastien Montagne June 22, 2020, 11:06 (GMT) |
Revision c309177 by Germano Cavalcante June 22, 2020, 10:54 (GMT) |
Fix initialization of Edge Slide with Single Side It was not being initialized. Error introduced in cf42721fe28f |
Revision ba97da2 by Germano Cavalcante June 22, 2020, 10:54 (GMT) |
Transform: Simplify and rearrange mirror code No real functional changes. |
Revision d6e07a7 by Germano Cavalcante June 22, 2020, 10:54 (GMT) |
Transform: Do not compute island center when not used No functional changes from the user's point of view. |
Revision 5db1ae2 by Germano Cavalcante June 22, 2020, 10:54 (GMT) |
Cleanup: Remove goto in transform_convert_mesh code |
Revision 2d866d7 by Germano Cavalcante June 22, 2020, 10:54 (GMT) |
Cleanup: Rearrange transform_convert_mesh into doxy sections |
Revision 3752c44 by Antonio Vazquez June 22, 2020, 08:48 (GMT) |
GPencil: Remove Fill selection with Tweak tool and fix bug * Fixed selection of point in multiframe mode. The point was not selected. * Removed the fill area selection because makes the tool imprecise, and for this tool need to be precise or the selection is impossible. Now only select if it's over the point, not over the filled area. |
|
|
|


Master Commits
MiikaHweb | 2003-2021