function normal(shader, t_base, t_second, t_detail) shader:begin("particle", "particle_add") :sorting(3, false) :blend(true, blend.one, blend.one) :aref(false, 0) :zb(true, false) :fog(false) :distort(true) -- shader:sampler ("s_base") :texture (t_base) -- shader:sampler ("s_position") :texture ("$user$position") shader:dx10texture("s_base", t_base) shader:dx10texture("s_position", "$user$position") shader:dx10sampler("smp_base") shader:dx10sampler("smp_nofilter") end function l_special(shader, t_base, t_second, t_detail) shader:begin("particle", "particle_distort") :sorting(3, false) :blend(true, blend.srcalpha, blend.invsrcalpha) :zb(true, false) :fog(false) :distort(true) -- shader:sampler ("s_base") :texture (t_base) -- shader:sampler ("s_distort") :texture (t_second) -- "pfx\\pfx_distortion" -- shader:sampler ("s_position") :texture ("$user$position") shader:dx10texture("s_base", t_base) shader:dx10texture("s_distort", t_second) -- "pfx\\pfx_distortion" shader:dx10texture("s_position", "$user$position") shader:dx10sampler("smp_base") shader:dx10sampler("smp_linear") shader:dx10sampler("smp_nofilter") end