Another question regarding the animation I’m making. These two have to do with rendering and/or camera parameters. (Probably more to come.)
First, I’d like to know if/how I can control the camera’s near/far clipping planes and actually have them take effect. I make this call just before the Render() in my Python animation cue tick() function:
GetActiveCamera().SetClippingRange(0.1, 7000.0)
But this seems to be ignored (and so I presume must be altered within the Render() call itself). And this can happen at both ends. So I sometimes get pictures like this:
This is an extreme example, but several frames end up like this, and then it returns to “normal”. And, no, I’m not below the terrain – here’s just two frames later where the clipping is okay – note that the sphere at the top was also clipped in the above frame:
My fear is that there’s nothing I can do about this, short of altering the VTK rendering code. But if there is a way to have the near/far clipping values take effect, I am ready to give it a try.
If I may respond to my own note, I thought I should point out that this issue also exists when using ParaView interactively. So in the GIF image below, I just rotate my view, and the sphere in the center gets clipped depending on the distance of an object in the background. There are objects other than the terrain and ball in the scene, and I found that an extra light that I had added was exacerbating the problem, but regardless, as the Python shell indicates, even if I specify the clipping planes I want to use, as soon as a render occurs, they are set back to what ParaView (or VTK) want them to be. My desire is for there to be a way for me to set the clipping planes such that Render() won’t alter them – can it be done? (or more specifically, can it be done without editing the VTK source code?)