Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Captain Obvious

Pages: 1 ... 8 9 [10] 11 12
136
[Max] Resolved Feature Requests / Re: Velocity pass
« on: 2013-10-21, 16:56:45 »
Sorry to necro this thread, but how hard would it be to implement both object and camera motion blur into this pass.
It has always bothered me that you can only get object MB from it. :)
Velocity pass data should include ALL motion, both from camera and items. It does in modo, at any rate. I don't see any reason for why a renderer wouldn't include everything.



Edit: and actual motion blur isn't the only use for a velocity output. You can also use velocity to reducing flickering/noise in animations.

137
I am super curious about the "filmic" curve, keeps very nice contrast overall. What is it ?
If this gets converted to Fusion I will install it the very next day.
It's based on this: http://www.slideshare.net/ozlael/hable-john-uncharted2-hdr-lighting

Go to page 92.

138
Go for it. I wouldn't mind getting my hands on it when you're done. I'm one of those few crazy people who own and use both Fusion and Nuke! :-D

139
Okay, here's my Nuke gizmo. It's still a WIP. I haven't yet implemented film simulation, but I'm working on it. No menu or install or anything for now; just select the text and copy it into your comp. Only tested in NukeX 7.0v8, but should work fine in regular Nuke as well, and probably in earlier versions as well.

It does Reinhard, Exponential Luma (same as Maxwell and modo), Corona and Filmic.


Code: [Select]
set cut_paste_input [stack 0]
version 7.0 v8
push $cut_paste_input
Group {
 name Tonemap
 selected true
 xpos -308
 ypos -203
 addUserKnob {20 tonemap l Tonemap t "Adjusts blend between linear colors and full tonemap"}
 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}
 addUserKnob {41 mix l "Tonemap Mix" t "Blends between input and tonemapped image" T Merge1.mix}
 addUserKnob {20 exposure l "Exposure Adjustment" n 1}
 exposure 0
 addUserKnob {41 mode l "Adjust in" T EXPTool1.mode}
 addUserKnob {41 gang T EXPTool1.gang}
 addUserKnob {41 red T EXPTool1.red}
 addUserKnob {41 green T EXPTool1.green}
 addUserKnob {41 blue T EXPTool1.blue}
 addUserKnob {20 endGroup n -1}
 addUserKnob {20 exponentialStrength l "Reinhard and Exponential Luma Controls" n 1}
 exponentialStrength 0
 addUserKnob {41 mix_1 l Burn T Reinhard_Merge.mix}
 addUserKnob {20 endGroup_3 l endGroup n -1}
 addUserKnob {20 filmic_1 l "Filmic Controls" n 1}
 filmic_1 0
 addUserKnob {19 Grade1_black l lift t "Lifts blacks" R 0 0.1}
 Grade1_black 0.005
 addUserKnob {41 shoulderStr l "Shoulder Str." t "Higher values produces brighter highlights" T Expression_Filmic.shoulderStr}
 addUserKnob {41 linStr l "Linear Str." T Expression_Filmic.linStr}
 addUserKnob {41 linAngle l "Linear Angle" T Expression_Filmic.linAngle}
 addUserKnob {41 toeStr l "Toe Str." T Expression_Filmic.toeStr}
 addUserKnob {41 toeNum l "Toe Num." T Expression_Filmic.toeNum}
 addUserKnob {41 toeDen l "Toe Denom." T Expression_Filmic.toeDen}
 addUserKnob {41 whitepoint l INVISIBLE +INVISIBLE T Expression_Filmic.whitepoint}
 addUserKnob {20 endGroup_1 l endGroup n -1}
 addUserKnob {20 Corona l "Corona Controls" n 1}
 Corona 0
 addUserKnob {41 compression l Compression T Expression_Corona.compression}
 addUserKnob {20 endGroup_2 l endGroup n -1}
}
 BackdropNode {
  inputs 0
  name Filmic
  xpos -340
  ypos -221
  bdwidth 144
  bdheight 193
 }
 BackdropNode {
  inputs 0
  name Corona
  xpos -498
  ypos -222
  bdwidth 151
  bdheight 194
 }
 BackdropNode {
  inputs 0
  name Luma_modo
  xpos -171
  ypos -212
  bdwidth 274
  bdheight 190
 }
 BackdropNode {
  inputs 0
  name Reinhard
  xpos 116
  ypos -215
  bdwidth 243
  bdheight 191
 }
 BackdropNode {
  inputs 0
  name Notes
  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."
  note_font_size 25
  xpos 582
  ypos -307
  bdwidth 616
  bdheight 512
 }
 BackdropNode {
  inputs 0
  name Film_Simulation
  label "NOT IMPLEMENTED"
  xpos -663
  ypos -224
  bdwidth 141
  bdheight 196
 }
 Input {
  inputs 0
  name mask
  xpos -462
  ypos -344
  number 1
 }
 Dot {
  name Dot11
  xpos 499
  ypos -341
 }
 Dot {
  name Dot10
  xpos 499
  ypos 218
 }
 Input {
  inputs 0
  name img
  xpos -578
  ypos -344
 }
 Dot {
  name Dot14
  xpos -547
  ypos -295
 }
set N1a542300 [stack 0]
 EXPTool {
  mode Stops
  name EXPTool1
  xpos -462
  ypos -298
 }
 Dot {
  name Dot19
  xpos -216
  ypos -295
 }
 Dot {
  name Dot33
  xpos -216
  ypos -241
 }
set Naea67450 [stack 0]
 Dot {
  name Dot24
  xpos -275
  ypos -241
 }
set Nb255c280 [stack 0]
 Dot {
  name Dot25
  xpos -431
  ypos -241
 }
set Naea5ff70 [stack 0]
 Dot {
  name Dot28
  xpos -612
  ypos -241
 }
 Dot {
  name Dot29
  xpos -612
  ypos -185
 }
 Dot {
  name Dot30
  xpos -612
  ypos -62
 }
 Dot {
  name Dot31
  xpos -612
  ypos 80
 }
 Dot {
  name Dot32
  xpos 19
  ypos 80
 }
push $Naea5ff70
 Expression {
  expr0 r*(1+r/(compression**2))/(1+r)
  expr1 g*(1+g/(compression**2))/(1+g)
  expr2 b*(1+b/(compression**2))/(1+b)
  name Expression_Corona
  xpos -462
  ypos -147
  addUserKnob {20 User}
  addUserKnob {7 compression l "Highlight Compression" R 1 10}
  compression 1.5
 }
 Dot {
  name Dot26
  xpos -431
  ypos -47
 }
 Dot {
  name Dot5
  xpos -431
  ypos 59
 }
 Dot {
  name Dot17
  xpos 29
  ypos 59
 }
push $Nb255c280
 EXPTool {
  mode Stops
  red 1.8
  green 1.8
  blue 1.8
  name EXPTool2
  xpos -306
  ypos -173
 }
 Grade {
  black {{parent.Grade1_black.r} {parent.Grade1_black.g} {parent.Grade1_black.b} {parent.Grade1_black.a}}
  name Grade1
  xpos -306
  ypos -138
  addUserKnob {20 User}
 }
 Expression {
  temp_name0 tNtD
  temp_expr0 toeNum/toeDen
  temp_name1 tStD
  temp_expr1 toeStr*toeDen
  temp_name2 tStN
  temp_expr2 toeStr*toeNum
  temp_name3 lAlS
  temp_expr3 linAngle*linStr
  expr0 ((r*(shoulderStr*r+lAlS)+tStN)/(r*(shoulderStr*r+linStr)+tStD))-tNtD
  expr1 ((g*(shoulderStr*g+lAlS)+tStN)/(g*(shoulderStr*g+linStr)+tStD))-tNtD
  expr2 ((b*(shoulderStr*b+lAlS)+tStN)/(b*(shoulderStr*b+linStr)+tStD))-tNtD
  name Expression_Filmic
  xpos -306
  ypos -95
  addUserKnob {20 User}
  addUserKnob {7 shoulderStr l "Shoulder Str."}
  shoulderStr 0.5
  addUserKnob {7 linStr l "Linear Str."}
  linStr 0.8
  addUserKnob {7 linAngle l "Linear Angle"}
  linAngle 0.2
  addUserKnob {7 toeStr l "Toe Str."}
  toeStr 0.9
  addUserKnob {7 toeNum l "Toe Num." R 0 0.1}
  toeNum 0.065
  addUserKnob {7 toeDen l "Toe Denum."}
  toeDen 0.9
  addUserKnob {7 whitepoint l "White point" R 0 50}
  addUserKnob {7 whitepointExp}
  whitepointExp {{((whitepoint*(shoulderStr*whitepoint+linAngle*linStr)+toeStr*toeNum)/(whitepoint*(shoulderStr*whitepoint+linStr)+toeStr*toeDen))-(toeNum/toeDen)}}
 }
 Dot {
  name Dot22
  xpos -275
  ypos -52
 }
 Dot {
  name Dot15
  xpos -275
  ypos 42
 }
 Dot {
  name Dot9
  xpos 47
  ypos 42
 }
push $Naea67450
 Dot {
  name Dot21
  xpos -151
  ypos -241
 }
set Nb255b830 [stack 0]
 Dot {
  name Dot2
  xpos -151
  ypos -176
 }
set N1a544c40 [stack 0]
 Dot {
  name Dot3
  xpos -151
  ypos -134
 }
set N1a544fb0 [stack 0]
 Dot {
  name Dot20
  xpos -151
  ypos -105
 }
push $N1a544fb0
push $N1a544c40
 Saturation {
  saturation 0
  name Saturation1
  xpos -103
  ypos -179
 }
 Add {
  value 1
  name modo_add
  xpos -4
  ypos -185
 }
 Merge2 {
  inputs 2
  operation divide
  Bchannels rgb
  name modo_Divide
  xpos -4
  ypos -137
 }
 Merge2 {
  inputs 2
  operation copy
  mix 0.25
  name Reinhard_Merge
  xpos -4
  ypos -108
 }
 set Cb20bf900 [stack 0]
 Dot {
  name Dot8
  xpos 69
  ypos -53
 }
 Dot {
  name Dot4
  xpos 69
  ypos 34
 }
push $Nb255b830
 Dot {
  name Dot1
  xpos 122
  ypos -241
 }
 Dot {
  name Dot12
  xpos 122
  ypos -174
 }
set N1a602700 [stack 0]
 Dot {
  name Dot13
  xpos 122
  ypos -128
 }
set N1a602a70 [stack 0]
 Dot {
  name Dot18
  xpos 122
  ypos -85
 }
push $N1a602a70
push $N1a602700
 Add {
  value 1
  name Reinhard_Add
  xpos 222
  ypos -183
 }
 Merge2 {
  inputs 2
  operation divide
  Bchannels rgb
  name Reinhard_Divide
  xpos 222
  ypos -131
 }
clone $Cb20bf900 {
  inputs 2
  xpos 222
  ypos -88
  selected false
 }
 Dot {
  name Dot23
  xpos 253
  ypos -47
 }
 Dot {
  name Dot16
  xpos 253
  ypos 42
 }
 Dot {
  name Dot7
  xpos 90
  ypos 42
 }
 Switch {
  inputs 5
  which {{operator}}
  name Switch1
  xpos 38
  ypos 112
  addUserKnob {20 User}
  addUserKnob {4 operator l Operator M {Reinhard "Exponential luma" Filmic Corona}}
  operator Filmic
 }
 Clamp {
  maximum_enable false
  name Clamp1
  xpos 38
  ypos 153
 }
push $N1a542300
 Dot {
  name Dot27
  xpos -777
  ypos -295
 }
 Dot {
  name Dot6
  xpos -777
  ypos 218
 }
 Merge2 {
  inputs 2+1
  operation copy
  name Merge1
  xpos 38
  ypos 215
 }
 Output {
  name Output1
  xpos 38
  ypos 386
 }
end_group

140
Great, thanks! I implemented it in my Nuke tone mapper gizmo as well. I can post it if anyone's interested.


Corona's tonemapper produces exactly the same results as Reinhard tonemapping. It's just that the settings work differently.

141
[Max] General Discussion / Re: CoronaCamera - tweaks
« on: 2013-10-01, 23:46:27 »
the film size option is available in global render settings
It would be nice to have it per camera. If you have a scene containing a mix of portrait and landscape shots, you'll need different film gate settings for them.

142
And that would be no different to what controlling exposure using exposure compensation right now does :)
Well, it would actually be kind of different. Doing it the way I suggested means that you could very easily match real-world exposure to an actual camera by manually entering f-stop, shutter and sensitivity (with "auto" off). Then you could turn auto back on and tweak the f-stop to control depth of field without worrying about motion blur or exposure -- it would be dealt with automatically.

143
My DSLR has a TV/AV-priority mode, which is a fancy way of saying manual aperture and shutter speed while still keeping auto-ISO. It's actually pretty handy for controlling motion blur and depth of field, while still not worrying about manual exposure. It would actually be really handy to have a setting where the ISO setting automatically compensates for changes to f-stop and shutter speed. Juts a tickbox next to ISO: "auto". While in auto-mode it would automatically change to maintain the same effective exposure. Turn off auto mode and it locks at the current value.

144
This is actually a really good method. It's how FPrime for Lightwave renders animations. It's great because you can start the compositing and editing process pretty much immediately.

145
Oh, that's not shift, that is offset. I have honestly never ever used that. On the other hand, i use shift in VrayCamera and Camera Correction modifier on non-Vray cameras quite often. And i bet i am not the only one. Workflows of Modo and 3ds Max community probably differ a bit, and i believe if Modo guys had an one-click solution to make their vertical lines aligned, many of them would not resist the temptation. Even if it may not be technically right solution ;)
I sometimes need to make things compatible with other render engines. The method for "correcting" verticals in 3ds Max actually zooms out! and I haven't been able to accurately reproduce the effect in other software. So if I need to composite my render with something rendered in, say, Maxwell or modo, then I have to have correct film offset.

Also, the lenses I usually work with are real shift lenses, which work like the "offset" setting in V-Ray, not like the "correction" modifier.

146
I do not see it behaving any different than the one in Vray camera...
V-Ray's camera has two different methods. They've got the "guess from rotation" method, which is bad and you shouldn't use, and they've got an actual shift as well. The built-in camera corrector only has rotation correction I believe.

147
Ondra, can you add please in CoronaCameraMod support for setting white balance?
It's not very comfortable to make it globally in settings, sometimes different settings of WB needs for the same scene , so it's more comfortable to change it via camera :)

+1 for me.

Btw, very good news, so useful for me!!!
I'm dreaming about vertical and horizontal camera shift, may I ask this for Christmas? ;)

You very simply just add camera correction modifier on top of corona camera modifier
The camera correction modifier is not lens shift, though. And it's shit. There's that too. :)

148
Ondra, can you add please in CoronaCameraMod support for setting white balance?
It's not very comfortable to make it globally in settings, sometimes different settings of WB needs for the same scene , so it's more comfortable to change it via camera :)

+1 for me.

Btw, very good news, so useful for me!!!
I'm dreaming about vertical and horizontal camera shift, may I ask this for Christmas? ;)
Shift would be of use to me. I often have to make renders compatible with renders from other engines, and having functional lens shift is crucial.

149
General CG Discussion / Re: Pixar and RT demo
« on: 2013-08-27, 18:53:27 »
I think actually most of the video is with no GI - you can see 100% dark shadows. What interests me more is the "same assets as final shot on GPU".
I believe OpenSubDiv 2.0 is supposed to include direct ray tracing of catmull clark patches. Is it possible that that's what they're doing? Could they have collaborated with NVidia to add something like that to Optix? Hmm, hmm.

150
[Max] Feature Requests / Re: The most wanted feature?
« on: 2013-08-27, 18:45:53 »
rendering scenes that do not fit into RAM. Although I consider this the ultimate feature, to be added when everything else is there, it will be pretty hard ;)
Yes please. This is pretty important feature for production work. Render-to-disk is a pretty important feature as well, so that frame buffer memory usage isn't a limiting factor.

Pages: 1 ... 8 9 [10] 11 12