vertex_program diffuse_vs cg { source demos/scene3d/programs/general.cg profiles vs_1_1 arbvp1 entry_point diffuse_vs default_params { param_named_auto wMat world_matrix param_named_auto wvpMat worldviewproj_matrix param_named_auto tvpMat texture_viewproj_matrix 0 param_named_auto spotlightDir light_direction_object_space 0 } } vertex_program ambient_vs cg { source demos/scene3d/programs/general.cg profiles vs_1_1 arbvp1 entry_point ambient_vs default_params { param_named_auto wvpMat worldviewproj_matrix } } fragment_program ambient_ps cg { source demos/scene3d/programs/general.cg profiles ps_2_0 arbfp1 entry_point ambient_ps default_params { param_named_auto ambient ambient_light_colour param_named_auto matDif surface_diffuse_colour } } fragment_program diffuse_ps cg { source demos/scene3d/programs/general.cg profiles ps_2_x arbfp1 entry_point diffuse_ps default_params { param_named_auto lightDif0 light_diffuse_colour 0 param_named_auto lightSpec0 light_specular_colour 0 param_named_auto camPos camera_position param_named_auto matShininess surface_shininess param_named_auto matDif surface_diffuse_colour param_named_auto matSpec surface_specular_colour param_named_auto lightPos0 light_position 0 param_named_auto lightAtt0 light_attenuation 0 param_named_auto iTWMat inverse_transpose_world_matrix param_named_auto spotlightParams spotlight_params 0 } }