Changeset View
Standalone View
source/blender/editors/render/render_update.c
| Context not available. | |||||
| #include "BKE_node.h" | #include "BKE_node.h" | ||||
| #include "BKE_paint.h" | #include "BKE_paint.h" | ||||
| #include "BKE_scene.h" | #include "BKE_scene.h" | ||||
| #include "BKE_sequencer.h" | |||||
| #include "BKE_workspace.h" | #include "BKE_workspace.h" | ||||
| #include "GPU_lamp.h" | #include "GPU_lamp.h" | ||||
| Context not available. | |||||
| ARegion *ar; | ARegion *ar; | ||||
| wmWindowManager *wm = bmain->wm.first; | wmWindowManager *wm = bmain->wm.first; | ||||
| if (sa->spacetype != SPACE_VIEW3D) | if (sa->spacetype == SPACE_SEQ) | ||||
| { | |||||
| BKE_sequencer_cache_cleanup(); | |||||
| BKE_sequencer_preprocessed_cache_cleanup(); | |||||
campbellbarton: Why is this needed? | |||||
spockTheGrayAuthorUnsubmitted Not Done Inline ActionsWas my attempt at clearing the VSE cache when the user changes preview engine for strip. If user has previewed 3 frames (say 1, 2, 3) w/ eevee as preview engine, then switches to clay, frames 1, 2, and 3 would still show the eevee frames (since they are cached, they don't get re-rendered I think) even though clicking on other frames renders w/ clay as expected. Seems to work in initial tests. spockTheGray: Was my attempt at clearing the VSE cache when the user changes preview engine for strip. If… | |||||
campbellbartonUnsubmitted Not Done Inline ActionsShoudn't this just clear the cache for a single strip? campbellbarton: Shoudn't this just clear the cache for a single strip? | |||||
spockTheGrayAuthorUnsubmitted Not Done Inline ActionsYes - sorry my first attempt was a bit off lol. Was a bit of a doozy - but I got it working in a slightly more sane manner this time :) spockTheGray: Yes - sorry my first attempt was a bit off lol. Was a bit of a doozy - but I got it working in… | |||||
campbellbartonUnsubmitted Not Done Inline ActionsThink it would be better to have a separate function for the sequencer, eg: void ED_render_engine_changed(Main *bmain); void ED_render_engine_changed_sequencer(Main *bmain); campbellbarton: Think it would be better to have a separate function for the sequencer,
eg:
```
void… | |||||
| } | |||||
| else if (sa->spacetype != SPACE_VIEW3D) | |||||
| return; | return; | ||||
| for (ar = sa->regionbase.first; ar; ar = ar->next) { | for (ar = sa->regionbase.first; ar; ar = ar->next) { | ||||
| Context not available. | |||||
Not Done Inline ActionsLogic here is a bit strange too, the engine has not changed for the current scene, it is for a sequence strip within the current scenes Edit struct. So the update call looks wrong. If for some reason this is correct, that should be explained in a comment since it's not intuitive. campbellbarton: Logic here is a bit strange too, the engine has not changed for the current scene, it is for a… | |||||
Not Done Inline ActionsCorrection, when I made this comment I assumed BKE_sequencer_scene_render_engine_changed was just some updating function. As it turns out I think it should not be needed at all. so perhaps all changes here can be removed. campbellbarton: Correction, when I made this comment I assumed `BKE_sequencer_scene_render_engine_changed` was… | |||||
Why is this needed?