vertex_program MetalLightPassVS hlsl { source demos/car_showroom/programs/metal.hlsl entry_point v target vs_2_0 default_params { param_named_auto wvp worldviewproj_matrix param_named_auto worldIT inverse_transpose_world_matrix param_named_auto eyePosition camera_position param_named_auto lightPosition0 light_position 0 } } fragment_program MetalLightPassPS hlsl { source demos/car_showroom/programs/metal.hlsl entry_point f target ps_2_0 } vertex_program MetalLightPassVS_3lights hlsl { source demos/car_showroom/programs/metal.hlsl entry_point v3 target vs_2_0 default_params { param_named_auto wvp worldviewproj_matrix param_named_auto worldIT inverse_transpose_world_matrix param_named_auto eyePosition camera_position param_named_auto lightPosition0 light_position 0 param_named_auto lightPosition1 light_position 1 param_named_auto lightPosition2 light_position 2 } } fragment_program MetalLightPassPS_3lights hlsl { source demos/car_showroom/programs/metal.hlsl entry_point f3 target ps_3_0 } vertex_program MetalLightPassVS_2lights hlsl { source demos/car_showroom/programs/metal.hlsl entry_point v2 target vs_2_0 default_params { param_named_auto wvp worldviewproj_matrix param_named_auto worldIT inverse_transpose_world_matrix param_named_auto eyePosition camera_position param_named_auto lightPosition0 light_position 0 param_named_auto lightPosition1 light_position 1 } } fragment_program MetalLightPassPS_2lights hlsl { source demos/car_showroom/programs/metal.hlsl entry_point f2 target ps_2_0 } vertex_program MetalAmbPassVS hlsl { source demos/car_showroom/programs/metal.hlsl entry_point av target vs_2_0 default_params { param_named_auto wvp worldviewproj_matrix param_named_auto worldIT inverse_transpose_world_matrix param_named_auto eyePosition camera_position } } fragment_program MetalAmbPassPS hlsl { source demos/car_showroom/programs/metal.hlsl entry_point af target ps_2_0 default_params { param_named_auto ambColor ambient_light_colour param_named envBlendFactor float 3.0 } }