infected_3d

Nuke Filmic Tonemapping

Feb 20th, 2017
263
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.04 KB | None | 0 0
  1. set cut_paste_input [stack 0]
  2. version 7.0 v8
  3. push $cut_paste_input
  4. Group {
  5. name Tonemap
  6. selected true
  7. xpos -308
  8. ypos -203
  9. addUserKnob {20 tonemap l Tonemap t "Adjusts blend between linear colors and full tonemap"}
  10. addUserKnob {41 operator l Operator t "Available operators:\nReinhard (V-Ray; desaturates highlights)\nExponential luma (modo, Maxwell; saturates highlights)\nFilmic (punchier look, darker shadows; more control over look)\nCorona (similar to Reinhard)" T Switch1.operator}
  11. addUserKnob {41 mix l "Tonemap Mix" t "Blends between input and tonemapped image" T Merge1.mix}
  12. addUserKnob {20 exposure l "Exposure Adjustment" n 1}
  13. exposure 0
  14. addUserKnob {41 mode l "Adjust in" T EXPTool1.mode}
  15. addUserKnob {41 gang T EXPTool1.gang}
  16. addUserKnob {41 red T EXPTool1.red}
  17. addUserKnob {41 green T EXPTool1.green}
  18. addUserKnob {41 blue T EXPTool1.blue}
  19. addUserKnob {20 endGroup n -1}
  20. addUserKnob {20 exponentialStrength l "Reinhard and Exponential Luma Controls" n 1}
  21. exponentialStrength 0
  22. addUserKnob {41 mix_1 l Burn T Reinhard_Merge.mix}
  23. addUserKnob {20 endGroup_3 l endGroup n -1}
  24. addUserKnob {20 filmic_1 l "Filmic Controls" n 1}
  25. filmic_1 0
  26. addUserKnob {19 Grade1_black l lift t "Lifts blacks" R 0 0.1}
  27. Grade1_black 0.005
  28. addUserKnob {41 shoulderStr l "Shoulder Str." t "Higher values produces brighter highlights" T Expression_Filmic.shoulderStr}
  29. addUserKnob {41 linStr l "Linear Str." T Expression_Filmic.linStr}
  30. addUserKnob {41 linAngle l "Linear Angle" T Expression_Filmic.linAngle}
  31. addUserKnob {41 toeStr l "Toe Str." T Expression_Filmic.toeStr}
  32. addUserKnob {41 toeNum l "Toe Num." T Expression_Filmic.toeNum}
  33. addUserKnob {41 toeDen l "Toe Denom." T Expression_Filmic.toeDen}
  34. addUserKnob {41 whitepoint l INVISIBLE +INVISIBLE T Expression_Filmic.whitepoint}
  35. addUserKnob {20 endGroup_1 l endGroup n -1}
  36. addUserKnob {20 Corona l "Corona Controls" n 1}
  37. Corona 0
  38. addUserKnob {41 compression l Compression T Expression_Corona.compression}
  39. addUserKnob {20 endGroup_2 l endGroup n -1}
  40. }
  41. BackdropNode {
  42. inputs 0
  43. name Filmic
  44. xpos -340
  45. ypos -221
  46. bdwidth 144
  47. bdheight 193
  48. }
  49. BackdropNode {
  50. inputs 0
  51. name Corona
  52. xpos -498
  53. ypos -222
  54. bdwidth 151
  55. bdheight 194
  56. }
  57. BackdropNode {
  58. inputs 0
  59. name Luma_modo
  60. xpos -171
  61. ypos -212
  62. bdwidth 274
  63. bdheight 190
  64. }
  65. BackdropNode {
  66. inputs 0
  67. name Reinhard
  68. xpos 116
  69. ypos -215
  70. bdwidth 243
  71. bdheight 191
  72. }
  73. BackdropNode {
  74. inputs 0
  75. name Notes
  76. label "Filmic tonemap operator is based\non John Hable's work for Unchartered 2:\nhttp://filmicgames.com/archives/75\n\nExponential luma operator is used by \nmodo and Maxwell.\n\nReinhard operator is Reinhard global.\n\nCorona is from the 3ds Max plugin render\nengine Corona.\n\n\nCopyright 2013 Simon Lundberg\nFeel free to re-use, adapt, distribute\nand change tool to suit your needs,\nbut please don't sell it."
  77. note_font_size 25
  78. xpos 582
  79. ypos -307
  80. bdwidth 616
  81. bdheight 512
  82. }
  83. BackdropNode {
  84. inputs 0
  85. name Film_Simulation
  86. label "NOT IMPLEMENTED"
  87. xpos -663
  88. ypos -224
  89. bdwidth 141
  90. bdheight 196
  91. }
  92. Input {
  93. inputs 0
  94. name mask
  95. xpos -462
  96. ypos -344
  97. number 1
  98. }
  99. Dot {
  100. name Dot11
  101. xpos 499
  102. ypos -341
  103. }
  104. Dot {
  105. name Dot10
  106. xpos 499
  107. ypos 218
  108. }
  109. Input {
  110. inputs 0
  111. name img
  112. xpos -578
  113. ypos -344
  114. }
  115. Dot {
  116. name Dot14
  117. xpos -547
  118. ypos -295
  119. }
  120. set N1a542300 [stack 0]
  121. EXPTool {
  122. mode Stops
  123. name EXPTool1
  124. xpos -462
  125. ypos -298
  126. }
  127. Dot {
  128. name Dot19
  129. xpos -216
  130. ypos -295
  131. }
  132. Dot {
  133. name Dot33
  134. xpos -216
  135. ypos -241
  136. }
  137. set Naea67450 [stack 0]
  138. Dot {
  139. name Dot24
  140. xpos -275
  141. ypos -241
  142. }
  143. set Nb255c280 [stack 0]
  144. Dot {
  145. name Dot25
  146. xpos -431
  147. ypos -241
  148. }
  149. set Naea5ff70 [stack 0]
  150. Dot {
  151. name Dot28
  152. xpos -612
  153. ypos -241
  154. }
  155. Dot {
  156. name Dot29
  157. xpos -612
  158. ypos -185
  159. }
  160. Dot {
  161. name Dot30
  162. xpos -612
  163. ypos -62
  164. }
  165. Dot {
  166. name Dot31
  167. xpos -612
  168. ypos 80
  169. }
  170. Dot {
  171. name Dot32
  172. xpos 19
  173. ypos 80
  174. }
  175. push $Naea5ff70
  176. Expression {
  177. expr0 r*(1+r/(compression**2))/(1+r)
  178. expr1 g*(1+g/(compression**2))/(1+g)
  179. expr2 b*(1+b/(compression**2))/(1+b)
  180. name Expression_Corona
  181. xpos -462
  182. ypos -147
  183. addUserKnob {20 User}
  184. addUserKnob {7 compression l "Highlight Compression" R 1 10}
  185. compression 1.5
  186. }
  187. Dot {
  188. name Dot26
  189. xpos -431
  190. ypos -47
  191. }
  192. Dot {
  193. name Dot5
  194. xpos -431
  195. ypos 59
  196. }
  197. Dot {
  198. name Dot17
  199. xpos 29
  200. ypos 59
  201. }
  202. push $Nb255c280
  203. EXPTool {
  204. mode Stops
  205. red 1.8
  206. green 1.8
  207. blue 1.8
  208. name EXPTool2
  209. xpos -306
  210. ypos -173
  211. }
  212. Grade {
  213. black {{parent.Grade1_black.r} {parent.Grade1_black.g} {parent.Grade1_black.b} {parent.Grade1_black.a}}
  214. name Grade1
  215. xpos -306
  216. ypos -138
  217. addUserKnob {20 User}
  218. }
  219. Expression {
  220. temp_name0 tNtD
  221. temp_expr0 toeNum/toeDen
  222. temp_name1 tStD
  223. temp_expr1 toeStr*toeDen
  224. temp_name2 tStN
  225. temp_expr2 toeStr*toeNum
  226. temp_name3 lAlS
  227. temp_expr3 linAngle*linStr
  228. expr0 ((r*(shoulderStr*r+lAlS)+tStN)/(r*(shoulderStr*r+linStr)+tStD))-tNtD
  229. expr1 ((g*(shoulderStr*g+lAlS)+tStN)/(g*(shoulderStr*g+linStr)+tStD))-tNtD
  230. expr2 ((b*(shoulderStr*b+lAlS)+tStN)/(b*(shoulderStr*b+linStr)+tStD))-tNtD
  231. name Expression_Filmic
  232. xpos -306
  233. ypos -95
  234. addUserKnob {20 User}
  235. addUserKnob {7 shoulderStr l "Shoulder Str."}
  236. shoulderStr 0.5
  237. addUserKnob {7 linStr l "Linear Str."}
  238. linStr 0.8
  239. addUserKnob {7 linAngle l "Linear Angle"}
  240. linAngle 0.2
  241. addUserKnob {7 toeStr l "Toe Str."}
  242. toeStr 0.9
  243. addUserKnob {7 toeNum l "Toe Num." R 0 0.1}
  244. toeNum 0.065
  245. addUserKnob {7 toeDen l "Toe Denum."}
  246. toeDen 0.9
  247. addUserKnob {7 whitepoint l "White point" R 0 50}
  248. addUserKnob {7 whitepointExp}
  249. whitepointExp {{((whitepoint*(shoulderStr*whitepoint+linAngle*linStr)+toeStr*toeNum)/(whitepoint*(shoulderStr*whitepoint+linStr)+toeStr*toeDen))-(toeNum/toeDen)}}
  250. }
  251. Dot {
  252. name Dot22
  253. xpos -275
  254. ypos -52
  255. }
  256. Dot {
  257. name Dot15
  258. xpos -275
  259. ypos 42
  260. }
  261. Dot {
  262. name Dot9
  263. xpos 47
  264. ypos 42
  265. }
  266. push $Naea67450
  267. Dot {
  268. name Dot21
  269. xpos -151
  270. ypos -241
  271. }
  272. set Nb255b830 [stack 0]
  273. Dot {
  274. name Dot2
  275. xpos -151
  276. ypos -176
  277. }
  278. set N1a544c40 [stack 0]
  279. Dot {
  280. name Dot3
  281. xpos -151
  282. ypos -134
  283. }
  284. set N1a544fb0 [stack 0]
  285. Dot {
  286. name Dot20
  287. xpos -151
  288. ypos -105
  289. }
  290. push $N1a544fb0
  291. push $N1a544c40
  292. Saturation {
  293. saturation 0
  294. name Saturation1
  295. xpos -103
  296. ypos -179
  297. }
  298. Add {
  299. value 1
  300. name modo_add
  301. xpos -4
  302. ypos -185
  303. }
  304. Merge2 {
  305. inputs 2
  306. operation divide
  307. Bchannels rgb
  308. name modo_Divide
  309. xpos -4
  310. ypos -137
  311. }
  312. Merge2 {
  313. inputs 2
  314. operation copy
  315. mix 0.25
  316. name Reinhard_Merge
  317. xpos -4
  318. ypos -108
  319. }
  320. set Cb20bf900 [stack 0]
  321. Dot {
  322. name Dot8
  323. xpos 69
  324. ypos -53
  325. }
  326. Dot {
  327. name Dot4
  328. xpos 69
  329. ypos 34
  330. }
  331. push $Nb255b830
  332. Dot {
  333. name Dot1
  334. xpos 122
  335. ypos -241
  336. }
  337. Dot {
  338. name Dot12
  339. xpos 122
  340. ypos -174
  341. }
  342. set N1a602700 [stack 0]
  343. Dot {
  344. name Dot13
  345. xpos 122
  346. ypos -128
  347. }
  348. set N1a602a70 [stack 0]
  349. Dot {
  350. name Dot18
  351. xpos 122
  352. ypos -85
  353. }
  354. push $N1a602a70
  355. push $N1a602700
  356. Add {
  357. value 1
  358. name Reinhard_Add
  359. xpos 222
  360. ypos -183
  361. }
  362. Merge2 {
  363. inputs 2
  364. operation divide
  365. Bchannels rgb
  366. name Reinhard_Divide
  367. xpos 222
  368. ypos -131
  369. }
  370. clone $Cb20bf900 {
  371. inputs 2
  372. xpos 222
  373. ypos -88
  374. selected false
  375. }
  376. Dot {
  377. name Dot23
  378. xpos 253
  379. ypos -47
  380. }
  381. Dot {
  382. name Dot16
  383. xpos 253
  384. ypos 42
  385. }
  386. Dot {
  387. name Dot7
  388. xpos 90
  389. ypos 42
  390. }
  391. Switch {
  392. inputs 5
  393. which {{operator}}
  394. name Switch1
  395. xpos 38
  396. ypos 112
  397. addUserKnob {20 User}
  398. addUserKnob {4 operator l Operator M {Reinhard "Exponential luma" Filmic Corona}}
  399. operator Filmic
  400. }
  401. Clamp {
  402. maximum_enable false
  403. name Clamp1
  404. xpos 38
  405. ypos 153
  406. }
  407. push $N1a542300
  408. Dot {
  409. name Dot27
  410. xpos -777
  411. ypos -295
  412. }
  413. Dot {
  414. name Dot6
  415. xpos -777
  416. ypos 218
  417. }
  418. Merge2 {
  419. inputs 2+1
  420. operation copy
  421. name Merge1
  422. xpos 38
  423. ypos 215
  424. }
  425. Output {
  426. name Output1
  427. xpos 38
  428. ypos 386
  429. }
  430. end_group
Advertisement
Add Comment
Please, Sign In to add comment