![]() |
écran cylindrique companime
modification du logiciel POVray
|
#define CLASSNAMEPREFIX "Companime35"parse.cpp(1199):
CASE (COMPANIME_TOKEN)New->Type = COMPANIME_CAMERA; END_CASE
case COMPANIME_CAMERA: EXPECT CASE (ANGLE_TOKEN)New->Angle = Parse_Float(); if (New->Angle< 0.0) Error("Negative viewing angle."); END_CASE CASE5(PERSPECTIVE_TOKEN, ORTHOGRAPHIC_TOKEN, FISHEYE_TOKEN, ULTRA_WIDE_ANGLE_TOKEN, PANORAMIC_TOKEN) CASE2(SPHERICAL_TOKEN, CYLINDER_TOKEN) Expectation_Error("companime camera modifier"); END_CASE OTHERWISE UNGET if(Parse_Camera_Mods(New) == false) EXIT END_CASE END_EXPECT break;parse.cpp(1572):
CASE (COMPANIME_TOKEN)New->Type = COMPANIME_CAMERA; END_CASErender.cpp(2988):
/* * Companime camera. ajouté par companime 15 decembre 2004 */ case COMPANIME_CAMERA: //companime /* Convert the x coordinate to be a DBL from -0.5 to 0.5. */ x0 = x / (DBL)Frame.Screen_Width - 0.5; /* Convert the y coordinate to be a DBL from -0.5 to 0.5. */ //===================================================================================================== y0 = ((DBL)Frame.Screen_Height*0.5 - 1.0 - y) / (DBL)Frame.Screen_Width *1.3333; #define of 160.0 double k2, w, zn, t2; w=0.5; t2= x0*x0/(w*w);if(t2>1.0) t2=1.0; zn = 600.0/(4.0+sqrt(1.0-t2)); k2 = 0.4 * zn/(of-zn); x0*=k2; y0*=k2; #undef of //===================================================================================================== /* Create primary ray. */VLinComb3(Ray->Direction, 1.0, FCD, x0, FCR, y0, FCU); /* Do focal blurring (by Dan Farmer). */ if (Focal_Blur_Is_Used) { jitter_camera_ray(Ray, ray_number); initialize_ray_container_state(Ray, true); } else { initialize_ray_container_state(Ray, Precompute_Camera_Constants); Precompute_Camera_Constants = false; } break; //companime fintokenize.cpp(467):
{COMPANIME_TOKEN, "companime"}, //---- ajout Companime