Revision b9bb69a by Clément Foucault March 3, 2021, 14:20 (GMT) |
EEVEE: Avoid old files with too many volume shadow sample being too slow This clamp the volumetric shadow samples to the actual old max to avoid problematic slowdown after the bugfix rB3a29c19b2bff. |
Revision 1c22b55 by Clément Foucault March 3, 2021, 13:57 (GMT) |
Revision f746b56 by Clément Foucault March 3, 2021, 13:57 (GMT) |
EEVEE: SSR: Check reflection ray against geometric normal This improve self intersection prevention. Also reduce the bias that was making a lot of rays not being shoot at grazing angles. |
March 3, 2021, 13:57 (GMT) |
EEVEE: SSS: Fix light leaking bewteen object at different depths The SSS shader in Eevee has the following drawbacks (elaborated in {T79933}): 1. Glowing 2. Ringing. On low SSS jittering it is rendered a bunch of sharp lines 3. Overall blurriness due to the nature of the effect 4. Shadows near occlusions as in T65849 5. Too much SSS near the edge and on highly-tilted surfaces {F9438636} {F9427302} In the original shader code there was a depth correction factor, as far as I can understand for fixing light bleeding from one object to another. But it was scaled incorrectly. I modified its scale to depend on SSS scale*radius and made it independent from the scene scale. The scale parameter (`-4`) is chosen so that it makes tilted surfaces to have visually the same SSS radius as straight surfaces (surfaces with normal pointed directly to the camera). This depth correction factor alone fixes all the problems except for ringing (pt. 2). Because of float-point precision errors and irradiance interpolation some samples near the border of an object might leak light, causing sparkly or dashed (because of aliasing) patterns around the highlights. Switching from `texture()` to `texelFetch()` fixes this problem and makes textures on renders visually sharper. An alternative solution would be to detect object borders and somehow prevent samples from crossing it. This can be done by: 1. Adding an `object_id` texture. I think it requires much more code changing and makes the shader more complicated. Again, `object_id` is not interpolatable. 2. Watch gradient of depth and discard samples if the gradient is too big. This solution depends on scene scale and requires more texture lookups. Since SSS is usually a minor effect, it probably doesn't require that level of accuracy. I haven't notice it in practice, but I assume it can make visible SSS radius slightly off (up to 0.5 px in screen space, which is negligible). It is completely mitigated with render sampling. Reviewed By: Cl�ment Foucault Differential Revision: https://developer.blender.org/D9740 |
Revision 87da264 by Jeroen Bakker March 3, 2021, 12:42 (GMT) |
Revision 73af762 by Jeroen Bakker March 3, 2021, 11:37 (GMT) |
Cleanup: Make node_composite_cryptomatte CPP. Core API of cryptomatte is also CPP. |
Revision dcf7313 by Jeroen Bakker March 3, 2021, 11:37 (GMT) |
Cleanup: use zero_v3 to clear colors. |
Revision 3f716bb by Jacques Lucke March 3, 2021, 11:23 (GMT) |
Cleanup: clang tidy Warnings: * readability-inconsistent-declaration-parameter-name * readability-redundant-smartptr-get |
Revision 7d2f272 by Jacques Lucke March 3, 2021, 11:17 (GMT) |
Cleanup: clang tidy Can use const parameter. |
Revision e9c5091 by Jacques Lucke March 3, 2021, 11:17 (GMT) |
Cleanup: clang tidy Warning: else-after-return/break |
Revision b9ee877 by Jacques Lucke March 3, 2021, 11:14 (GMT) |
Cleanup: make format |
Revision a915e47 by Philipp Oeser March 3, 2021, 07:53 (GMT) |
Fix (unreported) Outliner missing updates copying IDs via python Steps to reproduce: - switch to Scripting workspace - execute bpy.data.meshes['Cube'].copy() - Outliner will not show the new mesh immediately Now just send appropriate notifier. Differential Revision: https://developer.blender.org/D10584 |
Revision 44ab908 by Jacques Lucke March 3, 2021, 06:59 (GMT) |
Nodes: store references to bNodeLinks in NodeTreeRef Sometimes it is useful to have this information available to be able to read information from links. |
Revision 4dd1068 by Hans Goudey March 3, 2021, 04:53 (GMT) |
Fix crash when dragging nodes The `bNodeLinkDrag` struct was NULL when dragging a node instead of a link. It is allocated with `calloc` anyway, so this field doesn't need to be explitely cleared. |
Revision 7fddf38 by Campbell Barton March 3, 2021, 04:06 (GMT) |
Cleanup: minor changes to Python RNA pointer assignment Don't assign the BPy_StructRNA a value which can be 'None', instead, set it to NULL. |
Revision 023788e by Hans Goudey March 3, 2021, 02:58 (GMT) |
Cleanup: Use span and float matrix type in direct boolean code This commit includes a few simple improvements to the direct mesh boolean code added recently. - Passing the transforms and meshes to `direct_mesh_boolean` as spans makes the function easier to call from C++. - The definition of `TransMat`, was unecessary when we have the `float4x4` type already used elsewhere in C++ code. Differential Revision: https://developer.blender.org/D10592 |
Revision a4f81c6 by FabianSchempp March 2, 2021, 22:13 (GMT) |
Fix T85966: Wrong link picked when dragging multi-input socket The socket drag operator stored the index of the last picked socket into RNA in case the mouse cursor leaves the link while dragging. This id was not unique which is why sometimes a link from an other node with the same id is picked. This patch changes the way the last picked link is stored and stores a pointer to the link directly into bNodeLinkDrag struct instead. Differential Revision: https://developer.blender.org/D10590 |
Revision 6aec656 by Campbell Barton March 2, 2021, 19:20 (GMT) |
Cleanup: spelling, minor corrections Also use doxygen comments for sculpt functions. |
March 2, 2021, 19:13 (GMT) |
Python API: Expose CurveMapping Reset View function The Python API for the curve mapping widget offers the `update` function, but no way to reset the view to the clipping rectangle. This commit adds a blenkernel function for this operation, and exposes it to the CurvMapping RNA API. This allows addons to display a more user-friendly view of the data in this widget. Differential Revision: https://developer.blender.org/D10561 |
Revision 85421c4 by Hans Goudey March 2, 2021, 19:01 (GMT) |
Geometry Nodes: Attribute search drop-down This commit adds a search for existing attributes when you click on an attribute field. This is useful because otherwise you have to remember which attributes should be available at each node in the tree. The fundamental complication is that this information is not accessible statically. So the search data is only a cache from the previous node tree evaluation. The information is added with `BKE_nodetree_attribute_hint_add`, currently for every input geometry socket for a single node. This is only an initial implementation, and later versions will expose the data type and domain of the attributes. Differential Revision: https://developer.blender.org/D10519 |
|
|
|


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