void blur(u8 start,u8 end,bool averaging,video::ITexture* inTexture,video::ITexture* outTexture) { for (int i=0;i<4;++i) { blurPipeUnits[i]=start-i; } for (int i=start;i>end-1;--i) { if (i==start) PostprocessorNode->setMaterialTexture(0, inTexture); else PostprocessorNode->setMaterialTexture(0, blurpipe[i+1]); driver->setRenderTarget(blurpipe[i], true, true, video::SColor(0,0,0,0)); PostprocessorNode->setMaterialType((video::E_MATERIAL_TYPE)shrink); PostprocessorNode->render(); } PostprocessorNode->setMaterialTexture(0, blurpipe[blurPipeUnits[0]]); PostprocessorNode->setMaterialTexture(1, blurpipe[blurPipeUnits[1]]); PostprocessorNode->setMaterialTexture(2, blurpipe[blurPipeUnits[2]]); PostprocessorNode->setMaterialTexture(3, blurpipe[blurPipeUnits[3]]); driver->setRenderTarget(0/*outTexture, true, true, video::SColor(0,0,0,0)*/); PostprocessorNode->setMaterialType((video::E_MATERIAL_TYPE)blurcombine); PostprocessorNode->render(); }