Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClément Foucault <foucault.clem@gmail.com>2022-07-24 16:33:28 +0300
committerClément Foucault <foucault.clem@gmail.com>2022-07-24 20:24:50 +0300
commit68101fea687f12a7646230f509078452ccfccb2b (patch)
tree52c4017f8f3c3935356446196db05e075370ba6c /source/blender/draw/engines/eevee_next/eevee_film.cc
parent8ac5b1fdb39010ba65c5da010f6ebcc71479a7ff (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.cc8
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();