diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2019-02-15 19:55:24 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2019-02-15 19:55:24 +0300 |
commit | 6e40e3489f6d43e07da04a034ee564c9134149bb (patch) | |
tree | 8b82f45050f7e8bfecece9aec561e6759fe34edc /source/blender/draw/engines | |
parent | 14c00cda39dcae945611a3de34d9030b000f2649 (diff) |
Add global control over disabling high-resolution smoke draw
Can be found in the viewport's simplify panel, allows to easily
disable high-res display for all the smokes in the scene.
Diffstat (limited to 'source/blender/draw/engines')
-rw-r--r-- | source/blender/draw/engines/eevee/eevee_volumes.c | 6 | ||||
-rw-r--r-- | source/blender/draw/engines/workbench/workbench_volume.c | 6 |
2 files changed, 8 insertions, 4 deletions
diff --git a/source/blender/draw/engines/eevee/eevee_volumes.c b/source/blender/draw/engines/eevee/eevee_volumes.c index 930014979af..997e42ef426 100644 --- a/source/blender/draw/engines/eevee/eevee_volumes.c +++ b/source/blender/draw/engines/eevee/eevee_volumes.c @@ -32,6 +32,7 @@ #include "BKE_modifier.h" #include "BKE_mesh.h" +#include "BKE_smoke.h" #include "ED_screen.h" @@ -506,10 +507,11 @@ void EEVEE_volumes_cache_object_add(EEVEE_ViewLayerData *sldata, EEVEE_Data *ved const bool show_smoke = ((int)DEG_get_ctime(draw_ctx->depsgraph) >= sds->point_cache[0]->startframe); if (sds->fluid && show_smoke) { - if (!sds->wt || !(sds->viewsettings & MOD_SMOKE_VIEW_SHOW_HIGHRES)) { + const bool show_highres = BKE_smoke_show_highres(scene, sds); + if (!sds->wt || !show_highres) { GPU_create_smoke(smd, 0); } - else if (sds->wt && (sds->viewsettings & MOD_SMOKE_VIEW_SHOW_HIGHRES)) { + else if (sds->wt && show_highres) { GPU_create_smoke(smd, 1); } BLI_addtail(&e_data.smoke_domains, BLI_genericNodeN(smd)); diff --git a/source/blender/draw/engines/workbench/workbench_volume.c b/source/blender/draw/engines/workbench/workbench_volume.c index da107336945..30a75accce9 100644 --- a/source/blender/draw/engines/workbench/workbench_volume.c +++ b/source/blender/draw/engines/workbench/workbench_volume.c @@ -22,6 +22,7 @@ #include "workbench_private.h" #include "BKE_object.h" +#include "BKE_smoke.h" #include "BLI_rand.h" #include "BLI_dynstr.h" @@ -124,13 +125,14 @@ void workbench_volume_cache_populate(WORKBENCH_Data *vedata, Scene *scene, Objec } wpd->volumes_do = true; + const bool show_highres = BKE_smoke_show_highres(scene, sds); if (sds->use_coba) { GPU_create_smoke_coba_field(smd); } - else if (!sds->wt || !(sds->viewsettings & MOD_SMOKE_VIEW_SHOW_HIGHRES)) { + else if (!sds->wt || !show_highres) { GPU_create_smoke(smd, 0); } - else if (sds->wt && (sds->viewsettings & MOD_SMOKE_VIEW_SHOW_HIGHRES)) { + else if (sds->wt && show_highres) { GPU_create_smoke(smd, 1); } |