compositor GameTools/Glow { technique { texture scene target_width target_height PF_FLOAT16_RGBA texture cut 256 256 PF_FLOAT16_RGBA texture rt0 256 256 PF_FLOAT16_RGBA texture rt1 256 256 PF_FLOAT16_RGBA texture prev 256 256 PF_FLOAT16_RGBA target prev { input none only_initial on pass render_quad { material GameTools/PostProcBlack } } target scene { // Render output from previous compositor (or original scene) input previous } target cut { input none pass render_quad { material GameTools/GlowCut input 0 scene input 1 prev } } target rt0 { input none pass render_quad { material GameTools/GlowBlurV input 0 cut } } target rt1 { input none pass render_quad { material GameTools/GlowBlurH input 0 rt0 } } target prev { input none pass render_quad { material GameTools/TextureCopy input 0 rt1 } } target_output { input none pass render_quad { material GameTools/GlowAdd input 0 scene input 1 rt1 } } } }