Blender Git Loki

Kaikki Blender Git kommitit.

Page: 63 / 8462

November 24, 2021, 20:06 (GMT)
UI: Improve scaling of widgets when zooming

This commit improves the scaling of some ui widgets when
zooming by making the radius of the rounded corners
dependent on the element's zoom level.

Needed to fix T92278 without padding issues, see D13125.

Reviewed By: Hans Goudey, Julian Eisel

Differential Revision: https://developer.blender.org/D12842
November 24, 2021, 19:09 (GMT)
Fix compilation & dependency depth
November 24, 2021, 18:46 (GMT)
Make shaders sources from draw included in the dependency library.
November 24, 2021, 17:56 (GMT)
Fix compilation issues on MSVC and a bug in builder
November 24, 2021, 17:53 (GMT)
Merge branch 'blender-v3.0-release'

November 24, 2021, 17:52 (GMT)
Fix T90808: wrong BoundBox after undo curve selection

There are two functions that recalculate the boundbox of an object:
- One that considers the evaluated geometry
- Another that only considers the object's `data`.

Most of the time, the bound box is calculated on the final object
(with modifiers), so it doesn't seem right to just rely on `ob->data`
to recalculate the `ob->runtime.bb`.

Be sure to calculate the BoundBox based on the final geometry and
only use `ob->data` as a fallback

Differential Revision: https://developer.blender.org/D12282
November 24, 2021, 17:52 (GMT)
UI: Blend File Icons Thumbnail View

Changes icon used to indicate blend file when overlaid over larger
document icon when in thumbnail view. Only seen when file does not
have a preview.

Followup to {rB611e4ffaab43}

For more details and examples see D13342

Differential Revision: https://developer.blender.org/D13342

Reviewed by Julian Eisel
November 24, 2021, 17:50 (GMT)
UI: Blend File Icons Thumbnail View

Changes icon used to indicate blend file when overlaid over larger
document icon when in thumbnail view. Only seen when file does not
have a preview.

Followup to {rB611e4ffaab43}

For more details and examples see D13342

Differential Revision: https://developer.blender.org/D13342

Reviewed by Julian Eisel
November 24, 2021, 17:37 (GMT)
Merge branch 'blender-v3.0-release'
November 24, 2021, 17:05 (GMT)
Asset Browser: Activate a catalog when dragging

Without this it's easy to loose track of which catalog you are dragging.
Things feel generally quite jumpy/disconnected, activating the catalog
makes things feel far less like that.
I consider this an important usability fix, therefore I'm adding it to
the release branch.
November 24, 2021, 16:59 (GMT)
Asset Browser: Fix catalog being renamed when dropping into parent

When dropping catalogs it is ensured that the name of the moved catalog
is unique within the new parent catalog. When dropping a catalog into
the parent, the catalog would not actually move to a different location,
but it would still be renamed. The unique name logic simply isn't smart
enough to ignore the catalog that is about to be moved.
Address this by disallowing dragging a catalog into its own parent. It's
already there.
November 24, 2021, 16:58 (GMT)
GPUShaderDependency: Initial Commit

This is a prototype to support `#include` directive inside glsl sources.
The sources are aggregated into a list before being translated to byte_array.
This list is used to generate a mapping between the filename and the
associated byte_array. For each byte_array, we search for any `#include`
and store the file to merge.

At runtime, for one input filename we concatenate all byte_arrays that
are needed following the include order and avoiding double include.

This is meant to evolve into a fully supported `#include` system.
November 24, 2021, 16:52 (GMT)
GPUShaderDescriptor: Initial Commit

This is a first draft of what the Shader Descriptor system could be.

A shader descriptor provides a way to define shader structure, resources
and interfaces. This makes for a quick way to provide backend agnostic
binding informations while also making shader variations easy to declare.
November 24, 2021, 16:49 (GMT)
BLI: add slice method to index mask and generic span
November 24, 2021, 16:46 (GMT)
Geometry Nodes: use simpler types when devirtualizing virtual array

The compiler is more likely to optimize away the function call
overhead when the used type is simpler and not virtual.
November 24, 2021, 16:31 (GMT)
Asset Browser: Support dragging catalogs into top level

This was an oversight when I added catalog drag & drop support. I forgot
to add this for dragging catalogs into the top level by dragging into to
the "All" item as well. This made the drag & drop support rather broken
because it wouldn't work for a basic case.
November 24, 2021, 16:26 (GMT)
Geometry Nodes: reduce thread switching in evaluator

When a node is executed, it usually schedules other nodes.
Right now, those newly scheduled nodes are added to a
task pool so that another thread can start working on them
immediatly.

However, that leads to the situation where sometimes each
node in a simple chain is executed by another thread. That
leads to additional threading overhead and reduced cache
efficiency (for caches that are not shared between cores).

Now, when a node is executed and schedules other nodes,
the first of those newly scheduled nodes will always be
executed on the same thread once the current node is done.
If it schedules more than one other node, those will be
added to the task pool as before.

The speedup achieved by this is hard to measure. I found it
to be a couple percent faster in some extreme cases, not
much to get excited about. It's nice though that the number
of tasks added to the task pool is commonly reduced by a
factor of 4 or 5.
Revision 4930cd5 by Hans Goudey (master)
November 24, 2021, 15:40 (GMT)
Merge branch 'blender-v3.0-release'
Revision a07089d by Hans Goudey (master)
November 24, 2021, 15:39 (GMT)
Fix T92120 (partially): No bone custom shape with curve object meshes

This part of the drawing code assumes that the bone custom object
has only one evaluated geometry component, and it also uses the
object type to check which data to draw, with the functions like
`DRW_cache_object_surface_get` that just take an object input.
Those functions usually work on evaluated objects, which use the
instancing system to access a temporary object with `object.data`
replaced for data types that don't match the original object.

That assumption used to work, but now curve, point cloud, or volume
objects can have an evaluated mesh which is not accessed with the
same object for render engine drawing.

The "correct" solution for the way this code is structured would be to
loop through all of the geometry components and try to get GPU batches
from every one of them. However, that significantly increases complexity
in an area that should probably be refactored anyway. This patch treats
the mesh as a special case, and only draws the evaluated mesh.

The **best** solution in my opinion might be refactoring this area to
use the instancing system with some sort of viewport-only flag so
the custom shape instances aren't added in the render.

The solution is "partial" because the "Wireframe" option only works
for meshes from mesh objects, even after this fix, and because other
data besides meshes is not displayed at all.

Differential Revision: https://developer.blender.org/D13038
November 24, 2021, 15:33 (GMT)
Cycles: Add support for building with OptiX 7.4 SDK and use built-in catmull-rom curve type

Some enum names were changed/removed in OptiX 7.4, so some changes are necessary to
make things compile still.
In addition, OptiX 7.4 also adds built-in support for catmull-rom curves, so it is no longer
necessary to convert the catmull-rom data to cubic bsplines first, and has endcaps disabled
by default now, so can remove the special handling via any-hit programs that filtered them
out before.

Differential Revision: https://developer.blender.org/D13351
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021