diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2022-07-24 16:33:28 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2022-07-24 20:24:50 +0300 |
commit | 68101fea687f12a7646230f509078452ccfccb2b (patch) | |
tree | 52c4017f8f3c3935356446196db05e075370ba6c /source/blender/draw/engines/eevee_next/eevee_film.cc | |
parent | 8ac5b1fdb39010ba65c5da010f6ebcc71479a7ff (diff) |
EEVEE-Next: Add back background opacity toggle
Diffstat (limited to 'source/blender/draw/engines/eevee_next/eevee_film.cc')
-rw-r--r-- | source/blender/draw/engines/eevee_next/eevee_film.cc | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/source/blender/draw/engines/eevee_next/eevee_film.cc b/source/blender/draw/engines/eevee_next/eevee_film.cc index ae84ea249b7..cdd753b988d 100644 --- a/source/blender/draw/engines/eevee_next/eevee_film.cc +++ b/source/blender/draw/engines/eevee_next/eevee_film.cc @@ -147,7 +147,8 @@ void Film::sync_mist() inline bool operator==(const FilmData &a, const FilmData &b) { return (a.extent == b.extent) && (a.offset == b.offset) && - (a.filter_radius == b.filter_radius) && (a.scaling_factor == b.scaling_factor); + (a.filter_radius == b.filter_radius) && (a.scaling_factor == b.scaling_factor) && + (a.background_opacity == b.background_opacity); } inline bool operator!=(const FilmData &a, const FilmData &b) @@ -238,6 +239,11 @@ void Film::init(const int2 &extent, const rcti *output_rect) * We need to figure out LOD bias first in order to preserve texture crispiness. */ data.scaling_factor = 1; + data.background_opacity = (scene.r.alphamode == R_ALPHAPREMUL) ? 0.0f : 1.0f; + if (inst_.is_viewport() && false /* TODO(fclem): StudioLight */) { + data.background_opacity = inst_.v3d->shading.studiolight_background; + } + FilmData &data_prev_ = data_; if (assign_if_different(data_prev_, data)) { sampling.reset(); |