diff options
Diffstat (limited to 'source/blender/makesrna/intern/rna_camera.c')
-rw-r--r-- | source/blender/makesrna/intern/rna_camera.c | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/source/blender/makesrna/intern/rna_camera.c b/source/blender/makesrna/intern/rna_camera.c index d218f92e639..2c955bfcbc4 100644 --- a/source/blender/makesrna/intern/rna_camera.c +++ b/source/blender/makesrna/intern/rna_camera.c @@ -513,6 +513,25 @@ void RNA_def_camera(BlenderRNA *brna) {CAMERA_SENSOR_FIT_VERT, "VERTICAL", 0, "Vertical", "Fit to the sensor height"}, {0, NULL, 0, NULL, NULL}, }; + static const EnumPropertyItem panorama_type_items[] = { + {CAM_PANO_EQUIRECTANGULAR, + "EQUIRECTANGULAR", + 0, + "Equirectangular", + "Render the scene with a spherical camera, also known as Lat Long panorama"}, + {CAM_PANO_FISHEYE_EQUIDISTANT, + "FISHEYE_EQUIDISTANT", + 0, + "Fisheye Equidistant", + "Ideal for fulldomes, ignore the sensor dimensions"}, + {CAM_PANO_FISHEYE_EQUISOLID, + "FISHEYE_EQUISOLID", + 0, + "Fisheye Equisolid", + "Similar to most fisheye modern lens, takes sensor dimensions into consideration"}, + {CAM_PANO_MIRRORBALL, "MIRRORBALL", 0, "Mirror Ball", "Uses the mirror ball mapping"}, + {0, NULL, 0, NULL, NULL}, + }; srna = RNA_def_struct(brna, "Camera", "ID"); RNA_def_struct_ui_text(srna, "Camera", "Camera data-block for storing camera settings"); @@ -526,6 +545,11 @@ void RNA_def_camera(BlenderRNA *brna) RNA_def_property_ui_text(prop, "Type", "Camera types"); RNA_def_property_update(prop, NC_OBJECT | ND_DRAW, "rna_Camera_update"); + prop = RNA_def_property(srna, "panorama_type", PROP_ENUM, PROP_NONE); + RNA_def_property_enum_items(prop, panorama_type_items); + RNA_def_property_ui_text(prop, "Panorama Type", "Distortion to use for the calculation"); + RNA_def_property_update(prop, NC_OBJECT | ND_DRAW, "rna_Camera_update"); + prop = RNA_def_property(srna, "sensor_fit", PROP_ENUM, PROP_NONE); RNA_def_property_enum_sdna(prop, NULL, "sensor_fit"); RNA_def_property_enum_items(prop, sensor_fit_items); @@ -581,6 +605,42 @@ void RNA_def_camera(BlenderRNA *brna) RNA_def_property_ui_text(prop, "Focal Length", "Perspective Camera lens value in millimeters"); RNA_def_property_update(prop, NC_OBJECT | ND_DRAW, "rna_Camera_update"); + prop = RNA_def_property(srna, "fisheye_fov", PROP_FLOAT, PROP_ANGLE); + RNA_def_property_range(prop, 0.1745f, DEG2RAD(360.0f)); + RNA_def_property_ui_range(prop, 0.1745f, DEG2RAD(360.0f * 5.0f), 10, 3); + RNA_def_property_ui_text(prop, "Field of View", "Field of view for the fisheye lens"); + RNA_def_property_update(prop, NC_OBJECT | ND_DRAW, "rna_Camera_update"); + + prop = RNA_def_property(srna, "fisheye_lens", PROP_FLOAT, PROP_DISTANCE_CAMERA); + RNA_def_property_range(prop, 0.01f, 100.0f); + RNA_def_property_ui_range(prop, 0.01f, 15.0f, 100, 4); + RNA_def_property_ui_text(prop, "Fisheye Lens", "Lens focal length (mm)"); + RNA_def_property_update(prop, NC_OBJECT | ND_DRAW, "rna_Camera_update"); + + prop = RNA_def_property(srna, "latitude_min", PROP_FLOAT, PROP_ANGLE); + RNA_def_property_range(prop, DEG2RAD(-90.0f), DEG2RAD(90.0f)); + RNA_def_property_ui_text( + prop, "Min Latitude", "Minimum latitude (vertical angle) for the equirectangular lens"); + RNA_def_property_update(prop, NC_OBJECT | ND_DRAW, "rna_Camera_update"); + + prop = RNA_def_property(srna, "latitude_max", PROP_FLOAT, PROP_ANGLE); + RNA_def_property_range(prop, DEG2RAD(-90.0f), DEG2RAD(90.0f)); + RNA_def_property_ui_text( + prop, "Max Latitude", "Maximum latitude (vertical angle) for the equirectangular lens"); + RNA_def_property_update(prop, NC_OBJECT | ND_DRAW, "rna_Camera_update"); + + prop = RNA_def_property(srna, "longitude_min", PROP_FLOAT, PROP_ANGLE); + RNA_def_property_range(prop, DEG2RAD(-180.0f), DEG2RAD(180.0f)); + RNA_def_property_ui_text( + prop, "Min Longitude", "Minimum longitude (horizontal angle) for the equirectangular lens"); + RNA_def_property_update(prop, NC_OBJECT | ND_DRAW, "rna_Camera_update"); + + prop = RNA_def_property(srna, "longitude_max", PROP_FLOAT, PROP_ANGLE); + RNA_def_property_range(prop, DEG2RAD(-180.0f), DEG2RAD(180.0f)); + RNA_def_property_ui_text( + prop, "Max Longitude", "Maximum longitude (horizontal angle) for the equirectangular lens"); + RNA_def_property_update(prop, NC_OBJECT | ND_DRAW, "rna_Camera_update"); + prop = RNA_def_property(srna, "sensor_width", PROP_FLOAT, PROP_DISTANCE_CAMERA); RNA_def_property_float_sdna(prop, NULL, "sensor_x"); RNA_def_property_range(prop, 1.0f, FLT_MAX); |