diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2012-03-08 23:52:58 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2012-03-08 23:52:58 +0400 |
commit | 9b8dae71a5e0f5cccb4031dbe5f07aae01744c82 (patch) | |
tree | 8a575ab4a9e6835eef2175209ee323df883fd0ac /source/blender/makesrna | |
parent | 0f3e1821eae40c7cebfcf199b58370971b57fa35 (diff) |
Cycles: support for environment texture "Mirror Ball" projection mode, next to
existing "Equirectangular". This projection is useful to create light probes
from a chrome ball placed in a real scene. It expects as input a photograph of
the chrome ball, cropped so the ball just fits inside the image boundaries.
Example setup with panorama camera and mixing two (poor quality) photographs
from different viewpoints to avoid stretching and hide the photographer:
http://www.pasteall.org/pic/28036
Diffstat (limited to 'source/blender/makesrna')
-rw-r--r-- | source/blender/makesrna/intern/rna_nodetree.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/source/blender/makesrna/intern/rna_nodetree.c b/source/blender/makesrna/intern/rna_nodetree.c index 2caf1f06585..d3a2e406992 100644 --- a/source/blender/makesrna/intern/rna_nodetree.c +++ b/source/blender/makesrna/intern/rna_nodetree.c @@ -1268,6 +1268,11 @@ static void def_sh_tex_environment(StructRNA *srna) {SHD_COLORSPACE_NONE, "NONE", 0, "Non-Color Data", "Image contains non-color data, for example a displacement or normal map, and will not be converted"}, {0, NULL, 0, NULL, NULL}}; + static const EnumPropertyItem prop_projection_items[] = { + {SHD_PROJ_EQUIRECTANGULAR, "EQUIRECTANGULAR", 0, "Equirectangular", "Equirectangular or latitude-longitude projection"}, + {SHD_PROJ_MIRROR_BALL, "MIRROR_BALL", 0, "Mirror Ball", "Projection from an orthographic photo of a mirror ball"}, + {0, NULL, 0, NULL, NULL}}; + PropertyRNA *prop; prop = RNA_def_property(srna, "image", PROP_POINTER, PROP_NONE); @@ -1277,13 +1282,19 @@ static void def_sh_tex_environment(StructRNA *srna) RNA_def_property_ui_text(prop, "Image", ""); RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_image_update"); - RNA_def_struct_sdna_from(srna, "NodeTexImage", "storage"); + RNA_def_struct_sdna_from(srna, "NodeTexEnvironment", "storage"); def_sh_tex(srna); prop = RNA_def_property(srna, "color_space", PROP_ENUM, PROP_NONE); RNA_def_property_enum_items(prop, prop_color_space_items); RNA_def_property_ui_text(prop, "Color Space", "Image file color space"); RNA_def_property_update(prop, 0, "rna_Node_update"); + + prop = RNA_def_property(srna, "projection", PROP_ENUM, PROP_NONE); + RNA_def_property_enum_items(prop, prop_projection_items); + RNA_def_property_ui_text(prop, "Projection", "Projection of the input image"); + RNA_def_property_update(prop, 0, "rna_Node_update"); + } static void def_sh_tex_image(StructRNA *srna) |