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:
authorDalai Felinto <dfelinto@gmail.com>2015-05-18 16:57:59 +0300
committerDalai Felinto <dfelinto@gmail.com>2015-05-18 16:57:59 +0300
commit947b756d5e8af3d056fe0a7cabc7a8e376732255 (patch)
tree0a35020103a0f902ba8ccf1a9398bd1ae485df91 /source/blender/render
parentcecd1f98a4c1295421ca011ea5bec95b1c918111 (diff)
Multi-View: small cleranup/refactor with RE_pass_find_by_type and RE_RenderLayerGetPass
Diffstat (limited to 'source/blender/render')
-rw-r--r--source/blender/render/extern/include/RE_pipeline.h2
-rw-r--r--source/blender/render/intern/source/pipeline.c33
2 files changed, 13 insertions, 22 deletions
diff --git a/source/blender/render/extern/include/RE_pipeline.h b/source/blender/render/extern/include/RE_pipeline.h
index 2df4cde2b27..9331c45237d 100644
--- a/source/blender/render/extern/include/RE_pipeline.h
+++ b/source/blender/render/extern/include/RE_pipeline.h
@@ -321,7 +321,7 @@ int RE_seq_render_active(struct Scene *scene, struct RenderData *rd);
bool RE_layers_have_name(struct RenderResult *result);
-struct RenderPass *RE_pass_find_by_type(struct RenderLayer *rl, int passtype, const char *viewname);
+struct RenderPass *RE_pass_find_by_type(volatile struct RenderLayer *rl, int passtype, const char *viewname);
/* shaded view or baking options */
#define RE_BAKE_LIGHT 0 /* not listed in rna_scene.c -> can't be enabled! */
diff --git a/source/blender/render/intern/source/pipeline.c b/source/blender/render/intern/source/pipeline.c
index 9407412a6d0..64ed8f1153a 100644
--- a/source/blender/render/intern/source/pipeline.c
+++ b/source/blender/render/intern/source/pipeline.c
@@ -195,21 +195,8 @@ void RE_FreeRenderResult(RenderResult *res)
float *RE_RenderLayerGetPass(volatile RenderLayer *rl, int passtype, const char *viewname)
{
- RenderPass *rpass;
- float *rect = NULL;
-
- for (rpass = rl->passes.last; rpass; rpass = rpass->prev) {
- if (rpass->passtype == passtype) {
- rect = rpass->rect;
-
- if (viewname == NULL)
- break;
- else if (STREQ(rpass->view, viewname))
- break;
- }
- }
-
- return rect;
+ RenderPass *rpass = RE_pass_find_by_type(rl, passtype, viewname);
+ return rpass ? rpass->rect : NULL;
}
RenderLayer *RE_GetRenderLayer(RenderResult *rr, const char *name)
@@ -3893,14 +3880,18 @@ bool RE_layers_have_name(struct RenderResult *rr)
return false;
}
-RenderPass *RE_pass_find_by_type(RenderLayer *rl, int passtype, const char *viewname)
+RenderPass *RE_pass_find_by_type(volatile RenderLayer *rl, int passtype, const char *viewname)
{
- RenderPass *rp;
- for (rp = rl->passes.first; rp; rp = rp->next) {
+ RenderPass *rp = NULL;
+
+ for (rp = rl->passes.last; rp; rp = rp->prev) {
if (rp->passtype == passtype) {
- if (STREQ(rp->view, viewname))
- return rp;
+
+ if (viewname == NULL)
+ break;
+ else if (STREQ(rp->view, viewname))
+ break;
}
}
- return NULL;
+ return rp;
}