Commit Graph

102919 Commits

Author SHA1 Message Date
Jason Fielder
42ddeeadeb Metal: Add support for storage buffer copy_sub
Authored by Apple: Michael Parkin-White

Pull Request: https://projects.blender.org/blender/blender/pulls/112638
2023-09-20 23:59:08 +02:00
Harley Acheson
2c6f08ab16 Cleanup: Make format
Formatting changes resulting from Make Format
2023-09-20 11:21:25 -07:00
Harley Acheson
9173c142d6 UI: File Loading Waiting Feedback
When loading a blend file remove any open menus and show a "waiting"
mouse cursor during the process.

Pull Request: https://projects.blender.org/blender/blender/pulls/112636
2023-09-20 20:15:38 +02:00
Julian Eisel
638881ed31 Fix incorrect preview tile button size label height
Mismatch between what drawing assumes and what the function to query the
full preview tile uses. This would cause previews to be scaled down
because the button wasn't tall enough. Only affected the asset shelf and
the asset view template.
2023-09-20 20:09:45 +02:00
Clément Foucault
89da0cf07d EEVEE-Next: Raytrace: Add Diffuse Ray
This implement the diffuse tracing as simple
screen-space ray trace. This is extremely inefficient
and should only be used for reference purpose.

The real screen space diffuse implementation will
be done in another PR.

Depends on #112507

![image](/attachments/a2c0a9d9-3206-4dc7-acf8-0c37851ad10b)

Pull Request: https://projects.blender.org/blender/blender/pulls/112539
2023-09-20 18:36:59 +02:00
Jacques Lucke
2638f30983 Nodes: deduplicate rna definition of zone input nodes 2023-09-20 18:23:40 +02:00
Jacques Lucke
dc91aa6908 Cleanup: remove empty comment section 2023-09-20 18:13:24 +02:00
Jacques Lucke
6d75649076 Fix: assert when inserting simulation or repeat zone 2023-09-20 18:03:48 +02:00
Jacques Lucke
f00c1ab658 Nodes: deduplicate code for pairing zone nodes 2023-09-20 18:03:48 +02:00
Clément Foucault
7c1cb4bd8b EEVEE-Next: Deferred: Add combine pass
This allow to move the light evaluation up in the deferred pipeline and
avoid coupling two different steps into one. This add more flexibility
in the implementation of deferred lighting and indirect lighting
algorithms.

This splits the reflection probe evaluation to its own
shader since it is quite different now.

Pull Request: https://projects.blender.org/blender/blender/pulls/112507
2023-09-20 17:52:55 +02:00
Jacques Lucke
2561d0038d Node: use new zone type to deduplicate code
This was missing from 3eb7e453e4.
2023-09-20 17:21:33 +02:00
Clément Foucault
e2cef1c713 EEVEE-Next: Port SSS profile to Pre-compute shader
This moves the pre-computation offline and store the pre-computed
table in the binary. The pre-computed tables are quite small and are
not a concern with respect to binary size increase.

This rewrites the precomputation to use manually fitted
approximations for both burley and random walk.
The approximations fix a discrepancy between cycles and EEVEE
SSS translucency look. The absolute maximum error is below 2%.
I believe better results could be achieved with automatic fitting
tools.

Note that Cycles Burley translucency profile has some issues as it
does not give a smooth profile. The profile is biased near the end
of the lower radii. For this reason, the fit was done on a white
diffuse with (1,1,1) radii which does not exhibit this artifact.

Note that while this adds the profile for random walk, it isn't
currently used because the profile type is not yet passed down
the deferred path.

The fitting data can be found attached to this PR.

Pull Request: https://projects.blender.org/blender/blender/pulls/112512
2023-09-20 15:17:27 +02:00
Clément Foucault
e743b353cd GPU: Shader Builder: Guard OpenGL builder with flag 2023-09-20 15:05:41 +02:00
Clément Foucault
f079b653c1 EEVEE-Next: Deferred: Add combine pass
This allow to move the light evaluation up in
the deferred pipeline and avoid coupling two
different steps into one. This add more
flexibility in the implementation of
deferred lighting and indirect lighting
algorithms.

This splits the reflection probe evaluation
to its own shader since it is quite different
now.
2023-09-20 15:05:41 +02:00
Jacques Lucke
3eb7e453e4 Nodes: add internal node zone type
The goal is to reduce redundancy by abstracting over the different types of node
tree zones. This makes it easier to add new zone types and makes the intend of
code more clear. For example, now it is more obvious what code deals with zones
in general and what does simulation specific things.

Pull Request: https://projects.blender.org/blender/blender/pulls/112531
2023-09-20 14:40:56 +02:00
Hans Goudey
0fd0539f04 Cleanup: Rename grease pencil function to access layer at index
The plural was confusing when only one layer was returned.
2023-09-20 08:39:30 -04:00
Hans Goudey
774b9607c9 Cleanup: Resolve const correctness in grease pencil API
It was possible to access a mutable drawing from a const GreasePencil
object. This sort of mistake is possible because DNA requires using raw
pointers.
2023-09-20 08:28:08 -04:00
Pratik Borhade
8eb2d193c5 GPv3: Re-evaluate object after deleting keyframes
Missing tag for viewport update when keyframes are deleted

Pull Request: https://projects.blender.org/blender/blender/pulls/112621
2023-09-20 13:43:49 +02:00
Pablo Vazquez
817df98056 UI: Add tooltip to color picker modes
Also no need use title-case in "Gamma Corrected" since it is a
description, not a property label.
2023-09-20 12:39:05 +02:00
Brecht Van Lommel
0706cfeea0 UI: improve vertical spacing in node panels
There was too little in some places, especially at the top of panel headers.

Pull Request: https://projects.blender.org/blender/blender/pulls/112593
2023-09-20 11:56:40 +02:00
Campbell Barton
4f1079c35b Fix error comparing the ID property float sub-type
IDP_FLOAT was compared twice, missing the IDP_DOUBLE check.
2023-09-20 17:56:33 +10:00
Campbell Barton
70dff0670b Fix #112610: Nested pie menu items can't be selected
Regression in [0] caused pie menus that contain layouts with buttons
not to be selectable.

[0]: a8db828618
2023-09-20 17:29:06 +10:00
Campbell Barton
50fa5d348e BLI_string: 2nd attempt to resolve cast error for older versions of GCC 2023-09-20 16:38:56 +10:00
Campbell Barton
3df2856f2d BLI_string: attempt to resolve cast error for older versions of GCC
vdev-doc-api-coordinator gives an error relating to this cast.
2023-09-20 16:03:39 +10:00
Campbell Barton
9ed7d7cb03 UI: add extensions section (shown when extension repos are enabled)
This is a place-holder by default, the work-in-progress extensions
add-on makes use of this.
2023-09-20 15:14:07 +10:00
Campbell Barton
e3b77cf08a ImBuf: calculate the JPEG DPI with double precision
These were calculated as floats then converted to doubles,
loosing precision unnecessarily.
2023-09-20 12:12:49 +10:00
Campbell Barton
bdbf1871ec ImBuf: don't include null bytes for jpeg meta-data markers
JPEG strings aren't null terminated, there is no need to include the
null byte. For reference ImageMagick doesn't do this.
2023-09-20 12:12:40 +10:00
Campbell Barton
a0aed358fa BLI_string: assert the len argument to BLI_strdupn is valid
Ensure the string isn't null terminated before len, if this happens
it's likely an error calculating the length argument. Since the length
is passed to memcpy it could result in reading outside `str` bounds.

There was one case where the string was duplicated then grew by 1 byte
afterwards. Replace this with an allocation since it's an uncommon
operation, not especially useful to support.
2023-09-20 12:11:34 +10:00
Campbell Barton
fb81c37077 Cleanup: avoid redundant strlen calls 2023-09-20 12:11:33 +10:00
Campbell Barton
e6ef1c36f0 Cleanup: use sized integer type for BLF tags
Also replace axis-codes in doc-strings with references to BLF defines
as the meaning of these terms wasn't clear.
2023-09-20 12:11:31 +10:00
Campbell Barton
731fc5d980 Cleanup: use strict flags for string utilities & cursor
Make type conversions explicit so it's clear when char/char32_t/uint
values are being mixed, also use int instead of size_t for cursor
functions because the cursor is an int - which caused many int/size_t
comparisons.
2023-09-20 12:11:30 +10:00
Campbell Barton
f8719abdf4 Cleanup: merge key-map clear & free into one loop 2023-09-20 12:11:28 +10:00
Campbell Barton
53cbdaaa8b WM: ensure wmEvent::utf8_buf isn't treated as a null terminated string
In debug mode, fill remaining bytes so functionality that relies
on null termination will alert developers to incorrect use early on.
2023-09-20 09:50:52 +10:00
Richard Antalik
264c3e7bd7 Revert "Fix: Box select not working with tweak took in VSE"
This reverts commit cabf935afb.

After more investigation I have realized, that this change introduces
another regression and more importantly it is not suited for RCS keymap.
2023-09-19 23:26:05 +02:00
Harley Acheson
8cc91fac90 BLF: Embolden Correction & Comments
Slight corrections to embolden, mostly removing any vertical expansion
and better matching "wght" variable axis. Also improved comments for
all the glyph transform routines.

Pull Request: https://projects.blender.org/blender/blender/pulls/112592
2023-09-19 20:02:02 +02:00
Hans Goudey
a531d19b3d Cleanup: Group forward declarations at top of geometry set header 2023-09-19 13:49:04 -04:00
Iliya Katueshenock
6358c5f97c Cleanup: Support value of rotation socket
No functional changes.

Pull Request: https://projects.blender.org/blender/blender/pulls/112473
2023-09-19 19:42:55 +02:00
Richard Antalik
cabf935afb Fix: Box select not working with tweak took in VSE
Use Select Box tool by default.

After 618f39fca2 box select operator is not run with tweak tool. This
is regression for sequencer, but the new behavior is consistent with
other editors.
2023-09-19 17:59:16 +02:00
Sybren A. Stüvel
b48031df8e Anim: armature edit mode, make Shift+M consistent with pose mode
Replace the 'armature layers' operator (which would toggle visibility of
armature layers) with the 'bone collections' menu (which allows assigning
to and unassigning from bone collections). The functionality of these
operators is quite different, but it unifies the behaviour between
armature pose and edit modes.

Selecting which bone collections are visible in the 3D Viewport may be
reintroduced after nestable bone collections are implemented. Otherwise
the list of bone collections will likely become unwieldy.
2023-09-19 17:43:26 +02:00
Jason Fielder
70e99ee8b6 Fix #112258: Resolve broken volumetric world materials in Metal
Ensures correct BuiltinBits Layer flag was specified for materials
using volumetrics.

Authored by Apple: Michael Parkin-White

Pull Request: https://projects.blender.org/blender/blender/pulls/112577
2023-09-19 16:49:00 +02:00
Julian Eisel
974d70918b RNA/BPY: Replace asset_library_ref with asset_library_reference
This is a compatibility breaking change to rename all usages of the name
`asset_library_ref` with `asset_library_reference`. Brecht recently
suggested that such abbreviations should be avoided in public API names.
2023-09-19 16:27:07 +02:00
Julian Eisel
ca58f97cda Refactor: Use asset representation for asset browser context query
There's no need to use the asset handle type here anymore, it can just
use the asset representation type that is supposed to replace it.

Part of #102877 and #108806.
2023-09-19 15:56:11 +02:00
Julian Eisel
f73adee453 Cleanup: Remove unnecessary forward declaration
Missed this in e6f4e62ea0.
2023-09-19 15:55:31 +02:00
Julian Eisel
e6f4e62ea0 Cleanup: Remove unnecessary asset temporary ID consumer override
The override from 733e4d827a makes this one unnecessary.
2023-09-19 15:46:42 +02:00
Julian Eisel
733e4d827a Refactor: Use asset representation from context instead of asset handle
f6a6b27ac1 made the asset representation type available through context
wherever asset handle was previously. This moves us closer to replacing
the asset handle type.

Part of #102877 and #108806.
2023-09-19 15:43:56 +02:00
ChengduLittleA
954ae19b2b Fix #100596: Use sequencer override camera for line art in render
Line art doesn't take sequencer scene override camera into account when
computing line results, now it will try to get override camera info from
render and use that camera if line art override camera itself isn't set.

This will however not fix VSE preview line art result, since the preview
render doesn't give actual camera object, but rather uses a set of clip
planes and matrix info, thus it's probably not possible to do preview
camera override under current architecture.

Pull Request: https://projects.blender.org/blender/blender/pulls/110287
2023-09-19 15:27:47 +02:00
Julian Eisel
dd23e957ea Assets/BPY: Remove unnecessary asset file handle context member
See d973cc7992.
2023-09-19 15:23:45 +02:00
Julian Eisel
d973cc7992 Assets/BPY: Remove unnecessary asset handle related RNA members
The asset handle type is supposed to be replaced by the asset
representation type. It is designed for the asset system as opposed to
the file browser backend. With d421ebac5e, d04cd3f3e6 and f6a6b27ac1, it
can now do everything that is needed in Python to be a replacement.
591a1ae323 removed all usages of these members in the asset handle and
the file entry wrapped by the asset handle. All this should now be
accessed via the `bpy.types.AssetRepresentation` type instead, which is
available everywhere the `AssetHandle` type was available before.

Part of #102877 and #108806.
2023-09-19 15:16:23 +02:00
Julian Eisel
f6a6b27ac1 Assets: Expose asset representation in context RNA/BPY
Makes the asset representation type available in RNA/BPY context
whenever the asset handle type is, so that it can be used instead. See
d04cd3f3e6. With this change we can now replace virtually all usages of
the asset handle type in Python with the asset representation. (Only for
the asset view template we require a collection property taking asset
handles still, for internal reasons.)

Idea is now to first get rid of all usages of asset handle in Python,
so that there's almost no need for further compatibility breaking
changes (unsure if the asset view template can be removed for 4.0
already though). Internal hacks related to it can be removed at any time
still.

Part of #102877 and #108806.
2023-09-19 14:40:01 +02:00
Jeroen Bakker
3a4c238d50 Command Line: Remove Disabling SSBO
Blender has the option to disable SSBO support. This was accessible
as a command line option `--debug-gpu-disable-ssbo`.

Blender 4.0 has a hard requirement for OpenGL 4.3 which includes
SSBO support by default.

This PR removes the command line option as it makes no sense to
have it anymore.

Related to #112224

Pull Request: https://projects.blender.org/blender/blender/pulls/112571
2023-09-19 14:22:32 +02:00