39 NodeInput *inputSocket = this->getInputSocket(0);
44 if (
node->custom1 == 0) {
47 float lift_lgg[3], gamma_inv[3];
48 for (
int c = 0;
c < 3;
c++) {
49 lift_lgg[
c] = 2.0f - n->
lift[
c];
50 gamma_inv[
c] = (n->
gamma[
c] != 0.0f) ? 1.0f / n->
gamma[
c] : 1000000.0f;
54 operationLGG->
setLift(lift_lgg);
56 operation = operationLGG;
68 operation = operationCDL;
MINLINE void copy_v3_fl(float r[3], float f)
MINLINE void add_v3_v3(float r[3], const float a[3])
void setSlope(float slope[3])
void setOffset(float offset[3])
void setPower(float power[3])
void setGain(const float gain[3])
void setLift(const float lift[3])
void setGammaInv(const float gamma_inv[3])
ColorBalanceNode(bNode *editorNode)
void convertToOperations(NodeConverter &converter, const CompositorContext &context) const override
convert node to operation
Overall context of the compositor.
void mapInputSocket(NodeInput *node_socket, NodeOperationInput *operation_socket)
void addOperation(NodeOperation *operation)
void mapOutputSocket(NodeOutput *node_socket, NodeOperationOutput *operation_socket)
NodeOperation contains calculation logic.
NodeOperationInput * getInputSocket(unsigned int index)
NodeOperationOutput * getOutputSocket(unsigned int index=0)
NodeOutput are sockets that can send data/input.
NodeOutput * getOutputSocket(const unsigned int index=0) const
bNode * getbNode() const
get the reference to the SDNA bNode struct
NodeInput * getInputSocket(const unsigned int index) const