DictionaryArray ConstantHemisphereEnvironmentEDFFactory::get_input_metadata() const { DictionaryArray metadata; metadata.push_back( Dictionary() .insert("name", "upper_hemi_radiance") .insert("label", "Upper Hemisphere Radiance") .insert("type", "colormap") .insert("entity_types", Dictionary().insert("color", "Colors")) .insert("use", "required") .insert("default", "0.7") .insert("help", "Upper hemisphere radiance")); metadata.push_back( Dictionary() .insert("name", "lower_hemi_radiance") .insert("label", "Lower Hemisphere Radiance") .insert("type", "colormap") .insert("entity_types", Dictionary().insert("color", "Colors")) .insert("use", "required") .insert("default", "0.3") .insert("help", "Lower hemisphere radiance")); return metadata; }
void IEDFFactory::add_common_input_metadata(DictionaryArray& metadata) { metadata.push_back( Dictionary() .insert("name", "cast_indirect_light") .insert("label", "Cast Indirect Light") .insert("type", "boolean") .insert("use", "optional") .insert("default", "true")); metadata.push_back( Dictionary() .insert("name", "importance_multiplier") .insert("label", "Importance Multiplier") .insert("type", "numeric") .insert("min_value", "0.0") .insert("max_value", "10.0") .insert("use", "optional") .insert("default", "1.0")); metadata.push_back( Dictionary() .insert("name", "light_near_start") .insert("label", "Light Near Start") .insert("type", "numeric") .insert("min_value", "0.0") .insert("max_value", "10.0") .insert("use", "optional") .insert("default", "0.0")); }
DictionaryArray ObjectInstanceFactory::get_input_metadata() { DictionaryArray metadata; metadata.push_back( Dictionary() .insert("name", "ray_bias_method") .insert("label", "Ray Bias Method") .insert("type", "enumeration") .insert("items", Dictionary() .insert("No Ray Bias", "none") .insert("Shift Along Surface Normal", "normal") .insert("Shift Along Incoming Direction", "incoming_direction") .insert("Shift Along Outgoing Direction", "outgoing_direction")) .insert("use", "optional") .insert("default", "none")); metadata.push_back( Dictionary() .insert("name", "ray_bias_distance") .insert("label", "Ray Bias Distance") .insert("type", "text") .insert("use", "optional") .insert("default", "0.0")); return metadata; }
DictionaryArray ConstantHemisphereEnvironmentEDFFactory::get_widget_definitions() const { DictionaryArray definitions; definitions.push_back( Dictionary() .insert("name", "upper_hemi_exitance") .insert("label", "Upper Hemisphere Exitance") .insert("widget", "entity_picker") .insert("entity_types", Dictionary().insert("color", "Colors")) .insert("use", "required") .insert("default", "")); definitions.push_back( Dictionary() .insert("name", "lower_hemi_exitance") .insert("label", "Lower Hemisphere Exitance") .insert("widget", "entity_picker") .insert("entity_types", Dictionary().insert("color", "Colors")) .insert("use", "required") .insert("default", "")); return definitions; }
DictionaryArray GradientEnvironmentEDFFactory::get_widget_definitions() const { DictionaryArray definitions; definitions.push_back( Dictionary() .insert("name", "horizon_exitance") .insert("label", "Horizon Exitance") .insert("widget", "entity_picker") .insert("entity_types", Dictionary() .insert("color", "Colors")) .insert("use", "required") .insert("default", "")); definitions.push_back( Dictionary() .insert("name", "zenith_exitance") .insert("label", "Zenith Exitance") .insert("widget", "entity_picker") .insert("entity_types", Dictionary() .insert("color", "Colors")) .insert("use", "required") .insert("default", "")); return definitions; }
DictionaryArray LambertianBRDFFactory::get_widget_definitions() const { DictionaryArray definitions; definitions.push_back( Dictionary() .insert("name", "reflectance") .insert("label", "Reflectance") .insert("widget", "entity_picker") .insert("entity_types", Dictionary() .insert("color", "Colors") .insert("texture_instance", "Textures")) .insert("use", "required") .insert("default", "")); definitions.push_back( Dictionary() .insert("name", "reflectance_multiplier") .insert("label", "Reflectance Multiplier") .insert("widget", "entity_picker") .insert("entity_types", Dictionary().insert("texture_instance", "Textures")) .insert("use", "optional") .insert("default", "1.0")); return definitions; }
DictionaryArray SheenBRDFFactory::get_input_metadata() const { DictionaryArray metadata; metadata.push_back( Dictionary() .insert("name", "reflectance") .insert("label", "Reflectance") .insert("type", "colormap") .insert("entity_types", Dictionary() .insert("color", "Colors") .insert("texture_instance", "Texture Instances")) .insert("use", "required") .insert("default", "0.5")); metadata.push_back( Dictionary() .insert("name", "reflectance_multiplier") .insert("label", "Reflectance Multiplier") .insert("type", "colormap") .insert("entity_types", Dictionary().insert("texture_instance", "Texture Instances")) .insert("use", "optional") .insert("default", "1.0")); return metadata; }
DictionaryArray ColorEntityFactory::get_input_metadata() { DictionaryArray metadata; metadata.push_back( Dictionary() .insert("name", "color_space") .insert("label", "Color Space") .insert("type", "enumeration") .insert("items", Dictionary() .insert("Linear RGB", "linear_rgb") .insert("sRGB", "srgb") .insert("CIE XYZ", "ciexyz") .insert("Spectral", "spectral")) .insert("use", "required") .insert("default", "srgb") /* .insert("on_change", "rebuild_form")*/); metadata.push_back( Dictionary() .insert("name", "wavelength_range") .insert("label", "Wavelength Range") .insert("type", "text") .insert("default", "400.0 700.0") .insert("use", "optional")); metadata.push_back( Dictionary() .insert("name", "color") .insert("label", "Color") .insert("type", "color") .insert("default", "0.0 0.0 0.0") .insert("use", "required")); metadata.push_back( Dictionary() .insert("name", "alpha") .insert("label", "Alpha") .insert("type", "numeric") .insert("min_value", "0.0") .insert("max_value", "1.0") .insert("default", "1.0") .insert("use", "optional")); metadata.push_back( Dictionary() .insert("name", "multiplier") .insert("label", "Multiplier") .insert("type", "numeric") .insert("min_value", "0.0") .insert("max_value", "10.0") .insert("default", "1.0") .insert("use", "optional")); return metadata; }
DictionaryArray ColorEntityFactory::get_widget_definitions() { DictionaryArray definitions; definitions.push_back( Dictionary() .insert("name", "color_space") .insert("label", "Color Space") .insert("widget", "dropdown_list") .insert("dropdown_items", Dictionary() .insert("Linear RGB", "linear_rgb") .insert("sRGB", "srgb") .insert("CIE XYZ", "ciexyz") .insert("Spectral", "spectral")) .insert("use", "required") .insert("default", "srgb") /* .insert("on_change", "rebuild_form")*/); definitions.push_back( Dictionary() .insert("name", "wavelength_range") .insert("label", "Wavelength Range") .insert("widget", "text_box") .insert("default", "400.0 700.0") .insert("use", "optional")); definitions.push_back( Dictionary() .insert("name", "color") .insert("label", "Color") .insert("widget", "color_picker") .insert("default", "0.0 0.0 0.0") .insert("use", "required")); definitions.push_back( Dictionary() .insert("name", "alpha") .insert("label", "Alpha") .insert("widget", "text_box") .insert("default", "1.0") .insert("use", "optional")); definitions.push_back( Dictionary() .insert("name", "multiplier") .insert("label", "Multiplier") .insert("widget", "text_box") .insert("default", "1.0") .insert("use", "optional")); return definitions; }
DictionaryArray DiagnosticSurfaceShaderFactory::get_input_metadata() const { Dictionary model_items; for (int i = 0; i < DiagnosticSurfaceShader::ShadingModeCount; ++i) { const char* shading_mode_value = DiagnosticSurfaceShader::ShadingModeNames[i].m_key; const char* shading_mode_name = DiagnosticSurfaceShader::ShadingModeNames[i].m_value; model_items.insert(shading_mode_name, shading_mode_value); } DictionaryArray metadata; metadata.push_back( Dictionary() .insert("name", "mode") .insert("label", "Mode") .insert("type", "enumeration") .insert("items", model_items) .insert("use", "required") .insert("default", "coverage") .insert("on_change", "rebuild_form")); return metadata; }
DictionaryArray FisheyeLensCameraFactory::get_input_metadata() const { DictionaryArray metadata = CameraFactory::get_input_metadata(); CameraFactory::add_film_metadata(metadata); CameraFactory::add_lens_metadata(metadata); CameraFactory::add_clipping_metadata(metadata); CameraFactory::add_shift_metadata(metadata); metadata.push_back( Dictionary() .insert("name", "projection_type") .insert("label", "Projection Type") .insert("type", "enumeration") .insert("items", Dictionary() .insert("Equisolid Angle", "equisolid_angle") .insert("Equidistant", "equidistant") .insert("Stereographic", "stereographic") .insert("Thoby", "thoby")) .insert("default", "equisolid_angle") .insert("use", "required")); return metadata; }
DictionaryArray ThinLensCameraFactory::get_widget_definitions() const { DictionaryArray definitions = CameraFactory::get_widget_definitions(); definitions.push_back( Dictionary() .insert("name", "f_stop") .insert("label", "F-number") .insert("widget", "text_box") .insert("use", "required") .insert("default", "8.0")); definitions.push_back( Dictionary() .insert("name", "focal_distance") .insert("label", "Focal Distance") .insert("widget", "text_box") .insert("use", "required") .insert("default", "1.0")); definitions.push_back( Dictionary() .insert("name", "autofocus_target") .insert("label", "Autofocus Target") .insert("widget", "text_box") .insert("use", "required")); definitions.push_back( Dictionary() .insert("name", "diaphragm_blades") .insert("label", "Diaphragm Blades") .insert("widget", "text_box") .insert("use", "required") .insert("default", "0")); definitions.push_back( Dictionary() .insert("name", "diaphragm_tilt_angle") .insert("label", "Diaphragm Tilt Angle") .insert("widget", "text_box") .insert("use", "required") .insert("default", "0.0")); return definitions; }
void ILightFactory::add_common_input_metadata(DictionaryArray& metadata) { metadata.push_back( Dictionary() .insert("name", "cast_indirect_light") .insert("label", "Cast Indirect Light") .insert("type", "boolean") .insert("use", "optional") .insert("default", "true")); metadata.push_back( Dictionary() .insert("name", "importance_multiplier") .insert("label", "Importance Multiplier") .insert("type", "text") .insert("use", "optional") .insert("default", "1.0")); }
DictionaryArray TextureInstanceFactory::get_input_metadata() { DictionaryArray metadata; metadata.push_back( Dictionary() .insert("name", "addressing_mode") .insert("label", "Addressing Mode") .insert("type", "enumeration") .insert("items", Dictionary() .insert("Clamp", "clamp") .insert("Wrap/Tile", "wrap")) .insert("use", "optional") .insert("default", "wrap")); metadata.push_back( Dictionary() .insert("name", "filtering_mode") .insert("label", "Filtering Mode") .insert("type", "enumeration") .insert("items", Dictionary() .insert("Nearest", "nearest") .insert("Bilinear", "bilinear")) .insert("use", "optional") .insert("default", "bilinear")); metadata.push_back( Dictionary() .insert("name", "alpha_mode") .insert("label", "Alpha Mode") .insert("type", "enumeration") .insert("items", Dictionary() .insert("Alpha Channel", "alpha_channel") .insert("Luminance", "luminance") .insert("Detect", "detect")) .insert("use", "optional") .insert("default", "alpha_channel")); return metadata; }
void IMaterialFactory::add_common_input_metadata(DictionaryArray& metadata) { metadata.push_back( Dictionary() .insert("name", "shade_alpha_cutouts") .insert("label", "Shade Alpha Cutouts") .insert("type", "boolean") .insert("use", "optional") .insert("default", "false")); metadata.push_back( Dictionary() .insert("name", "surface_shader") .insert("label", "Surface Shader") .insert("type", "entity") .insert("entity_types", Dictionary().insert("surface_shader", "Surface Shaders")) .insert("use", "optional")); }
DictionaryArray RenderLayerRuleFactory::get_input_metadata() { DictionaryArray metadata; metadata.push_back( Dictionary() .insert("name", "render_layer") .insert("label", "Render Layer") .insert("type", "text") .insert("use", "required")); metadata.push_back( Dictionary() .insert("name", "entity_type") .insert("label", "Entity Type") .insert("type", "enumeration") .insert("items", Dictionary() .insert("All", "") .insert("Assemblies", "assembly") .insert("Assembly Instances", "assembly_instance") .insert("EDFs", "edf") .insert("Environment EDFs", "environment_edf") .insert("Environment Shaders", "environment_shader") .insert("Lights", "light") .insert("Materials", "material") .insert("Objects", "object") .insert("Object Instances", "object_instance") .insert("Surface Shaders", "surface_shader")) .insert("default", "") .insert("use", "optional")); metadata.push_back( Dictionary() .insert("name", "order") .insert("label", "Order") .insert("type", "text") .insert("default", "1") .insert("use", "required")); return metadata; }
DictionaryArray CameraFactory::get_widget_definitions() { DictionaryArray definitions; definitions.push_back( Dictionary() .insert("name", "film_dimensions") .insert("label", "Film Dimensions") .insert("widget", "text_box") .insert("use", "required")); definitions.push_back( Dictionary() .insert("name", "film_width") .insert("label", "Film Width") .insert("widget", "text_box") .insert("use", "required")); definitions.push_back( Dictionary() .insert("name", "film_height") .insert("label", "Film Height") .insert("widget", "text_box") .insert("use", "required")); definitions.push_back( Dictionary() .insert("name", "focal_length") .insert("label", "Focal Length") .insert("widget", "text_box") .insert("use", "required")); definitions.push_back( Dictionary() .insert("name", "horizontal_fov") .insert("label", "Horizontal FOV") .insert("widget", "text_box") .insert("use", "required")); return definitions; }
DictionaryArray CameraFactory::get_input_metadata() { DictionaryArray metadata; metadata.push_back( Dictionary() .insert("name", "shutter_open_time") .insert("label", "Shutter Open Time") .insert("type", "text") .insert("use", "optional") .insert("default", "0.0")); metadata.push_back( Dictionary() .insert("name", "shutter_close_time") .insert("label", "Shutter Close Time") .insert("type", "text") .insert("use", "optional") .insert("default", "1.0")); return metadata; }
DictionaryArray EnvironmentFactory::get_widget_definitions() { DictionaryArray definitions; definitions.push_back( Dictionary() .insert("name", "environment_edf") .insert("label", "Environment EDF") .insert("widget", "entity_picker") .insert("entity_types", Dictionary().insert("environment_edf", "Environment EDFs")) .insert("use", "optional")); definitions.push_back( Dictionary() .insert("name", "environment_shader") .insert("label", "Environment Shader") .insert("widget", "entity_picker") .insert("entity_types", Dictionary().insert("environment_shader", "Environment Shaders")) .insert("use", "optional")); return definitions; }
DictionaryArray TextureInstanceFactory::get_widget_definitions() { DictionaryArray definitions; definitions.push_back( Dictionary() .insert("name", "addressing_mode") .insert("label", "Addressing Mode") .insert("widget", "dropdown_list") .insert("dropdown_items", Dictionary() .insert("Clamp", "clamp") .insert("Wrap/Tile", "wrap")) .insert("use", "required") .insert("default", "wrap")); definitions.push_back( Dictionary() .insert("name", "filtering_mode") .insert("label", "Filtering Mode") .insert("widget", "dropdown_list") .insert("dropdown_items", Dictionary() .insert("Nearest", "nearest") .insert("Bilinear", "bilinear")) .insert("use", "required") .insert("default", "bilinear")); definitions.push_back( Dictionary() .insert("name", "multiplier") .insert("label", "Multiplier") .insert("widget", "text_box") .insert("default", "1.0") .insert("use", "optional")); return definitions; }
DictionaryArray EnvironmentFactory::get_input_metadata() { DictionaryArray metadata; metadata.push_back( Dictionary() .insert("name", "environment_edf") .insert("label", "Environment EDF") .insert("type", "entity") .insert("entity_types", Dictionary().insert("environment_edf", "Environment EDFs")) .insert("use", "optional")); metadata.push_back( Dictionary() .insert("name", "environment_shader") .insert("label", "Environment Shader") .insert("type", "entity") .insert("entity_types", Dictionary().insert("environment_shader", "Environment Shaders")) .insert("use", "optional")); return metadata; }
DictionaryArray KelemenBRDFFactory::get_widget_definitions() const { DictionaryArray definitions; definitions.push_back( Dictionary() .insert("name", "matte_reflectance") .insert("label", "Matte Reflectance") .insert("widget", "entity_picker") .insert("entity_types", Dictionary() .insert("color", "Colors") .insert("texture_instance", "Textures")) .insert("use", "required") .insert("default", "")); definitions.push_back( Dictionary() .insert("name", "specular_reflectance") .insert("label", "Specular Reflectance") .insert("widget", "entity_picker") .insert("entity_types", Dictionary().insert("color", "Colors")) .insert("use", "required") .insert("default", "")); definitions.push_back( Dictionary() .insert("name", "roughness") .insert("label", "Roughness") .insert("widget", "text_box") .insert("use", "required") .insert("default", "0.5")); return definitions; }
FilterImageType::Pointer getImage(const FileNamesContainer &filenames, DictionaryArray &dictArray) { typedef itk::ImageSeriesReader< FilterImageType > ReaderType; ReaderType::Pointer reader = ReaderType::New(); ImageIOType::Pointer gdcmImageIO = ImageIOType::New(); reader->SetImageIO( gdcmImageIO ); reader->SetFileNames(filenames); reader->Update(); ReaderType::DictionaryArrayRawPointer dict; dict = reader->GetMetaDataDictionaryArray(); for( ReaderType::DictionaryArrayType::const_iterator it = dict->begin(); it != dict->end(); ++it) { dictArray.push_back( **it ); } return reader->GetOutput(); }
DictionaryArray PointLightFactory::get_widget_definitions() const { DictionaryArray definitions; definitions.push_back( Dictionary() .insert("name", "exitance") .insert("label", "Exitance") .insert("widget", "entity_picker") .insert("entity_types", Dictionary() .insert("color", "Colors")) .insert("use", "required") .insert("default", "")); return definitions; }
DictionaryArray MirrorBallMapEnvironmentEDFFactory::get_widget_definitions() const { DictionaryArray definitions; definitions.push_back( Dictionary() .insert("name", "exitance") .insert("label", "Exitance") .insert("widget", "entity_picker") .insert("entity_types", Dictionary() .insert("color", "Colors") .insert("texture_instance", "Textures")) .insert("use", "required") .insert("default", "")); return definitions; }
DictionaryArray SpecularBRDFFactory::get_widget_definitions() const { Dictionary entity_types; entity_types.insert("color", "Colors"); entity_types.insert("texture_instance", "Textures"); DictionaryArray definitions; { Dictionary widget; widget.insert("name", "reflectance"); widget.insert("label", "Reflectance"); widget.insert("widget", "entity_picker"); widget.insert("entity_types", entity_types); widget.insert("use", "required"); widget.insert("default", ""); definitions.push_back(widget); } return definitions; }
DictionaryArray SphereObjectFactory::get_input_metadata() const { DictionaryArray metadata; metadata.push_back( Dictionary() .insert("name", "radius") .insert("label", "Radius") .insert("type", "numeric") .insert("min", Dictionary() .insert("value", "0.0") .insert("type", "hard")) .insert("max", Dictionary() .insert("value", "10.0") .insert("type", "soft")) .insert("use", "optional") .insert("default", "1.0")); return metadata; }
DictionaryArray MaterialFactory::get_widget_definitions() { DictionaryArray definitions; definitions.push_back( Dictionary() .insert("name", "bsdf") .insert("label", "BSDF") .insert("widget", "entity_picker") .insert("entity_types", Dictionary().insert("bsdf", "BSDF")) .insert("use", "optional")); definitions.push_back( Dictionary() .insert("name", "edf") .insert("label", "EDF") .insert("widget", "entity_picker") .insert("entity_types", Dictionary().insert("edf", "EDF")) .insert("use", "optional")); definitions.push_back( Dictionary() .insert("name", "surface_shader") .insert("label", "Surface Shader") .insert("widget", "entity_picker") .insert("entity_types", Dictionary().insert("surface_shader", "Surface Shaders")) .insert("use", "required")); definitions.push_back( Dictionary() .insert("name", "alpha_map") .insert("label", "Alpha Map") .insert("widget", "entity_picker") .insert("entity_types", Dictionary().insert("texture_instance", "Textures")) .insert("use", "optional")); definitions.push_back( Dictionary() .insert("name", "displacement_map") .insert("label", "Displacement Map") .insert("widget", "entity_picker") .insert("entity_types", Dictionary().insert("texture_instance", "Textures")) .insert("use", "optional")); definitions.push_back( Dictionary() .insert("name", "displacement_method") .insert("label", "Displacement Method") .insert("widget", "dropdown_list") .insert("dropdown_items", Dictionary() .insert("Bump Mapping", "bump") .insert("Normal Mapping", "normal")) .insert("use", "required") .insert("default", "bump")); definitions.push_back( Dictionary() .insert("name", "bump_amplitude") .insert("label", "Bump Amplitude") .insert("widget", "text_box") .insert("default", "1.0") .insert("use", "optional")); return definitions; }
DictionaryArray DipoleBSSRDFFactory::get_input_metadata() const { DictionaryArray metadata; metadata.push_back( Dictionary() .insert("name", "weight") .insert("label", "Weight") .insert("type", "colormap") .insert("entity_types", Dictionary().insert("texture_instance", "Textures")) .insert("use", "optional") .insert("default", "1.0")); metadata.push_back( Dictionary() .insert("name", "reflectance") .insert("label", "Diffuse Surface Reflectance") .insert("type", "colormap") .insert("entity_types", Dictionary() .insert("color", "Colors") .insert("texture_instance", "Textures")) .insert("use", "required") .insert("default", "0.5")); metadata.push_back( Dictionary() .insert("name", "reflectance_multiplier") .insert("label", "Diffuse Surface Reflectance Multiplier") .insert("type", "colormap") .insert("entity_types", Dictionary().insert("texture_instance", "Textures")) .insert("use", "optional") .insert("default", "1.0")); metadata.push_back( Dictionary() .insert("name", "dmfp") .insert("label", "Diffuse Mean Free Path") .insert("type", "colormap") .insert("entity_types", Dictionary() .insert("color", "Colors") .insert("texture_instance", "Textures")) .insert("use", "required") .insert("default", "0.5")); metadata.push_back( Dictionary() .insert("name", "dmfp_multiplier") .insert("label", "Diffuse Mean Free Path Multiplier") .insert("type", "colormap") .insert("entity_types", Dictionary().insert("texture_instance", "Textures")) .insert("use", "optional") .insert("default", "1.0")); metadata.push_back( Dictionary() .insert("name", "ior") .insert("label", "Index of Refraction") .insert("type", "numeric") .insert("min_value", "1.0") .insert("max_value", "2.5") .insert("use", "required") .insert("default", "1.3")); return metadata; }
DictionaryArray DisneyBRDFFactory::get_input_metadata() const { DictionaryArray metadata; metadata.push_back( Dictionary() .insert("name", "base_color") .insert("label", "Base Color") .insert("type", "colormap") .insert("entity_types", Dictionary() .insert("color", "Colors") .insert("texture_instance", "Texture Instances")) .insert("use", "required") .insert("default", "0.9")); metadata.push_back( Dictionary() .insert("name", "subsurface") .insert("label", "Subsurface") .insert("type", "colormap") .insert("entity_types", Dictionary() .insert("color", "Colors") .insert("texture_instance", "Texture Instances")) .insert("use", "optional") .insert("default", "0.0")); metadata.push_back( Dictionary() .insert("name", "metallic") .insert("label", "Metallic") .insert("type", "colormap") .insert("entity_types", Dictionary() .insert("color", "Colors") .insert("texture_instance", "Texture Instances")) .insert("use", "optional") .insert("default", "0.0")); metadata.push_back( Dictionary() .insert("name", "specular") .insert("label", "Specular") .insert("type", "colormap") .insert("entity_types", Dictionary() .insert("color", "Colors") .insert("texture_instance", "Texture Instances")) .insert("use", "optional") .insert("default", "0.0")); metadata.push_back( Dictionary() .insert("name", "specular_tint") .insert("label", "Specular Tint") .insert("type", "colormap") .insert("entity_types", Dictionary() .insert("color", "Colors") .insert("texture_instance", "Texture Instances")) .insert("use", "optional") .insert("default", "0.0")); metadata.push_back( Dictionary() .insert("name", "anisotropic") .insert("label", "Anisotropic") .insert("type", "colormap") .insert("entity_types", Dictionary() .insert("color", "Colors") .insert("texture_instance", "Texture Instances")) .insert("use", "optional") .insert("default", "0.0")); metadata.push_back( Dictionary() .insert("name", "roughness") .insert("label", "Roughness") .insert("type", "colormap") .insert("entity_types", Dictionary() .insert("color", "Colors") .insert("texture_instance", "Texture Instances")) .insert("use", "optional") .insert("default", "0.1")); metadata.push_back( Dictionary() .insert("name", "sheen") .insert("label", "Sheen") .insert("type", "colormap") .insert("entity_types", Dictionary() .insert("color", "Colors") .insert("texture_instance", "Texture Instances")) .insert("use", "optional") .insert("default", "0.0")); metadata.push_back( Dictionary() .insert("name", "sheen_tint") .insert("label", "Sheen Tint") .insert("type", "colormap") .insert("entity_types", Dictionary() .insert("color", "Colors") .insert("texture_instance", "Texture Instances")) .insert("use", "optional") .insert("default", "0.0")); metadata.push_back( Dictionary() .insert("name", "clearcoat") .insert("label", "Clearcoat") .insert("type", "colormap") .insert("entity_types", Dictionary() .insert("color", "Colors") .insert("texture_instance", "Texture Instances")) .insert("use", "optional") .insert("default", "0.0")); metadata.push_back( Dictionary() .insert("name", "clearcoat_gloss") .insert("label", "Clearcoat Gloss") .insert("type", "colormap") .insert("entity_types", Dictionary() .insert("color", "Colors") .insert("texture_instance", "Texture Instances")) .insert("use", "optional") .insert("default", "1.0")); return metadata; }