Revision 6ed6741 by Sybren A. Stüvel December 4, 2020, 09:14 (GMT) |
Point users to new location of "Show Group Colors" option In ad85256e7108 the "Show Group Colors" option was changed from a per-editor option to a user preference. Since so many people wanted to turn this option off, this makes sense. However, this move caused some confusion because the option was just gone from the menu. This commit adds a dummy menu item. It's disabled, and the tooltip explains that the option can now be found in Preferences. T83390 was created to track the removal of these hints. Reviewed by: Severin Differential Revision: https://developer.blender.org/D9735 |
Revision 76a0b32 by Jeroen Bakker December 4, 2020, 07:46 (GMT) |
EEVEE Cryptomatte Cryptomatte is a standard to efficiently create mattes for compositing. The renderer outputs the required render passes, which can then be used in the compositor to create masks for specified objects. Unlike the Material and Object Index passes, the objects to isolate are selected in compositing, and mattes will be anti-aliased. Cryptomatte was already available in Cycles this patch adds it to the EEVEE render engine. Original specification can be found at https://raw.githubusercontent.com/Psyop/Cryptomatte/master/specification/IDmattes_poster.pdf **Accurate mode** Following Cycles, there are two accuracy modes. The difference between the two modes is the number of render samples they take into account to create the render passes. When accurate mode is off the number of levels is used. When accuracy mode is active, the number of render samples is used. **Deviation from standard** Cryptomatte specification is based on a path trace approach where samples and coverage are calculated at the same time. In EEVEE a sample is an exact match on top of a prepared depth buffer. Coverage is at that moment always 1. By sampling multiple times the number of surface hits decides the actual surface coverage for a matte per pixel. **Implementation Overview** When drawing to the cryptomatte GPU buffer the depth of the fragment is matched to the active depth buffer. The hashes of each cryptomatte layer is written in the GPU buffer. The exact layout depends on the active cryptomatte layers. The GPU buffer is downloaded and integrated into an accumulation buffer (stored in CPU RAM). The accumulation buffer stores the hashes + weights for a number of levels, layers per pixel. When a hash already exists the weight will be increased. When the hash doesn't exists it will be added to the buffer. After all the samples have been calculated the accumulation buffer is processed. During this phase the total pixel weights of each layer is mapped to be in a range between 0 and 1. The hashes are also sorted (highest weight first). Blender Kernel now has a `BKE_cryptomatte` header that access to common functions for cryptomatte. This will in the future be used by the API. * Alpha blended materials aren't supported. Alpha blended materials support in render passes needs research how to implement it in a maintainable way for any render pass. This is a list of tasks that needs to be done for the same release that this patch lands on (Blender 2.92) * T82571 Add render tests. * T82572 Documentation. * T82573 Store hashes + Object names in the render result header. * T82574 Use threading to increase performance in accumulation and post processing. * T82575 Merge the cycles and EEVEE settings as they are identical. * T82576 Add RNA to extract the cryptomatte hashes to use in python scripts. Reviewed By: Cl�ment Foucault Maniphest Tasks: T81058 Differential Revision: https://developer.blender.org/D9165 |
Revision 2bae11d by Jeroen Bakker December 4, 2020, 07:14 (GMT) |
EEVEE: Arbitrary Output Variables This patch adds support for AOVs in EEVEE. AOV Outputs can be defined in the render pass tab and used in shader materials. Both Object and World based shaders are supported. The AOV can be previewed in the viewport using the renderpass selector in the shading popover. AOV names that conflict with other AOVs are automatically corrected. AOV conflicts with render passes get a warning icon. The reason behind this is that changing render engines/passes can change the conflict, but you might not notice it. Changing this automatically would also make the materials incorrect, so best to leave this to the user. **Implementation** The patch adds a copies the AOV structures of Cycles into Blender. The goal is that the Cycles will use Blenders AOV defintions. In the Blender kernel (`layer.c`) the logic of these structures are implemented. The GLSL shader of any GPUMaterial can hold multiple outputs (the main output and the AOV outputs) based on the renderPassUBO the right output is selected. This selection uses an hash that encodes the AOV structure. The full AOV needed to be encoded when actually drawing the material pass as the AOV type changes the behavior of the AOV. This isn't known yet when the GLSL is compiled. **Future Developments** * The AOV definitions in the render layer panel isn't shared with Cycles. Cycles should be migrated to use the same viewlayer aovs. During a previous attempt this failed as the AOV validation in cycles and in Blender have implementation differences what made it crash when an aov name was invalid. This could be fixed by extending the external render engine API. * Add support to Cycles to render AOVs in the 3d viewport. * Use a drop down list for selecting AOVs in the AOV Output node. * Give user feedback when multiple AOV output nodes with the same AOV name exists in the same shader. * Fix viewing single channel images in the image editor [T83314] * Reduce viewport render time by only render needed draw passes. [T83316] Reviewed By: Brecht van Lommel, Cl�ment Foucault Differential Revision: https://developer.blender.org/D7010 |
Revision 2bd0263 by Hans Goudey December 4, 2020, 05:37 (GMT) |
Fix T83346: Scrolling doesn't work with mouse over panel header Just a misplaced assignment to the return value from the panel handler in rB600fb28b6295. |
December 4, 2020, 01:23 (GMT) |
UI: Remove Decorators from Keymap Preferences Improvements to the layout of the Keymaps section of Preferences by removing unneeded Decorator columns. Differential Revision: https://developer.blender.org/D9726 Reviewed by Hans Goudey |
Revision cc6ec71 by Pablo Dobarro December 3, 2020, 21:55 (GMT) |
Sculpt: Wet paint area radius This adds a new property to the sculpt vertex color paint brush to limit the area of the brush that is going to be used to sample the wet paint color. This is exactly the same concept as normal radius and area radius that exist for sculpting brushes for sampling the surface depth and orientation. When working near color hard edges, this allows to prevent the color from the other side of the edge to blend into the wet paint. With 1.0 (the previous default) wet paint radius, as soon as the brush touches one vertex of the other color, the wet paint mix color changes, making it impossible to maintain the border between the two colors. Reviewed By: sergey, dbystedt, JulienKaspar Differential Revision: https://developer.blender.org/D9587 |
Revision 9234a6a by Pablo Dobarro December 3, 2020, 21:50 (GMT) |
Fix T82872: Add design task link for tilt support Reviewed By: sergey, Blendify Maniphest Tasks: T82872 Differential Revision: https://developer.blender.org/D9615 |
Revision 1bc75df by Pablo Dobarro December 3, 2020, 21:48 (GMT) |
Sculpt: Allow inverting the Erase Displacement mesh filter When inverting erase displacement the filter can increase the displacement over the limit surface. After using apply base, this can be used as an alternative intensify details as it usually gives better results. This is the same concept as smoothing inverting to intensify details. Reviewed By: sergey Differential Revision: https://developer.blender.org/D9679 |
Revision 92e44ce by Pablo Dobarro December 3, 2020, 21:46 (GMT) |
UI: Add sculpt stats to statusbar This was missing from D9623. Now the same sculpt scene stats are also displayed in the status bar. Reviewed By: sergey Differential Revision: https://developer.blender.org/D9700 |
Revision 82e4010 by Pablo Vazquez December 3, 2020, 19:21 (GMT) |
UI: Fix Node Groups color in Geometry Nodes Node Groups didn't have a category assigned so they looked like inputs (red) instead of the Node Group theme color (green by default). |
Revision f3b08af by Germano Cavalcante December 3, 2020, 18:29 (GMT) |
Fix T83352: Move with constraint showing an incorrect value in the header The displayed value was always that of the x axis. |
Revision f637b47 by Ray molenkamp December 3, 2020, 18:00 (GMT) |
MSVC: Enable clang-tidy analyser This enables the use of clang-tidy in the VS IDE. To use it: 1 - Enable WITH_CLANG_TIDY in your cmake configuration 2 - From the Analyse pull down menu select Run Code Analysis on... The analyser is currently not enabled by default on build given it is quite slow and there are quite a few problems it reports that we still need to deal with. |
Revision 769818f by Antonio Vazquez December 3, 2020, 16:42 (GMT) |
GPencil: Reduce UI range for Simplify Adaptive factor The old range was too big, so now the soft limit is between 0 and 5 |
Revision c821aa8 by Antonio Vazquez December 3, 2020, 16:18 (GMT) |
GPencil: Fix unreported refresh of stroke after using Arrange operator When change the order of the stroke using the arrange operator, the arrange was done, but the viewport did not display the result until you refresh the viewport. |
Revision 986955a by Antonio Vazquez December 3, 2020, 15:49 (GMT) |
GPencil: Add Vertex Paint operators to Paint menu These operators existed since 2.83, but the menu was hidden by error. Also the operators have been cleanup and make multiframe compatible. Reviewed By: mendio Differential Revision: https://developer.blender.org/D9671 |
Revision 570a16d by Sybren A. Stüvel December 3, 2020, 15:32 (GMT) |
Fix: remove `show_group_colors` from graph editor menu The `show_group_colors` option was moved to the user preferences in ad85256e71, but accidentally remained in the graph editor menu. |
Revision 107231e by Jacques Lucke December 3, 2020, 15:25 (GMT) |
Geometry Nodes: improve support for Color attributes * Add typed attribute accessors for color attributes. * Support implicit conversions between colors and floats. |
Revision 2c18152 by Jacques Lucke December 3, 2020, 15:20 (GMT) |
Geometry Nodes: add custom data type getter for attribute accessor This is just an utility method, that avoids that the caller has to do the conversion every time it is necessary. |
Revision 675d848 by Sybren A. Stüvel December 3, 2020, 14:28 (GMT) |
Fix T83315: Crash showing animation channel context menu after baking sound Fix a crash when right-clicking in the Graph Editor animation channel list. The code for getting selected keyframes was not checking for baked curves. |
Revision a3c4091 by Patrick Mours December 3, 2020, 14:20 (GMT) |
Fix Cycles device kernels containing debug assertation code NanoVDB includes "assert.h" and makes use of "assert" in several places and since the compile pipeline for CUDA/OptiX kernels does not define "NDEBUG" for release builds, those debug checks were always added. This is not intended, so this patch disables "assert" for CUDA/OptiX by defining "NDEBUG" before including NanoVDB headers. This also fixes a warning about unknown pragmas in NanoVDB thrown by the CUDA compiler. |
|
|
|


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