The new selection code was redrawing everything for each update.
Use the gestures wmGenericUserData to store the cache between
executions and ensure it's freed.
The properties inside are still hidden when the toggles are off, but we really should use greying out here instead.
That needs changes to DNA/RNA to work though.
Previously, render parts were stored in a linked list and every tile update
searched the entire list for the correct part. As a result, the overhead
of searching tiles increased quadratically w.r.t. the number of tiles.
By hashing the parts based on their location, this operation is much faster,
significantly reducing the tile update overhead for small tiles and/or large
renders.
For example, rendering an empty scene in 1080p at 1spp and 8x8 tiles goes
down from 9.22sec to 1.45sec on my laptop.
Reviewers: brecht, sergey
Differential Revision: https://developer.blender.org/D4896
This patch updates the polling that enable/disables Edit Menu items. Slight Undo History menu changes
Differential Revision: https://developer.blender.org/D4846
Reviewed by Brecht Van Lommel
- add movies to channel above free slot (no check for 2 free slots),
add sound to the free slot
- don't override channel settings if `channel` property is set
This is just a hack. Propper implementation should be done along with T59540
Reviewed By: brecht
Differential Revision: https://developer.blender.org/T59540
A few icons were missed in the last update.
- Added dedicated icon for showing hidden objects in the Graph Editor
- Added new, more descriptive icon for F-Curve snapshots
- Tweaks for Toggle Full Screen and Collections icons
This should be the final set for 2.80.
Thanks to Andrzej Ambroż for contributing this icon set.
Cosmetic change for consistency according to the naming guidelines in 2.80.
Also place Render first, Viewport later to match other areas in Blender
such as the sampling panel in EEVEE/Cycles.
This also replaces the Use Alpha setting. We now have these alpha modes:
* Straight: store RGB and alpha channels separately with alpha acting as a
mask, also known as unassociated alpha.
* Premultiplied: transparent RGB pixels are multiplied by the alpha channel.
The natural format for renders.
* Channel Packed: different images are packed in the RGB and alpha channels,
and they should not influence each other. Channel packing is commonly used
by game engines to save memory.
* None: ignore alpha channel from the file and make image fully opaque.
Cycles OSL does not correctly support Channel Packed and None yet, we are
missing fine control over the OpenImageIO texture cache to do that.
Fixes T53672
For some reason there seems to be no way to do the very simple and
obvious task of converting a scale vector to a matrix via mathutils.
The Matrix.Scale constructor does something complicated instead.
Reviewers: brecht, campbellbarton
Differential Revision: https://developer.blender.org/D4893
This fixes poor Cycles panel ordering, with Freestyle and Custom Properties
appearing at the top.
For most cases order of registration is still the easiest way to control
order and it's recommended to keep using that. This is mainly to solve a few
cases where we want a few built-in panels to appear below add-on panels.
This patch removes the hover highlight that can sometimes remain after moving out of the Outliner space
Differential Revision: https://developer.blender.org/D4822
Reviewed by Brecht Van Lommel
This patch gives new Windows users a better default preference for fonts folder
Differential Revision: https://developer.blender.org/D4725
Reviewed by Campbell Barton and Brecht Van Lommel
Due to popular demand, this switches the number key mode order, so that it goes:
1: vert, 2: edge, 3: face, 4: object, 5: sculpt and so on
This has a number of downsides in practice, because it works less well for objects other than meshes, which now have a gap in the keymap between 1 and 4. I will try this change anyway, due to popular demand.
Also use V for viewport pie, which makes it easier to switch viewpoints on laptops especially.
SVN takes a long time to sync even if there are no updates,
the `code_update` parameter gives the option opt out of the
SVN updates.
This is a developer option, people just wanting to build
blender and not do any development are highly recommended
to keep using the `update` method.