Commit Graph

8413 Commits

Author SHA1 Message Date
Jeroen Bakker
71de545697 Fix #124377: EEVEE Incorrect HDRI Previews location
When render border is active the default framebuffer view is changed
and results to rendering the HDRI previews inside the render border
and not in the bottom right corner of the 3d viewport.

This PR fixes it by resetting the viewport when drawing the HDRI
previews.

Also tried to pass the DRW default view during submission, but that
didn't fixed the issue.

Pull Request: https://projects.blender.org/blender/blender/pulls/124402
2024-07-09 13:32:54 +02:00
Fermin
ad58c9eaca XR: Add passthrough support for Meta Quest devices
Uses the OpenXR extension XR_FB_PASSTHROUGH_EXTENSION_NAME,
compatible mainly with the Meta Quest family of devices.

Currently, passthrough support over OpenXR is disabled by default
in the Quest Link app, and must be manually enabled in its settings
to use this feature.

The performance of the passthrough render varies with the quality
of the connection between the headset and the PC. For better results,
connecting the headset directly through USB to the PC, or at least
connecting the PC to the local network over ethernet, is recommended.

Thanks a lot to [KISKA](https://kiska.com/)
for their support in the development of this feature.

Pull Request: https://projects.blender.org/blender/blender/pulls/124204
2024-07-09 06:10:17 +02:00
Jesse Yurkovich
5bb5cfd97a Merge branch 'blender-v4.2-release' 2024-07-08 09:07:07 -07:00
Clément Foucault
15b2d77f29 Fix: EEVEE: Invalid sphere probe border pixel
Border pixels of the world probe were not
copied correctly to local sphere probes.

Maybe side effect of #123074 or maybe it was
always broken.

Fix is to use the same sampling functions as
regular sampling for biasing the UVs correctly.

Fixes render tests.
2024-07-08 17:27:10 +02:00
Miguel Pozo
6c8e14bb30 Merge branch 'blender-v4.2-release' 2024-07-08 15:25:12 +02:00
Miguel Pozo
a7e24222cf EEVEE: Show compilation subprocesses information
Inform the user when EEVEE is compiling materials and parallel
compilation is disabled.

Pull Request: https://projects.blender.org/blender/blender/pulls/124249
2024-07-08 15:23:58 +02:00
Casey Bianco-Davis
18b5f510d4 Fix #122536: GPv3: Render cyclic stroke with 2 point break next fills.
The issue was that parts of the code considered cyclic strokes with less than 3
points to also have a fill.

Pull Request: https://projects.blender.org/blender/blender/pulls/124266
2024-07-08 12:48:45 +02:00
Campbell Barton
c3c69c8956 Merge branch 'blender-v4.2-release' 2024-07-06 15:00:38 +10:00
Campbell Barton
60be3d1aeb Merge branch 'blender-v4.2-release' 2024-07-06 15:00:34 +10:00
Campbell Barton
bdf06e6d82 Cleanup: spelling in comments 2024-07-06 14:21:24 +10:00
Campbell Barton
c4ab17ab79 Cleanup: quiet compiler warnings 2024-07-06 13:37:16 +10:00
Jacques Lucke
5360722449 Merge branch 'blender-v4.2-release'
This also reverts da2a262658 and 57e925b38f and fixes a
merge conflict in `action.cc`.
2024-07-05 18:16:08 +02:00
Miguel Pozo
b20bacf657 Fix #123758: Viewport Render Animation doesn't track World updates
Viewport instances created by the Viewport Render Animation operator
don't get `view_updated` notifications.
Fix update detection by implementing a `last_update` timestamp for
`World`, similar to the ones added in #115196.

Pull Request: https://projects.blender.org/blender/blender/pulls/124114
2024-07-05 18:05:27 +02:00
Sybren A. Stüvel
0aa75ab57b Refactor: rename "Animation data-block" to "Action"
Rename "Animation data-block" to "Action" or "Layered Action", where
appropriate. Some uses of the term actually refer to the `AnimData`
struct, in which case they were left as-is.

No real functional changes, just changing some messages & descriptions.

Pull Request: https://projects.blender.org/blender/blender/pulls/124170
2024-07-05 17:52:55 +02:00
Campbell Barton
4282187e72 Merge branch 'blender-v4.2-release' 2024-07-05 20:49:42 +10:00
Jeroen Bakker
0597cd4f76 Fix #124060: EEVEE raytracing on Intel Arc
EEVEE Raytracing on Intel Arc wasn't working as there were no rays
generated. The reason was that the raytract tile compact shader
didn't set count the correct tiles it needed due to atomic operations
that were initialized without atomic.

This PR solves the issue by using atomic operations to initialize
the counts. We also tried memory barriers but that didn't fix the
problem.

Other shaders were also tested if they have this issue, but they were
setup in a specific shader or where done using a race condition (SSS) which
is working.

Pull Request: https://projects.blender.org/blender/blender/pulls/124213
2024-07-05 12:37:44 +02:00
Richard Antalik
addf1fa84b Merge branch 'blender-v4.2-release' 2024-07-05 00:43:55 +02:00
Clément Foucault
f8c80fe1fd Fix: EEVEE: Missing world if only an empty volume object is present
Part 2 of the fix. The previous fix was not enough.

Fixes #124159
2024-07-04 20:46:27 +02:00
Clément Foucault
3777e53acb Fix: EEVEE: Missing world if only an empty volume object is present
With the latest fixes of #124061, the `pipelines.volume.is_enabled`
predicate is now obsolete.
Replace it by `!current_objects_.is_empty()`.

Fixes #124159
2024-07-04 20:32:33 +02:00
Harley Acheson
6fbb5ce8d8 Merge branch 'blender-v4.2-release' 2024-07-04 11:19:14 -07:00
Clément Foucault
2149a0b2cc EEVEE: Change local light ray clipping method
The previous one was too conservative and didn't
work with area light.
2024-07-04 20:07:27 +02:00
Clément Foucault
a023499d28 Fix: EEVEE: Make shadow tracing more robust
This commit does multiple things:
- It checks `is_behind_occluder` in all non-extrapolated
  cases. This avoid false positive hit caused by tracing
  basis X axis being almost parallel to the light.
- It checks time only on the last sample. This avoid
  light leaking when the ray poke through some solid
  objects because of raymarching steps.
- Add bias to `is_behind_occluder` to avoid
  precision issues when ray is parallel to the light
  direction.

This reduces noisy area lights but there are still issue
very close to them.

Fixes #123588
2024-07-04 20:07:27 +02:00
Jacques Lucke
91db715a53 Fix: use MEM_delete instead of MEM_freeN for pointcloud batch cache 2024-07-04 18:48:10 +02:00
Christoph Lendenfeld
8ecccddf1c Fix: Bone wire width not working with curve objects
The issue was that the wire width was not passed to the shader
when the object was of type curve.
This resulted in the bone wire thicker than expected and
not responding to the parameter.

Pull Request: https://projects.blender.org/blender/blender/pulls/124053
2024-07-04 08:40:52 +02:00
Ray Molenkamp
3094e2a144 Merge remote-tracking branch 'origin/blender-v4.2-release' 2024-07-03 14:24:22 -06:00
Clément Foucault
71159872a4 Fix: EEVEE: VDB renders as bounding box when using Volume Scatter
Use the same approach as Cycles and only render the volume
objects if the shader is using any attribute.

Fix #124061
2024-07-03 16:27:08 +02:00
Sergey Sharybin
35788ca3c9 Merge branch 'blender-v4.2-release' 2024-07-03 16:01:21 +02:00
Clément Foucault
e10dcc01bd Fix: EEVEE: Avoid loosing SSS small radius energy
This was caused by the effective radius of some
components were below the first sample radius.
This meant that the accumulation resulted in zero
weight for these components.

This patch introduce a minimum radius that can
be represented depending on the sample closest
to the center pixel. This makes sure that we
have at least one sample that will have
non-zero weight.

Fix #124031
2024-07-03 15:09:19 +02:00
Sergey Sharybin
bd75344b2b Merge branch 'blender-v4.2-release' 2024-07-03 14:47:23 +02:00
Clément Foucault
4d2fcc5716 Fix: EEVEE: Avoid assert from empty volume object material
Also avoid drawing them at all if the material has no
volume shader.
2024-07-03 14:40:54 +02:00
Jacques Lucke
fcfc42ee83 Merge branch 'blender-v4.2-release' 2024-07-02 20:33:01 +02:00
Clément Foucault
8718aa5513 Fix: EEVEE: Film: Sub-optimal sampling at lower filter size
The `sample_disk` returns samples inside a disk of radius 1
which was spanning 2 pixels. The blackmann-haris filter has
not much energy at the edge of the filter and since we
don't importance sample the filter, we have very low weight
samples at some time steps. Improve this by biasing the
distribution towards the center.

This is a temporary solution until we have proper importance
sample of the filtering function for this case.

Fix #123630
2024-07-02 20:31:20 +02:00
Clément Foucault
04b460317a Fix: EEVEE: Missing diffuse indirect lighting
Cause by lightprobe volume cache size change.

This was missing a simple update tagging for
the world to be reuploaded.
2024-07-02 18:07:09 +02:00
Miguel Pozo
9f91ca66bc Merge branch 'blender-v4.2-release' 2024-07-02 17:09:04 +02:00
Miguel Pozo
9691ff004a Fix #122456: EEVEE: Reset history on volume updates
Pull Request: https://projects.blender.org/blender/blender/pulls/123916
2024-07-02 17:07:43 +02:00
Bastien Montagne
6d68f82398 Merge branch 'blender-v4.2-release' 2024-07-02 16:52:15 +02:00
Clément Foucault
d8fef30b36 Fix: EEVEE: Broken object attributes on volume, pointcloud and curves
This was a simple oversight.

Also adding a version of `extract_object_attributes` for
single material object.

Fixes #123997
2024-07-02 16:41:12 +02:00
Richard Antalik
639acb2b5d Merge branch 'blender-v4.2-release' 2024-07-01 23:26:21 +02:00
Clément Foucault
beb8ec4fe1 Fix: EEVEE: Wrong subsurface sample distribution
The sample distribution was biased toward 0, which
created sharper details than expected.

However the downside is that the subsurface is now
more jittery because of the low amount of samples.
2024-07-01 19:55:01 +02:00
Miguel Pozo
4a15bfe849 Merge branch 'blender-v4.2-release' 2024-07-01 15:48:28 +02:00
Miguel Pozo
2b248d2720 Fix #123207: EEVEE: Disable motion blur on camera change
Pull Request: https://projects.blender.org/blender/blender/pulls/123919
2024-07-01 15:47:10 +02:00
Campbell Barton
ec5c7b9519 Merge branch 'blender-v4.2-release' 2024-07-01 23:34:23 +10:00
Clément Foucault
d4774a219b Fix: EEVEE: Missing light tiles in light probes
This was caused by the light culling system not
allocating enough tiles to cover the sphere lightprobe
render target.

Taking the max size between the lightprobe target and
the film fixes the issue.

Fixes #117444
2024-07-01 15:04:53 +02:00
YimingWu
41da774dd0 Fix #123966: Don't draw orientation for objects displayed as wire
When `object.dt` is OB_BOUNDBOX or OB_WIRE, it's not expected to see
faces so don't show face orientation overlay for them.

Pull Request: https://projects.blender.org/blender/blender/pulls/123978
2024-07-01 10:58:01 +02:00
Clément Foucault
3e867a75c1 Merge branch 'blender-v4.2-release' 2024-06-30 23:20:46 +02:00
Clément Foucault
549024b1cc Fix: EEVEE: Broken shadows
Was caused by an invalid check.

Fix #123959
2024-06-30 23:17:25 +02:00
Clément Foucault
de7e3f992b Merge branch 'blender-v4.2-release' 2024-06-29 22:43:49 +02:00
Clément Foucault
53cb73ecea Fix: EEVEE: Depth Of Field: Tile artifact on noisy input
This was caused by the denoiser of the slight out of focus
pass having too much influence at low CoC values.

Making the transition start at 0.5 fixes the issue.

Fixes #123822
2024-06-29 17:08:14 +02:00
Clément Foucault
49491bc541 Fix: EEVEE: Light: Invalid read in Shadow Setup shader
This happened in scenes with high light count and
with some local light being culled.

The culled lights indices would still be processed
and load undefined data. This undefined data
might be interpreted as a sunlight and go into
the cascade setup loop with an undefined number
of levels.

This created loops of 1 billion iteration per thread
which triggered the TDR on windows.

The fix is to skip the culled light indices.

Fixes #123413
Fixes #123190
2024-06-29 15:35:59 +02:00
Sergey Sharybin
96018c8e8f Merge branch 'blender-v4.2-release' 2024-06-28 19:02:02 +02:00