// declare the vertex shader (CG for the language) vertex_program shadow_caster_vs cg { // source file source shadow_caster.cg // will run on vertex shader 1.1+ profiles vs_1_1 arbvp1 // entry function entry_point shadow_caster_vs default_params { // pMat == projection matrix param_named_auto pMat projection_matrix // wvMat == world * view matrix param_named_auto wvMat worldview_matrix } } // declare the fragment shader (CG for the language) fragment_program shadow_caster_ps cg { // source file source shadow_caster.cg // will run on pixel shader 2.0 and up profiles ps_2_0 arbfp1 // entry function entry_point shadow_caster_ps default_params { // light's range == camera far clip param_named_auto far far_clip_distance } }