material openmw_objects_base
{
    diffuse 1.0 1.0 1.0 1.0
    specular 0 0 0 0
    ambient 1.0 1.0 1.0
    emissive 0.0 0.0 0.0
    vertmode 0
    diffuseMap black.png
    normalMap
    emissiveMap
    use_emissive_map false
    use_detail_map false
    emissiveMapUVSet 0
    detailMapUVSet 0

    scene_blend default
    depth_write default
    depth_check default
    alpha_rejection default
    transparent_sorting default
    polygon_mode default

    pass
    {
        vertex_program openmw_objects_vertex
        fragment_program openmw_objects_fragment

        shader_properties
        {
            vertexcolor_mode $vertmode
            normalMap $normalMap
            emissiveMapUVSet $emissiveMapUVSet
            detailMapUVSet $detailMapUVSet
            emissiveMap $emissiveMap
            detailMap $detailMap
        }

        diffuse $diffuse
        specular $specular
        ambient $ambient
        emissive $emissive
        scene_blend $scene_blend
        alpha_rejection $alpha_rejection
        depth_write $depth_write
        depth_check $depth_check
        transparent_sorting $transparent_sorting
        polygon_mode $polygon_mode

        texture_unit diffuseMap
        {
            direct_texture $diffuseMap
            create_in_ffp true
            tex_coord_set $emissiveMapUVSet
        }

        texture_unit normalMap
        {
            direct_texture $normalMap
            // force automips here for now
            num_mipmaps 4
        }

        texture_unit emissiveMap
        {
            create_in_ffp $use_emissive_map
            colour_op add
            direct_texture $emissiveMap
            tex_coord_set $emissiveMapUVSet
        }

        texture_unit detailMap
        {
            create_in_ffp $use_detail_map
            colour_op_ex modulate_x2 src_current src_texture
            direct_texture $detailMap
            tex_coord_set $detailMapUVSet
        }
      
        texture_unit shadowMap0
        {
            content_type shadow
            tex_address_mode clamp
            filtering none
        }
        texture_unit shadowMap1
        {
            content_type shadow
            tex_address_mode clamp
            filtering none
        }
        texture_unit shadowMap2
        {
            content_type shadow
            tex_address_mode clamp
            filtering none
        }
    }
}