Hi, I'm at a loss here. I have an Op subclassed from CameraOp that only changes the outputContext of an incoming camera (for freeze-frames, time offsets, etc).
I manually set both matrix_ and projection_, and everything is fine going into a ScanlineRender, for example. Going into a Card3D, my camera-Op also works fine until motionblur is turned on. Looking closer, I've found that: 1- Turning motionblur on in a Card3D when I have my own camera connected crashes Nuke, unless I explicitly have "projection_knobs" in my camera Op. So, I assume that either Card3D or CameraOp::projectionAt() are calling those projections knobs explicitly? I think I've got that fixed by adding the projection knobs and setting them to the desired values. 2- Something similar happens with the transformation knobs (axis_knob). If I don't have them in my Op, going into a Card3D and setting motionblur on does not crash, but it looks like matrixAt is always returning the identity matrix (even though it gets the matrix correctly from my op when motionblur is off). I've tried overriding matrixAt in my own Op to return the matrix I want, but I guess Card3D is calling matrixAt of the base class (CameraOp), and matrixAt is not virtual so I can't really override it, right? So here's where I'm at now: what do I need to implement in my Op so I can control what will happen when matrixAt gets called on it? I suppose I could just add the transformation knobs, but if I do that, is there a way to prevent the resulting matrix from concatenating with another Camera upstream? (considering that this is a "camera retiming op", and I don't want to concatenate with the above camera, but "steal" values from it). Help! Thanks, Ivan
_______________________________________________ Nuke-dev mailing list [email protected] http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-dev
