diff options
Diffstat (limited to 'source/blender/render/intern/include/render_result.h')
-rw-r--r-- | source/blender/render/intern/include/render_result.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/source/blender/render/intern/include/render_result.h b/source/blender/render/intern/include/render_result.h index 8d293c938c7..03292579d90 100644 --- a/source/blender/render/intern/include/render_result.h +++ b/source/blender/render/intern/include/render_result.h @@ -117,5 +117,28 @@ void render_result_views_shallowcopy(struct RenderResult *dst, struct RenderResu void render_result_views_shallowdelete(struct RenderResult *rr); bool render_result_has_views(struct RenderResult *rr); +#define FOREACH_VIEW_LAYER_TO_RENDER_BEGIN(re_, iter_) \ +{ \ + int nr_; \ + ViewLayer *iter_; \ + for (nr_ = 0, iter_ = (re_)->view_layers.first; \ + iter_ != NULL; \ + iter_ = iter_->next, nr_++) \ + { \ + if ((re_)->r.scemode & R_SINGLE_LAYER) { \ + if (nr_ != re->active_view_layer) { \ + continue; \ + } \ + } \ + else { \ + if ((iter_->flag & VIEW_LAYER_RENDER) == 0) { \ + continue; \ + } \ + } + +#define FOREACH_VIEW_LAYER_TO_RENDER_END \ + } \ +} ((void)0) + #endif /* __RENDER_RESULT_H__ */ |