21 NodeInput *input_socket = this->get_input_socket(0);
26 if (
node->custom1 == 0) {
29 float lift_lgg[3], gamma_inv[3];
30 for (
int c = 0;
c < 3;
c++) {
31 lift_lgg[
c] = 2.0f - n->
lift[
c];
32 gamma_inv[
c] = (n->
gamma[
c] != 0.0f) ? 1.0f / n->
gamma[
c] : 1000000.0f;
38 operation = operationLGG;
50 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 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
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
bNode * get_bnode() const
get the reference to the SDNA bNode struct
NodeInput * get_input_socket(unsigned int index) const
ccl_gpu_kernel_postfix ccl_global float int int int int float bool int offset