mdl 1.0;

/*
specular_factor = ['0.8', ',']
specular_color = ['1', '1', '1', ',']
illum = ['model_3.p2a']
matColor = [u'0.4,0.4,0.4,1.0']
DefaultShininess = [u'0.5']
diffuse_factor = ['0.8', ',']
DefaultSpecular = [u'0.3']
reflectivity = ['0.05', ',']
col1 = ['0.296875', '0.296875', '0.296875', ',']
num_cols = ['1', ',']
transparency = ['0', ',']
sw_shader = ['darkgreymediumglossplastic']
reflectModifier = [u'0.05']
*/

import solidworks::solidworks::*;
import anno::*;
import base::*;

export material dark_grey_medium_gloss_plastic(
    uniform float texture_scale= 1.0,
    uniform color base_color= color(0.296875,0.296875,0.296875),
    uniform float diffuse_factor= 0.8,
    uniform bool enable_diffuse_map= false,
    uniform texture_2d diffuse_texture= texture_2d(),
    uniform bool enable_bump_map= false,
    uniform texture_2d bump_texture= texture_2d(),
    uniform float bump_strength= 1.0,
    uniform bool bump_is_normal_map= false,
    uniform color specular_color= color(1,1,1),
    uniform float reflectivity= 0.05 [[  anno::unused() ]],
    uniform float roughness= 1.0,
    uniform bool is_metal= false,
    uniform float transparency= 0,
    uniform color transparency_color= color(0.296875,0.296875,0.296875),
    uniform bool enable_blurry_reflections= false,
    uniform float mtl_ior= 1.0,
    uniform bool  use_projector = false,
    uniform base::texture_coordinate_system coordinate_system = base::texture_coordinate_object,
    uniform int texture_space = 0,
    uniform base::projection_mode projection_type = base::projection_planar,
    uniform float4x4 projection_transform = float4x4(1.0) )
= let {
    uniform float override_reflectivity = 1.0;
    uniform float override_roughness = roughness * 1.0;
    uniform float override_ior = mtl_ior != 1.0?mtl_ior: 1.5 ;
} in solidworks::solidworks::solidworks(
    texture_scale: texture_scale,
    base_color: base_color,
    diffuse_factor: diffuse_factor,
    enable_diffuse_map: enable_diffuse_map,
    diffuse_texture: diffuse_texture,
    enable_bump_map: enable_bump_map,
    bump_texture: bump_texture,
    bump_strength: bump_strength,
    bump_is_normal_map: bump_is_normal_map,
    specular_color: specular_color,
    reflectivity: override_reflectivity,
    roughness: override_roughness,
    is_metal: is_metal,
    transparency: transparency,
    transparency_color: transparency_color,
    enable_blurry_reflections: enable_blurry_reflections,
    mtl_ior: override_ior,
    use_projector: use_projector,
    coordinate_system: coordinate_system,
    texture_space: texture_space,
    projection_type: projection_type,
    projection_transform: projection_transform
);
