Revision 0349061 by Clément Foucault March 13, 2021, 19:59 (GMT) |
EEVEE: ScreenSpaceReflections: Avoid outputing NaNs This happens when the normal is too much deformed to give valid reflection even after ensure_valid_reflection. Cycles seems to not handle this case either so we just discard the rays. |
Revision ba3a0dc by Hans Goudey March 13, 2021, 19:13 (GMT) |
Geometry Nodes: Add "normal" attribute for face normals This commit adds a `normal` attribute on the polygon domain. Since normal data is derived data purely based off of the location of each face's vertices, it is exposed as a read-only attribute. After rB80f7f1070f17, this attribute can be interpolated to the other domains. Since this attribute is a special case compared to the others, the implementation subclasses `BuiltinAttributeProvider`. It's possible there is a better way to abstract this. Something else might also become apparent if we add similar read-only attributes. See rB2966871a7a891bf36 for why this is preferred over the previous implementation. Differential Revision: https://developer.blender.org/D10677 |
Revision 2966871 by Hans Goudey March 13, 2021, 19:05 (GMT) |
Geometry Nodes: Revert current normal attribute implementation After further thought, the implementation of the "normal" attribute from D10541 is not the best approach to expose this data, mainly because it blindly copied existing design rather than using the best method in the context of the generalized attribute system. In Blender, vertex normals are simply a cache of the average normals from the surrounding / connected faces. Because we have automatic interpolation between domains already, we don't need a special `vertex_normal` attribute for this case, we can just let the generalized interpolation do the hard work where necessary, simplifying the set of built-in attributes to only include the `normal` attribute from faces. The fact that vertex normals are just a cache also raised another issue, because the cache could be dirty, so mutex locks were necessary to calculate normals. That isn't necessarily a problem, but it's nice to avoid where possible. Another downside of the current attribute naming is that after the point distribute node there would be two normal attributes. This commit reverts the `vertex_normal` attribute so that it can be replaced by the implementation in D10677. Differential Revision: https://developer.blender.org/D10676 |
Revision 88f845c by Antonio Vazquez March 13, 2021, 18:52 (GMT) |
GPencil: Remove word "Strokes" in menu This remove redundant word. |
March 13, 2021, 16:49 (GMT) |
Geometry Nodes: Add Attribute Convert node The Attribute Convert node provides functionality to change attributes between different domains and data types. Before it was impossible to write to a UV Map attribute with the attribute math nodes since they did not output a 2D vector type. This makes it possible to "convert into" a UV map attribute. The data type conversion uses the implicit conversions provided by `nodesinternnode_tree_multi_function.cc`. The `Auto` domain mode chooses the domain based on the following rules: 1. If the result attribute already exists, use that domain. 2. If the result attribute doesn't exist, use the source attribute domain. 3. Otherwise use the default domain (points). See {T85700} Differential Revision: https://developer.blender.org/D10624 |
Revision 8ab6450 by Hans Goudey March 13, 2021, 16:39 (GMT) |
Fix geometry nodes implicit conversion to booleans reversed The result value should be true if the input values are not zero. Note that there is ongoing conversation about these conversions in D10685. This is simply a fix though. |
Revision 258b15d by Pablo Dobarro March 12, 2021, 21:29 (GMT) |
Cleanup: add BKE_pbvh_vertex_iter_begin to clang-format Reviewed By: JacquesLucke Differential Revision: https://developer.blender.org/D10707 |
Revision 74052a9 by Pablo Dobarro March 12, 2021, 20:37 (GMT) |
Sculpt: Mask Init operator This operator initializes mask values for the entire mesh. It supports different modes for initializing those values, and more will be added in the future. The initial version supports generating a random mask per vertex, Face Sets or loose parts. These masks are useful for introducing variations in the model using the filters (both shapes and colors). Reviewed By: JacquesLucke Differential Revision: https://developer.blender.org/D10679 |
Revision 9d08c16 by Antonio Vazquez March 12, 2021, 18:43 (GMT) |
GPencil: Interpolate can use all keyframe types except breakdown Before only it was only possible interpolate frames of `Keyframe` type. Now all types except `Breakdown` can be used. `Breakdown` cannot be used because it would be impossible interpolate two times because the extremes of the interpolation would change and the clean operator would not work. |
Revision 5788f60 by Antonio Vazquez March 12, 2021, 18:12 (GMT) |
GPencil: UI menu cleanup Remove duplicate words Stroke and Point already in menu header. Reviewed by: @mendio, @filedescriptor |
Revision 476be37 by Brecht Van Lommel March 12, 2021, 16:49 (GMT) |
Fix T86332: setting Cycles dicing camera fails after recent changes Somehow "from __future__ import annotations" and "lambda" are not working together well here, work around it by not using a lambda function. |
Revision b01e9ad by Sebastián Barschkis March 12, 2021, 16:24 (GMT) |
Fluid: Enable scale options for fluid particles There is no reason to hide the 'Scale' and 'Scale Randomness' options for fluid particles that are rendered as 'Object'. It is possible that hiding these options was just an oversight and not intentional. |
Revision 651fe24 by Campbell Barton March 12, 2021, 16:14 (GMT) |
Cleanup: const warning |
Revision abe1a06 by Campbell Barton March 12, 2021, 16:14 (GMT) |
Docs: add doc-string for TransDataContainer |
Revision f707783 by Bastien Montagne March 12, 2021, 15:45 (GMT) |
LibOverride Auto Resync: Add option to disable it in Experimental userpref. Some older .blend files won't react nicely to auto-resync, they need to get manually fixed with `resync enforce` first. |
Revision ef5782e by Bastien Montagne March 12, 2021, 15:01 (GMT) |
CLOG: add support for substring matching. So that `--log "*undo*"` matches any log identifier containing `undo`. Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D10647 |
Revision bcac171 by Sybren A. Stüvel March 12, 2021, 14:58 (GMT) |
Fix heap buffer overflow appending/linking from a blend file Add new function `blo_bhead_is_id_valid_type()` to correctly check the blend file block type. File block type codes have four bytes, and two of those are only in use when these blocks contain ID datablocks (like `"OB "`). However, there are other types defined in `BLO_blend_defs.h` that have four bytes, like `TEST`, `ENDB`, etc. The function `BKE_idtype_idcode_is_valid(short idcode)` was used to check for ID datablocks while reading a blend file. This only takes a 2-byte parameter, and thus its result is invalid for the 4-byte codes. For `TEST` blocks, it would actually consider it a `TE` block, which is a valid identifier for a Texture. This caused the heap buffer overflow, as the datablock is not a valid ID, and thus the bytes that were expected to form an ID name actually encode something completely different. Reviewed By: mont29 Differential Revision: https://developer.blender.org/D10703 |
Revision f0c3ec3 by Campbell Barton March 12, 2021, 14:36 (GMT) |
Fix T82532: Sculpt fails to redo the first sculpt session stroke Sculpt undo relied on having a mode-changing undo step to properly apply changes. However this isn't the case with startup files or when mixing global undo steps with sculpt (see T82851, also fixed). Undo stepping logic follows image_undosys_step_decode_undo. |
Revision c7354cc by Bastien Montagne March 12, 2021, 14:27 (GMT) |
Fix another crash in LibOverride resync code. Another case where newly overridden ID (stored in `newid` of its linked reference) gets immediately deleted in old broken overrides. Re T86501. |
Revision 20ee6c0 by Brecht Van Lommel March 12, 2021, 14:17 (GMT) |
Fix compiler warning when building Cycles without Embree |
|
|
|


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