fragment_program GTP/Station/Large_Depth_Illum_PS hlsl { source Station_HPS.hlsl entry_point HPS_Large_Depth_Illum_PS target ps_3_0 } material GTP/Station/Smoke_L_Depth_Illum { technique { pass { IllumTechniques { RenderTechnique HPS { particle_script GTP/Station/Smoke_Little perspective false vparam_radius baseRadius update_interval 1 } RenderTechnique SphericalBillboard { texture_unit_id 1 } RenderTechnique IllumVolume { material GTP/Station/Smoke_IllumVolume update_interval 1 texture_unit_id 2 resolution 128 lightmatrix_param_name lightViewProj } } depth_check off depth_write off scene_blend alpha_blend vertex_program_ref GTP/HPS/Large_Depth_Illum_VS { param_named_auto worldView worldview_matrix param_named_auto worldViewInv inverse_worldview_matrix param_named_auto Proj projection_matrix param_named_auto width viewport_width param_named_auto height viewport_height param_named baseRadius float 1 } fragment_program_ref GTP/Station/Large_Depth_Illum_PS { param_named_auto nearplane near_clip_distance } //impostor texture texture_unit { //filtering none } //scene depth texture texture_unit { filtering none } //Ilumination volume texture_unit { //filtering none } } } } material GTP/Station/Smoke_IllumVolume { technique { pass { cull_hardware none cull_software none lighting off scene_blend zero one_minus_src_colour depth_write off vertex_program_ref GTP/HPS/IllumVolume_VS { param_named_auto worldView worldview_matrix param_named_auto Proj projection_matrix } fragment_program_ref GTP/HPS/IllumVolume_PS { //param_named density float 0.005 param_named density float 0.1 } texture_unit { texture pamacs.dds } } } }