mdl 1.0;

/*
bump_file_texture = ['Images\\textures\\plastic\\composite\\carbon fiber inlay unidirectional.jpg']
mtl_ior = ['1', ',']
blurryReflections = ['off', ',']
sw_shader = ['carbonfiberinlayunidirectional']
doubleSided = ['on', ',']
displacementDistance = ['0.001', ',']
specular_color = ['1', '1', '1', ',']
DefaultShininess = [u'0.5']
luminousIntensity = ['0', ',']
reflectivity = ['0.05', ',']
roughness = ['0.5', ',']
diffMapName = [u'diffuse/cf_inlay_unidirectional.dds']
TextureScale = [u'0.375']
col1 = ['1', '1', '1', ',']
color_texname = ['Images\\textures\\plastic\\composite\\carbon fiber inlay unidirectional.jpg']
refractionRoughness = ['0', ',']
bumpTexture = ['', ',']
specular_factor = ['1', ',']
bumpStrength = ['0.001', ',']
diffuse_factor = ['1', ',']
DefaultSpecular = [u'1.0']
reflectModifier = [u'0.05']
num_cols = ['0', ',']
transparency = ['0', ',']
bumpIsNormalMap = ['on', ',']
*/

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

export material carbon_fiber_inlay_unidirectional_2d(
    uniform float texture_scale= 0.375,
    uniform color base_color= color(1,1,1),
    uniform float diffuse_factor= 1,
    uniform bool enable_diffuse_map= true,
    uniform texture_2d diffuse_texture= texture_2d("Images/textures/plastic/composite/carbon fiber inlay unidirectional.jpg"),
    uniform bool enable_bump_map= true,
    uniform texture_2d bump_texture= texture_2d("Images/textures/plastic/composite/carbon fiber inlay unidirectional.jpg"),
    uniform float bump_strength= 0.001,
    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= 0.5,
    uniform bool is_metal= false,
    uniform float transparency= 0,
    uniform color transparency_color= color(1,1,1),
    uniform bool enable_blurry_reflections= false,
    uniform float mtl_ior= 1,
    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
);
