Removed the DNA storage for LGG lift and inverse gamma in the color balance node. These values were always calculated at execution time, so there is no need to keep them around in DNA data and no forward compatibility break either. Only reason they were stored in DNA before is that the old compositor had no other means of keeping precomputed values around for every pixel than storing the DNA node data, with new compositor this is no longer necessary (values are stored in operations).

This commit is contained in:
Lukas Toenne
2013-11-06 12:44:49 +00:00
parent 50ac2ee8de
commit b9aa637b83
2 changed files with 8 additions and 14 deletions

View File

@@ -43,18 +43,16 @@ void ColorBalanceNode::convertToOperations(ExecutionSystem *graph, CompositorCon
NodeOperation *operation;
if (node->custom1 == 0) {
ColorBalanceLGGOperation *operationLGG = new ColorBalanceLGGOperation();
{
int c;
for (c = 0; c < 3; c++) {
n->lift_lgg[c] = 2.0f - n->lift[c];
n->gamma_inv[c] = (n->gamma[c] != 0.0f) ? 1.0f / n->gamma[c] : 1000000.0f;
}
float lift_lgg[3], gamma_inv[3];
for (int c = 0; c < 3; c++) {
lift_lgg[c] = 2.0f - n->lift[c];
gamma_inv[c] = (n->gamma[c] != 0.0f) ? 1.0f / n->gamma[c] : 1000000.0f;
}
operationLGG->setGain(n->gain);
operationLGG->setLift(n->lift_lgg);
operationLGG->setGammaInv(n->gamma_inv);
operationLGG->setLift(lift_lgg);
operationLGG->setGammaInv(gamma_inv);
operation = operationLGG;
}
else {

View File

@@ -686,10 +686,6 @@ typedef struct NodeColorBalance {
float lift[3];
float gamma[3];
float gain[3];
/* temp storage for inverted lift */
float lift_lgg[3];
float gamma_inv[3];
} NodeColorBalance;
typedef struct NodeColorspill {