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@pandora.be>2011-11-26 22:33:31 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2011-11-26 22:33:31 +0400
commit6f1473fb7c6b3bfa30d750482bd1c7ac197f4a92 (patch)
tree49a1ffa97c8e4abf51a9d67fa0914b9c9279309f /source/blender/editors/space_image
parent616bf9bae307c6ede0b9e96ae935259238ef212f (diff)
Fix #29406: show Sequence as render layer when rendering from sequencer, to make
it more clear what was rendered. Fix #29407: external engine api doesn't support full sample yet, would give too dark render result.
Diffstat (limited to 'source/blender/editors/space_image')
-rw-r--r--source/blender/editors/space_image/image_buttons.c23
1 files changed, 19 insertions, 4 deletions
diff --git a/source/blender/editors/space_image/image_buttons.c b/source/blender/editors/space_image/image_buttons.c
index 6c68ba0ea71..c647ff3df53 100644
--- a/source/blender/editors/space_image/image_buttons.c
+++ b/source/blender/editors/space_image/image_buttons.c
@@ -383,6 +383,10 @@ static char *layer_menu(RenderResult *rr, short *UNUSED(curlay))
a+= sprintf(str+a, "|Composite %%x0");
nr= 1;
}
+ else if(rr->rect32) {
+ a+= sprintf(str+a, "|Sequence %%x0");
+ nr= 1;
+ }
for(rl= rr->layers.first; rl; rl= rl->next, nr++) {
a+= sprintf(str+a, "|%s %%x%d", rl->name, nr);
}
@@ -443,7 +447,10 @@ static void image_multi_inclay_cb(bContext *C, void *rr_v, void *iuser_v)
{
RenderResult *rr= rr_v;
ImageUser *iuser= iuser_v;
- int tot= BLI_countlist(&rr->layers) + (rr->rectf?1:0); /* fake compo result layer */
+ int tot= BLI_countlist(&rr->layers);
+
+ if(rr->rectf || rr->rect32)
+ tot++; /* fake compo/sequencer layer */
if(iuser->layer<tot-1) {
iuser->layer++;
@@ -468,7 +475,11 @@ static void image_multi_incpass_cb(bContext *C, void *rr_v, void *iuser_v)
RenderLayer *rl= BLI_findlink(&rr->layers, iuser->layer);
if(rl) {
- int tot= BLI_countlist(&rl->passes) + (rl->rectf?1:0); /* builtin render result has no combined pass in list */
+ int tot= BLI_countlist(&rl->passes);
+
+ if(rr->rectf || rr->rect32)
+ tot++; /* fake compo/sequencer layer */
+
if(iuser->pass<tot-1) {
iuser->pass++;
BKE_image_multilayer_index(rr, iuser);
@@ -509,7 +520,7 @@ static void uiblock_layer_pass_buttons(uiLayout *layout, RenderResult *rr, Image
uiBlock *block= uiLayoutGetBlock(layout);
uiBut *but;
RenderLayer *rl= NULL;
- int wmenu1, wmenu2, wmenu3;
+ int wmenu1, wmenu2, wmenu3, layer;
char *strp;
uiLayoutRow(layout, 1);
@@ -532,8 +543,12 @@ static void uiblock_layer_pass_buttons(uiLayout *layout, RenderResult *rr, Image
but= uiDefButS(block, MENU, 0, strp, 0, 0, wmenu2, UI_UNIT_Y, &iuser->layer, 0,0,0,0, "Select Layer");
uiButSetFunc(but, image_multi_cb, rr, iuser);
MEM_freeN(strp);
+
+ layer = iuser->layer;
+ if(rr->rectf || rr->rect32)
+ layer--; /* fake compo/sequencer layer */
- rl= BLI_findlink(&rr->layers, iuser->layer - (rr->rectf?1:0)); /* fake compo layer, return NULL is meant to be */
+ rl= BLI_findlink(&rr->layers, layer); /* return NULL is meant to be */
strp= pass_menu(rl, &iuser->pass);
but= uiDefButS(block, MENU, 0, strp, 0, 0, wmenu3, UI_UNIT_Y, &iuser->pass, 0,0,0,0, "Select Pass");
uiButSetFunc(but, image_multi_cb, rr, iuser);