Open kubo-von opened 4 years ago
+5 for fisheye !
On Mon, 10 Feb 2020 at 14:46, Jakub Vondra notifications@github.com wrote:
Cycles in Blender support other camera models like fisheye, mirroball etc, it could be useful to have those in Gaffer as well.
[image: Screenshot from 2020-02-10 22-41-26] https://user-images.githubusercontent.com/46250374/74197204-42877880-4c5f-11ea-86a2-03d5d9ead67a.jpg
Not sure where these settings would live though. cyclesAttributes or cyclesOptions?
Cheers
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/boberfly/GafferCycles/issues/45?email_source=notifications&email_token=ABTWUK5BC2QQZNDPSNASOVLRCHKLDA5CNFSM4KSW6W6KYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4IMMZCXA, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABTWUK3IOOFAFRYDBKVPF73RCHKLDANCNFSM4KSW6W6A .
Sure, sounds good.
https://github.com/boberfly/GafferCycles/commit/ddc6b79cd0f495b889e6f457c0f0d376c2aac993
I was just using a CameraTweaks node to specify custom options, this is much like how Arnold is treated right now, so no nice UI really (yet) but it did work from what I see.
Hey @kubo-von and @sschwungsau
This build should have a way to set these via a CameraTweaks node: https://github.com/boberfly/GafferCycles/releases/tag/0.17.0
I was able to do panoramas by adding the string parameter panoramaType
and setting it with:
equirectangular, mirrorball, fisheyeEquidistant or fisheyeEquisolid
To set other parameters, it'll be doing a for-loop over custom parameters and will try to set the socket connection if the names match eg. "fisheye_fov" with a float value. They can be found here: https://github.com/boberfly/cycles/blob/74f4cbdee302eaacbdacf513bc76d7fe057bf220/src/render/camera.cpp#L59 ( eg. SOCKET_FLOAT(fisheye_fov, "Fisheye FOV", M_PI_F);
).
Cheers
coolio ! thanks !
Awesome, thanks @boberfly ! I'll look into how to add the parameters automatically with python.
Hey @boberfly I've been trying to get it work for a while but either I'm not doing it right or something is off. Without panoramic: With panoramic: camera tweaks node: (these values are only ones where I could actually see the scene in camera, with blender-like values nothing was there.) Since the camera looks like it's rotated maybe some blender vs gaffer coordinates conversion is not happening? Scene: https://drive.google.com/file/d/13XIR7CjZMvDSMKVtFEwFKKJx5MP8qBFw/view?usp=sharing
Cheers
Hey @kubo-von Can you simply just rotate the camera itself to adjust it? I am doing some funky matrix conversion to get it to work with cameras in general eg. https://github.com/boberfly/GafferCycles/blob/master/src/GafferCycles/IECoreCyclesPreview/Renderer.cpp#L2641
Hey @boberfly Playing with it more I've managed to get the same view by rotating the camera But not by any logical values like -90 etc:
But at least for the fisheye_fov parameter I figured it expects radians not degrees like in blender UI For fisheye_lens I have no idea what the conversion is yet, as it doesn't seem to be any metric units.
Updated scene: panoramic.gfr
Cheers
Ahh radians alright, yeah I have had to make conversions of that in many places I can do this with those values also.
Cool! As for the orientation of the camera, this is just a long shot, but maybe the Y and Z axis are not switched ? Because for environment_texture is also rotated like this unless you switch Y and Z axes in the mapping section.
Yeah I am thinking it's this. Not sure what to do about it though without modifying Cycles source code eg. flipping some stuff here: https://github.com/boberfly/cycles/blob/ac1d47427950769a7b022fdb85fb84d003d3f72a/src/render/camera.cpp#L400
What about modifying the transform matrix of the camera when it's switched to panoramic before sending it to cycles ? Would that be possible ?
I will try to find some matrix multiplication/modification which would fix the camera angle.
Cycles in Blender support other camera models like fisheye, mirroball etc, it could be useful to have those in Gaffer as well.
Not sure where these settings would live though. cyclesAttributes or cyclesOptions?
Cheers