Kineme GL Camera Patch with Target coordinates

Hi there, I would like to suggest/ask for more settings for the Kineme GL Camera Patch.

Currently,the GL Camera Patch looks like a 3D Transform Patch with "inverted" coordinates and Rotations settings.

It could be very useful to have more parameters for the Kineme GL Camera, like in many 3D/Compositing Softwares.

I think it could be easier for animation and more useful to have "normal" coordinates and rotations settings for the GL Camera (like a classic 3D Object), and to add instead some "Target" settings (X,Y,Z Positions inputs) to define where the GL Camera is looking...

In this way the GL Camera movements could be set regardless of his point of interest. It could be easier to move around and to follow 3D Objects, and set the GL Camera Positions independently.

We should discern two position inputs setting (X,Y,Z) in this Patch: The GL Camera position (Point of view). The Target position (Point of interest).

Et VoilĂ  !!!

Another idea: I think it could be useful to include (not merge) the "Kineme GL Field of View Patch" settings with the GL Camera.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

toneburst's picture
Re: Kineme GL Camera Patch with Target coordinates

Agreed, on all points!

a|x

cwright's picture
Re: Kineme GL Camera Patch with Target coordinates

Some notes:

first, the GL Camera patch is private because I whipped it up in a few minutes in a hotel room in Cleveland for a musical performance the following day -- as such, it's almost completely untested, and it's very wrong (it's manipulating the ModelView matrix, not the projection matrix as it ought to). Please don't depend on this patch for anything, ever (until it becomes non-private -- this one will certainly change).

Second: source/dest XYZ sets are cool, but they require an Up Vector and sometimes a Left Vector as well (there are an infinite number of orientations between 2 points, so those two help determine how you want it oriented). Actually, left isn't necessary (it's implied to be orthoginal to the source/dest vector and the up vector -- it's usually used for aspect projection stuff that we can handle automatically). So: anyway, we'll need to add an Up XYZ input set as well, perhaps defaulted to 0,1,0?

FoV in that isn't a problem. I agree that it should be included.

Any other thoughts?

toneburst's picture
Re: Kineme GL Camera Patch with Target coordinates

cwright wrote:
Any other thoughts?

You could have an alternative version with Pitch, Roll and Yaw parameters, and maybe a Zoom.

Just a thought...

a|x

mfreakz's picture
Re: Kineme GL Camera Patch with Target coordinates

I'm very please that this feature request seems to interest you !

Here some other thoughts: I could be great to add a "GL distorsion matrix" and a format/ratio settings with the FoV parameter.

1) The Format/ratio could be a "simple width and Height (+ Pixel wide & Hight) to have different GL Camera with different settings in the same screen (it could be useful), and this setting could be set from "default" (the Composition rendering Destination Dimensions) to "Custom".

2) The "GL Distortion Matrix" could be a degree variable to simulate lens distortions, in addition of the FoV setting. With those options, we could build/simulate different Camera & lens distortion type (Wide Angle, Fish Eye, 50',...).

3) It could be great to add a "frame rate setting". With this option, directly include with this Patch in the composition, it could solve many rendering problems. As the Frame Rate is actually a QC preference, it could become instead a Composition setting ! This Frame Rate setting should be set to "Default" if you want to let it free, "as fast as possible" (like in QC editor) for an usual use.

cwright's picture
Re: Kineme GL Camera Patch with Target coordinates

framerates can't be controlled by patches -- QC determines that, and plugins don't really have the ability to modify it (assuming it were possible, what happens if a patch were to modify the composition to "0"?)

Fish Eye distortion isn't possible with the OpenGL matrices -- you need GLSL do perform that kind of distortion. Similarly, most other fancy camera/lens distortions can't be performed by GL matrices directly. Thus, we have no intention of supporting this sort of functionality (at least, not in GLTools).

mfreakz's picture
Re: Kineme GL Camera Patch with Target coordinates

I understand that those kind of distortion are not for GL Camera. We could build that with a GLSL shaders, i hope !

Do you think that the (XYZ) Target point imputs could be add to the GL Camera Patch ? I really think it could be very useful to have two coordinates set in this patch, one for the Camera Position an onother for the Target point o follow.

cwright's picture
Re: Kineme GL Camera Patch with Target coordinates

Camera Position + target position = Look At Patch (once the bugs in it are fixed) ;)

There's an example fisheye shader somewhere I this site, I think... ? ( I think I made it, even? not sure where though...)

toneburst's picture
Re: Kineme GL Camera Patch with Target coordinates

cwright wrote:
Camera Position + target position = Look At Patch (once the bugs in it are fixed) ;)

Right! I had some fun with that one. Any chance of ironing-out those bugs and 'officialising' it any time soon? Having said that, the current version always worked fine for me.

a|x

smokris's picture
Re: Kineme GL Camera Patch with Target coordinates

cwright wrote:
There's an example fisheye shader somewhere I this site, I think... ? ( I think I made it, even? not sure where though...)

Yes, and yes. It's here.

franz's picture
Re: Kineme GL Camera Patch with Target coordinates

you're totally right. that would be awesome.

FBX multiple camera import would be uber-awesome. I can provide sample files if needed for testing purposes.

toneburst's picture
Re: Kineme GL Camera Patch with Target coordinates

Hasn't part of this request now been implemented by the new camera patches in GL Tools 1.5+?

Maybe we should mark this as 'in progress'.

a|x