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:
authorBrecht Van Lommel <brechtvanlommel@gmail.com>2020-01-28 20:39:58 +0300
committerBrecht Van Lommel <brechtvanlommel@gmail.com>2020-01-28 20:39:58 +0300
commit14deacdc22875c87ce2005a21d99257a03da738f (patch)
treeaaa9e146403373a1e2ca844478a176f8d9cc308d /source/blender/blenkernel/intern
parentb7075049732a0df53be6483ab5fc2333398b9ebb (diff)
parentb2034c6ba245e131e6ecabe33ca9afa1e6394247 (diff)
Merge branch 'blender-v2.82-release'
Diffstat (limited to 'source/blender/blenkernel/intern')
-rw-r--r--source/blender/blenkernel/intern/particle.c10
-rw-r--r--source/blender/blenkernel/intern/scene.c11
2 files changed, 14 insertions, 7 deletions
diff --git a/source/blender/blenkernel/intern/particle.c b/source/blender/blenkernel/intern/particle.c
index 244ffb674a4..6b87cf2df81 100644
--- a/source/blender/blenkernel/intern/particle.c
+++ b/source/blender/blenkernel/intern/particle.c
@@ -3246,22 +3246,24 @@ static void psys_cache_edit_paths_iter(void *__restrict iter_data_v,
}
}
else {
+ /* HACK(fclem): Instead of setting the color we pass the select state in the red channel.
+ * This is then picked up in DRW and the gpu shader will do the color interpolation. */
if ((ekey + (pind.ekey[0] - point->keys))->flag & PEK_SELECT) {
if ((ekey + (pind.ekey[1] - point->keys))->flag & PEK_SELECT) {
- copy_v3_v3(ca->col, iter_data->sel_col);
+ ca->col[0] = 1.0f;
}
else {
keytime = (t - (*pind.ekey[0]->time)) / ((*pind.ekey[1]->time) - (*pind.ekey[0]->time));
- interp_v3_v3v3(ca->col, iter_data->sel_col, iter_data->nosel_col, keytime);
+ ca->col[0] = 1.0f - keytime;
}
}
else {
if ((ekey + (pind.ekey[1] - point->keys))->flag & PEK_SELECT) {
keytime = (t - (*pind.ekey[0]->time)) / ((*pind.ekey[1]->time) - (*pind.ekey[0]->time));
- interp_v3_v3v3(ca->col, iter_data->nosel_col, iter_data->sel_col, keytime);
+ ca->col[0] = keytime;
}
else {
- copy_v3_v3(ca->col, iter_data->nosel_col);
+ ca->col[0] = 0.0f;
}
}
}
diff --git a/source/blender/blenkernel/intern/scene.c b/source/blender/blenkernel/intern/scene.c
index 2fda6cfb43b..86b15641f81 100644
--- a/source/blender/blenkernel/intern/scene.c
+++ b/source/blender/blenkernel/intern/scene.c
@@ -351,6 +351,13 @@ void BKE_scene_copy_data(Main *bmain, Scene *sce_dst, const Scene *sce_src, cons
sce_dst->preview = NULL;
}
+ BKE_scene_copy_data_eevee(sce_dst, sce_src);
+}
+
+void BKE_scene_copy_data_eevee(Scene *sce_dst, const Scene *sce_src)
+{
+ /* Copy eevee data between scenes. */
+ sce_dst->eevee = sce_src->eevee;
sce_dst->eevee.light_cache = NULL;
sce_dst->eevee.light_cache_info[0] = '\0';
/* TODO Copy the cache. */
@@ -374,9 +381,7 @@ Scene *BKE_scene_copy(Main *bmain, Scene *sce, int type)
sce_copy->unit = sce->unit;
sce_copy->physics_settings = sce->physics_settings;
sce_copy->audio = sce->audio;
- sce_copy->eevee = sce->eevee;
- sce_copy->eevee.light_cache = NULL;
- sce_copy->eevee.light_cache_info[0] = '\0';
+ BKE_scene_copy_data_eevee(sce_copy, sce);
if (sce->id.properties) {
sce_copy->id.properties = IDP_CopyProperty(sce->id.properties);