31 float lift_lgg[3], gamma_inv[3];
32 for (
int c = 0; c < 3; c++) {
33 lift_lgg[c] = 2.0f - n->
lift[c];
34 gamma_inv[c] = (n->
gamma[c] != 0.0f) ? 1.0f / n->
gamma[c] : 1000000.0f;
40 operation = operationLGG;
52 operation = operationCDL;
58 operation = operation_whitepoint;
MINLINE void copy_v3_fl(float r[3], float f)
MINLINE void add_v3_v3(float r[3], const float a[3])
@ CMP_NODE_COLOR_BALANCE_LGG
@ CMP_NODE_COLOR_BALANCE_ASC_CDL
void set_offset(float offset[3])
void set_slope(float slope[3])
void set_power(float power[3])
void set_lift(const float lift[3])
void set_gain(const float gain[3])
void set_gamma_inv(const float gamma_inv[3])
ColorBalanceNode(bNode *editor_node)
void convert_to_operations(NodeConverter &converter, const CompositorContext &context) const override
convert node to operation
void set_parameters(const float input_temperature, const float input_tint, const float output_temperature, const float output_tint)
Overall context of the compositor.
void map_output_socket(NodeOutput *node_socket, NodeOperationOutput *operation_socket)
void add_operation(NodeOperation *operation)
void map_input_socket(NodeInput *node_socket, NodeOperationInput *operation_socket)
NodeOperation contains calculation logic.
NodeOperationOutput * get_output_socket(unsigned int index=0)
NodeOperationInput * get_input_socket(unsigned int index)
NodeOutput are sockets that can send data/input.
NodeOutput * get_output_socket(unsigned int index=0) const
NodeInput * get_input_socket(unsigned int index) const
const bNode * get_bnode() const
get the reference to the SDNA bNode struct