September 3, 2021, 11:32 (GMT) |
Cycles-X: Fix incorrect performance calculation at certain navigation resolutions During viewport navigation the algorithm that calculates the resolution divider assumes that the at every resolution division the sample count will be 4. This is not true for cases where the resolution division is equal to `2 * pixel_size` and `pixel_size`. In those cases the sample count is 1. As a result the algorithm assumes `2 * pixel_size` and `pixel_size` are too expensive in a lot of cases and thus doesn't use it. This patch addresses this issue by informing the algorithm of changes in sample counts between resolution divisions meaning it can more properly gauge the performance of various resolution divisions. As a result the algorithm is more likely to pick the correct resolution divider when performance of the scene is in the range that `2 * pixel_size` and `pixel_size` are viable options all while keeping the performance target at 30fps like before. Along with this patch the sample count while the resolution divider is equal to `2 * pixel_size` has been increased from 1 sample per pixel to 2 samples per pixel. Without an increase to this value there are some negative side effects. I have chosen the value of 2 and not 4 because this values means at a resolution divider of `2 * pixel_size` the rendering is still cheaper than a resolution divider of `pixel_size`. Differential Revision: https://developer.blender.org/D12367 |
September 3, 2021, 11:29 (GMT) |
use GFieldRef where appropriate |
September 3, 2021, 10:54 (GMT) |
fix bug when the same field is evaluated twice |
September 3, 2021, 09:55 (GMT) |
add initial Attribute Freeze node |
September 3, 2021, 09:23 (GMT) |
Small fix of using defined constant instead of immediate value |
September 3, 2021, 09:06 (GMT) |
support deduplication of normal node |
September 3, 2021, 08:53 (GMT) |
fix typo |
September 3, 2021, 08:48 (GMT) |
Merge branch 'master' into temp-geometry-nodes-fields |
September 3, 2021, 06:19 (GMT) |
commit working code |
September 3, 2021, 04:05 (GMT) |
Cleanup and improve comment |
September 3, 2021, 04:00 (GMT) |
Add initial normal node In contrast with the read-only "normal" attribute on the face domain, this node gives normalized values for every mesh domain, including edges and corners. This is preferrable since it's much more predictable to work with. The implementation is a little more complicated than I would like, but could be improved with const access to lazy calculation of normals on meshes, which is something I've been planning to work on anyway. |
September 3, 2021, 03:55 (GMT) |
Fix function and define names |
September 2, 2021, 21:24 (GMT) |
Cleanup: Internally rename "position" to "input_position" Maybe we'll decide not to do this, for now maybe it's better to be consistent though |
September 2, 2021, 21:20 (GMT) |
Cleanup: Rename index node define |
September 2, 2021, 21:13 (GMT) |
Add "Index" node |
September 2, 2021, 21:11 (GMT) |
Allow Set Position node to act on more component types, cleanup |
September 2, 2021, 20:57 (GMT) |
Add a special case for a selection span This will probably end up being a utility used elsewhere, so it's worth adding this case. |
September 2, 2021, 20:48 (GMT) |
Reorder input sockets Since the position is the more important input compared to the selection, it should be on top |
September 2, 2021, 20:47 (GMT) |
Cleanup: Remove unnecessary include |
September 2, 2021, 19:58 (GMT) |
Merge branch 'master' into temp-geometry-nodes-fields |
|
|
|


Master Commits
MiikaHweb | 2003-2021