Skip to content

Instantly share code, notes, and snippets.

@KelSolaar
Last active June 17, 2017 09:25
Show Gist options
  • Save KelSolaar/3f07588e1978a769ed5c to your computer and use it in GitHub Desktop.
Save KelSolaar/3f07588e1978a769ed5c to your computer and use it in GitHub Desktop.
Filmic Tonemapping Operator - John Habble - HP Duiker
set cut_paste_input [stack 0]
version 8.0 v1
push $cut_paste_input
Group {
name Filmic_Tonemapping_Operator
selected true
xpos -158
ypos -20
addUserKnob {20 filmic_tonemapping_operator_Tab l "Filmic Tonemapping Operator"}
addUserKnob {20 tone_parameters_Group l "Tone Parameters" n 1}
addUserKnob {7 A_Floating_Point_Slider l Shoulder_Strength}
A_Floating_Point_Slider 0.22
addUserKnob {7 B_Floating_Point_Slider l "Linear Strength"}
B_Floating_Point_Slider 0.3
addUserKnob {7 C_Floating_Point_Slider l "Linear Angle"}
C_Floating_Point_Slider 0.1
addUserKnob {7 D_Floating_Point_Slider l "Toe Strength"}
D_Floating_Point_Slider 0.2
addUserKnob {7 E_Floating_Point_Slider l "Toe Numerator"}
E_Floating_Point_Slider 0.01
addUserKnob {7 F_Floating_Point_Slider l "Toe Denominator"}
F_Floating_Point_Slider 0.3
addUserKnob {20 tone_parameters_endGroup l endGroup n -1}
addUserKnob {20 miscellaneous_parameters_Group l "Miscellaneous Parameters" n 1}
addUserKnob {7 exposure_bias_Floating_Point_Slider l "Exposure Bias"}
exposure_bias_Floating_Point_Slider 2
addUserKnob {6 clamp_output_Check_Box l "Clamp Output" +STARTLINE}
clamp_output_Check_Box true
addUserKnob {20 miscellaneous_parameters_endGroup l endGroup n -1}
addUserKnob {20 about_Tab l About}
addUserKnob {26 description_Text l "" +STARTLINE T "colour-science.org - March 10, 2015\n\nThis Gizmo / Group implements the Filming Tonemapping Operator from Uncharted 2 by John Habble which is based on Haarm-Peter Duiker curve.\n\nhttp://filmicgames.com/archives/75\nhttp://www.slideshare.net/ozlael/hable-john-uncharted2-hdr-lighting"}
}
Input {
inputs 0
name Input
xpos 13
ypos -95
}
Multiply {
value {{parent.filmic_tonemapping_operator_Expression.exposure_bias_Floating_Point_Slider}}
name exposure_bias_Multiply
xpos 13
ypos -71
}
Expression {
temp_name0 toe_angle
temp_expr0 E_Floating_Point_Slider/F_Floating_Point_Slider
expr0 ((r*(A_Floating_Point_Slider*r+C_Floating_Point_Slider*B_Floating_Point_Slider)+D_Floating_Point_Slider*E_Floating_Point_Slider)/(r*(A_Floating_Point_Slider*r+B_Floating_Point_Slider)+D_Floating_Point_Slider*F_Floating_Point_Slider))-toe_angle
expr1 ((g*(A_Floating_Point_Slider*g+C_Floating_Point_Slider*B_Floating_Point_Slider)+D_Floating_Point_Slider*E_Floating_Point_Slider)/(g*(A_Floating_Point_Slider*g+B_Floating_Point_Slider)+D_Floating_Point_Slider*F_Floating_Point_Slider))-toe_angle
expr2 ((b*(A_Floating_Point_Slider*b+C_Floating_Point_Slider*B_Floating_Point_Slider)+D_Floating_Point_Slider*E_Floating_Point_Slider)/(b*(A_Floating_Point_Slider*b+B_Floating_Point_Slider)+D_Floating_Point_Slider*F_Floating_Point_Slider))-toe_angle
expr3 a
name filmic_tonemapping_operator_Expression
selected true
xpos 13
ypos -39
addUserKnob {20 User}
addUserKnob {7 exposure_bias_Floating_Point_Slider l "Exposure Bias"}
exposure_bias_Floating_Point_Slider {{parent.exposure_bias_Floating_Point_Slider}}
addUserKnob {7 A_Floating_Point_Slider l "Shoulder Strength"}
A_Floating_Point_Slider {{parent.A_Floating_Point_Slider}}
addUserKnob {7 B_Floating_Point_Slider l "Linear Strength"}
B_Floating_Point_Slider {{parent.B_Floating_Point_Slider}}
addUserKnob {7 C_Floating_Point_Slider l "Linear Angle"}
C_Floating_Point_Slider {{parent.C_Floating_Point_Slider}}
addUserKnob {7 D_Floating_Point_Slider l "Toe Strength"}
D_Floating_Point_Slider {{parent.D_Floating_Point_Slider}}
addUserKnob {7 E_Floating_Point_Slider l "Toe Numerator"}
E_Floating_Point_Slider {{parent.E_Floating_Point_Slider}}
addUserKnob {7 F_Floating_Point_Slider l "Toe Denominator"}
F_Floating_Point_Slider {{parent.F_Floating_Point_Slider}}
addUserKnob {7 linear_whitepoint_Floating_Point_Slider l "Linear Whitepoint"}
linear_whitepoint_Floating_Point_Slider 11.2
addUserKnob {7 linear_white_Floating_Point_Slider l "Linear White"}
linear_white_Floating_Point_Slider {{((linear_whitepoint_Floating_Point_Slider*(A_Floating_Point_Slider*linear_whitepoint_Floating_Point_Slider+C_Floating_Point_Slider*B_Floating_Point_Slider)+D_Floating_Point_Slider*E_Floating_Point_Slider)/(linear_whitepoint_Floating_Point_Slider*(A_Floating_Point_Slider*linear_whitepoint_Floating_Point_Slider+B_Floating_Point_Slider)+D_Floating_Point_Slider*F_Floating_Point_Slider))-E_Floating_Point_Slider/F_Floating_Point_Slider}}
}
Multiply {
value {{1/parent.filmic_tonemapping_operator_Expression.linear_white_Floating_Point_Slider}}
name linear_white_Multiply
xpos 13
ypos -15
}
set N3b068bb0 [stack 0]
Clamp {
name Clamp
xpos -97
ypos 13
}
push $N3b068bb0
Switch {
inputs 2
which {{parent.clamp_output_Check_Box}}
name clamp_Switch
xpos 13
ypos 17
}
Output {
name Output
xpos 13
ypos 41
}
end_group
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment