Revision 86ec9d7 by Brecht Van Lommel September 28, 2021, 18:00 (GMT) |
Fix build without Cycles HIP device |
Revision e45ffce by Hans Goudey September 28, 2021, 17:44 (GMT) |
Geometry Nodes: Use factor slider for distribution density factor Though the factor isn't so useful to adjust by itself, and is mostly useful when used with a field connected, the slider from 0 to 1 can help to make it clear that it's just used as a multiplier for the max density after distribution. Differential Revision: https://developer.blender.org/D12654 |
September 28, 2021, 17:37 (GMT) |
Fix VS2017 compile error in String to Curves node Because of a bug in VS2017 codecvt is replaced with Blender BLI functions to convert from UTF8 to UTF32. Differential Revision: https://developer.blender.org/D12655 |
September 28, 2021, 17:18 (GMT) |
Cycles: add HIP device support for AMD GPUs NOTE: this feature is not ready for user testing, and not yet enabled in daily builds. It is being merged now for easier collaboration on development. HIP is a heterogenous compute interface allowing C++ code to be executed on GPUs similar to CUDA. It is intended to bring back AMD GPU rendering support on Windows and Linux. https://github.com/ROCm-Developer-Tools/HIP. As of the time of writing, it should compile and run on Linux with existing HIP compilers and driver runtimes. Publicly available compilers and drivers for Windows will come later. See task T91571 for more details on the current status and work remaining to be done. Credits: Sayak Biswas (AMD) Arya Rafii (AMD) Brian Savery (AMD) Differential Revision: https://developer.blender.org/D12578 |
Revision 262b211 by Hans Goudey September 28, 2021, 17:14 (GMT) |
Geometry Nodes: Mesh Point Cloud Conversion Nodes This commit adds nodes to do direct conversion between meshes and point clouds in geometry nodes. The conversion from mesh to points is helpful to instance once per face, or once per edge, which was previously only possibly with ugly work-arounds. Fields can be evaluated on the mesh to pass them to the points with the attribute capture node. The other conversion, point cloud to mesh vertices, is a bit less obvious, though it is still a common request from users. It's helpful for flexibility when passing data around, better visualization in the viewport (and in the future, cycles), and the simplicity of points. This is a step towards T91754, where point clouds are currently combined with meshes when outputing to the next modifier after geometry nodes. Since we're removing the implicit behavior for realizing instances, it feels natural to use an explicit node to convert points to vertices too. Differential Revision: https://developer.blender.org/D12657 |
Revision 7970645 by Hans Goudey September 28, 2021, 17:05 (GMT) |
Geometry Nodes: Only show attribute toggle for field inputs Change the toggle to switch between an attribute and a single value to only display for inputs that are fields, as determined statically by the field inferencing added in rB61f3d4eb7c7db7. This means the field inferencing must be calculated on file load, since it's used in the UI. Differential Revision: https://developer.blender.org/D12623 |
Revision 44e4f07 by Hans Goudey September 28, 2021, 16:36 (GMT) |
Geometry Nodes: Run nodes once on unique instance data As described in T91672, often it can be much more efficient to run each node only on the unique geometry of the instances, rather than realizing all instances and potentially processing redundant data. Sometimes the performance difference can be completely smooth vs. completely unusable. Geometry nodes used to hide that choice from users by always realizing instances, but recently we have decided to expose it. So this commit makes nodes run once per unique reference in the entire tree of nested instances in their input geometries, continuing the work started in rB0559971ab377 and rBf94164d89629f0d2. For the old behavior, a realize instances node can be added before the nodes, which is done in the versioning code. Differential Revision: https://developer.blender.org/D12656 |
Revision b32b38b by Bastien Montagne September 28, 2021, 16:30 (GMT) |
Fix T89400: Possible to delete objects used by overrides of collections. This should not be allowed in general, added some initial call to check when user is allowed to delete a data to search for mandatory override usages... |
Revision f35ea66 by Hans Goudey September 28, 2021, 16:03 (GMT) |
Geometry Nodes: Move more nodes to legacy - Curve to Points: Needs output sockets - Curve Endpoitns: Needs the same output sockets - Edge Split: Should have a selection input instead - Subdivision Surface: Should not use "crease" implicitly All new versions of these nodes should also not implicitly realize instances. |
Revision e694165 by Dalai Felinto September 28, 2021, 15:58 (GMT) |
VSE: fix versioning code to the new maximum zoom level (128) Since we bumped the number of channels to 128, I forgot to doversion the editors. So new files (new editors) would have this right, but not existing files. Fixup to: 8fecc2a8525467ee2fbbaae16ddbbc10b3050d46 |
Revision 10d926c by Sybren A. Stüvel September 28, 2021, 15:47 (GMT) |
Cleanup: asset catalogs, move file header definition to constant Define the standard catalog definition file header in a constant, separating it from the function that writes the entire file. No functional changes. |
Revision 6ee2f2d by Sybren A. Stüvel September 28, 2021, 15:47 (GMT) |
Cleanup: asset catalog, remove obsolete TODO No functional changes. |
Revision 3acf3e9 by Jacques Lucke September 28, 2021, 15:46 (GMT) |
Revision 53fa480 by Bastien Montagne September 28, 2021, 15:41 (GMT) |
Fix: Fluid/Cloth/DynamicPaint: Only share pointcaches in CoW case. Particle copying code was already properly sharing pointcache between orig data and its copy only when `LIB_ID_COPY_SET_COPIED_ON_WRITE` is set, do the same for the other point cache users. Using `LIB_ID_CREATE_NO_MAIN` here is waaaaaaay to much wide scope for such a dangerous/advanced behavior, that kind of things has to be strictly restricted in scope. |
Revision 330a04d by Bastien Montagne September 28, 2021, 15:41 (GMT) |
Fix T91393: Duplicating an action with python crashes Blender. Own mistake when making NLA overridable, instead of assuming things about the ID owner of the animation data being processed, properly return and use the one found by `ED_actedit_animdata_from_context`. |
Revision 34ba696 by Sybren A. Stüvel September 28, 2021, 15:32 (GMT) |
Cleanup: asset catalog service, remove obsolete `write_to_disk` function Remove `AssetCatalogService::write_to_disk()` function. It has been superseded by `write_to_disk_on_blendfile_save()`; the handful of test functions that called the old function have been adjusted to use the new one. No functional changes to Blender itself. |
Revision f17ca53 by Sergey Sharybin September 28, 2021, 15:06 (GMT) |
Fix wrong update with shadow catcher and transparent film This change fixes an issue when scene has a shadow catcher and film is configured to be transparent. Starting viewport render and making the background non-transparent will cause bad memory access (wrong render and possibly crash). Film passes depends on transparency of background, so check for this. Demo file: F10650585 Differential Revision: https://developer.blender.org/D12666 |
Revision 640c4ac by Sergey Sharybin September 28, 2021, 15:05 (GMT) |
Cycles: Disable tile-level denoising Only do denoising on the full-frame result. Saves render time. Can re-consider in the future when/if we'll want to support denoising during rendering (similar to viewport) to allow artists to stop rendering when they see image to be good enough. Until there is a design for that workflow stick to a more time efficient rendering. Differential Revision: https://developer.blender.org/D12662 |
Revision ff7e67a by Dalai Felinto September 28, 2021, 15:03 (GMT) |
Geometry Nodes: Dashed lines for function flow Use dashes to represent the function flow (while keeping continuous lines for the data-flow). It is important to tell both flows apart (the data and the function flow). The sockets help with that, the noodles help this further. The "data flow" is evaluated at every single node. A user can inspect the output sockets of those nodes and have a glimpse at their values. The "function flow" (nodes) however is only evaluated in the geometry nodes. The noodles are not transporting data in the same sense of the "data flow". All that can be inspected are the attributes the functions depend on. Having this clearly communicated should help users to inspect the nodetrees, read and understand the different flows in the same tree. --- Known limitations: At the moment the dash lines are not equidistant: * It would be nice to get the "uv.x" to be resampled for the bezier curve so the dashes are equally distributed in the curve. * Using distance between the P3 and P0 instead of the real bezier curve length seems to be fine. --- Full disclaimer: Changes with that much of a visual impact tend to be controversial. So far the main feedback is that dashed lines can be associated to broken link, and that there are better ways to represent the flows (or different information that should be visually represented). I'm fully aware of that. However dashed lines are already used in the viewport and outliner to indicate (hierarchical) relation. Besides, other approaches (double-lines, having the data flow to be more distinct, ...) didn't pan out in the end (or didn't look as good as this). --- Impact in other editors: The compositor uses mostly a "data flow" nodetree, so no change is expected there. The shader nodetree is one that could but doesn't have to change its visual language. The shader nodetree uses mostly "function flow" with some "data flow" nodes. One can argue that it should be adapted to follow the same pattern as geometry nodes (with the new noodles and the diamond sockets). Oh the other hand, a shader nodetree has a single context. When a node depends on the "UV", there is only one UV at a time for the entire nodetree. So it can also be treated as a psedo "data flow" nodetree if we want to avoid too many changes in other parts of Blender. Differential Revision: https://developer.blender.org/D12602 |
Revision 728ae33 by Sergey Sharybin September 28, 2021, 14:58 (GMT) |
Cycles: Improve handling of tile file error Expose them to the interface, and stop rendering as soon as possible. Differential Revision: https://developer.blender.org/D12617 |
|