Blender Git Loki

Blender Git commits from all branches.

Page: 115 / 2888

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
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021