tweak to color balance after talking with colin and testing other software, lift for values above 1.0 was too intense.

Use: 1 + ((lift-1) * (lift-1)) so 2.0 is still a full lift but 1.x isnt so strong.

Changed color picker to give more precission, we were having to edit the buttons to see what the numbers were.
This commit is contained in:
Campbell Barton 2010-07-12 16:20:51 +00:00
parent a470640f2e
commit a586541d74
3 changed files with 17 additions and 4 deletions

@ -1509,6 +1509,11 @@ static StripColorBalance calc_cb(StripColorBalance * cb_)
if(cb.flag & SEQ_COLOR_BALANCE_INVERSE_LIFT) {
for (c = 0; c < 3; c++) {
/* tweak to give more subtle results
* values above 1.0 are scaled */
if(cb.lift[c] > 1.0f)
cb.lift[c] = pow(cb.lift[c] - 1.0f, 2.0f) + 1.0f;
cb.lift[c] = 2.0f - cb.lift[c];
}
}

@ -1832,11 +1832,11 @@ static void uiBlockPicker(uiBlock *block, float *rgb, PointerRNA *ptr, PropertyR
/* RGB values */
uiBlockBeginAlign(block);
bt= uiDefButR(block, NUMSLI, 0, "R ", 0, -60, butwidth, UI_UNIT_Y, ptr, propname, 0, 0.0, 0.0, 0, 0, "");
bt= uiDefButR(block, NUMSLI, 0, "R ", 0, -60, butwidth, UI_UNIT_Y, ptr, propname, 0, 0.0, 0.0, 0, 3, "");
uiButSetFunc(bt, do_picker_rna_cb, bt, NULL);
bt= uiDefButR(block, NUMSLI, 0, "G ", 0, -80, butwidth, UI_UNIT_Y, ptr, propname, 1, 0.0, 0.0, 0, 0, "");
bt= uiDefButR(block, NUMSLI, 0, "G ", 0, -80, butwidth, UI_UNIT_Y, ptr, propname, 1, 0.0, 0.0, 0, 3, "");
uiButSetFunc(bt, do_picker_rna_cb, bt, NULL);
bt= uiDefButR(block, NUMSLI, 0, "B ", 0, -100, butwidth, UI_UNIT_Y, ptr, propname, 2, 0.0, 0.0, 0, 0, "");
bt= uiDefButR(block, NUMSLI, 0, "B ", 0, -100, butwidth, UI_UNIT_Y, ptr, propname, 2, 0.0, 0.0, 0, 3, "");
uiButSetFunc(bt, do_picker_rna_cb, bt, NULL);
// could use uiItemFullR(col, ptr, prop, -1, 0, UI_ITEM_R_EXPAND|UI_ITEM_R_SLIDER, "", 0);

@ -124,8 +124,16 @@ static void node_composit_exec_colorbalance(void *data, bNode *node, bNodeStack
{
NodeColorBalance *n= (NodeColorBalance *)node->storage;
int c;
copy_v3_v3(n->lift_lgg, n->lift);
for (c = 0; c < 3; c++) {
n->lift_lgg[c] = 2.0f - n->lift[c];
/* tweak to give more subtle results
* values above 1.0 are scaled */
if(n->lift_lgg[c] > 1.0f)
n->lift_lgg[c] = pow(n->lift_lgg[c] - 1.0f, 2.0f) + 1.0f;
n->lift_lgg[c] = 2.0f - n->lift_lgg[c];
}
}