A number of years ago one of our technical directors, Matt Blackwell, developed a CVEX custom lens shader to create fisheye mantra renders for our full-dome productions.
Attached is an example of what a fisheye mantra render looks like, and a hip file with the custom lens shader HDA embedded.
I realize that SideFX has been super-busy pushing out Houdini 18, supporting documentation, and examples.
I just wanted to make sure, and hope, that /stage context LOPS Karma custom lens effects are still on their todo list.
Especially if Mantra will be retired, as the ability to render to a fisheye image is extremely important to us.
Others on the thread agreed that fisheye support would be of interest to the 360 video/VR community as well.
Sincerely,
Jeroen Lapré
Senior Technical Director | Visualization Studio | California Academy of Sciences
p.s. here is the CVEX code:
#pragma opname fishLens #pragma oplabel "Fisheye Lens" #pragma hint x hidden #pragma hint y hidden #pragma hint P hidden #pragma hint I hidden #pragma hint valid hidden #include "math.h" cvex fishLens( /*equiangular fisheye lens shader with adjustable FOV and circular image format*/ // Inputs float x = 0; float y = 0; // Outputs export vector P = 0; export vector I = 0; export int valid = 0; // Shader arguments float fov = 180.0; ) { float radius = sqrt(x*x+y*y); /*calculate distance from center of image plane*/ /*following if statement means I is only computed inside r<=1, so that areas of image outside circular format aren't rendered*/ if (radius <= 1){ /*using 1.0 produces blurriness(bug?), but 1.01 works fine*/ float phi = atan2(y,x); float theta = radians(fov/2.0 * radius); I = set(sin(theta)*cos(phi),sin(theta)*sin(phi),cos(theta)); valid = 1; } }