DirectX only at the moment, OGL is not working!
The example is just a simple image, you could use this to blur a render of the whole screen for super glow effects.
Loosly based on : http://www.gamasutra.com/features/20040526/james_01.shtml
Zero Bloom Passes (not really bloom but it looks nice)

One Bloom Pass

The example is just a simple image, you could use this to blur a render of the whole screen for super glow effects.
Loosly based on : http://www.gamasutra.com/features/20040526/james_01.shtml
Zero Bloom Passes (not really bloom but it looks nice)

One Bloom Pass

Strict Import Indiepath.Render2Texture ' Inspired by sswifts accelerated blur function ' Copyright Indiepath 2006 ' Written by Tim Fisher. DebugLog "MOD_Bloom.bmx" Function BlurImage:TImage(image:TImage,Quality:Int=1,Radius:Float=1,Passes:Int=1) Local Angle_Step:Float = 360.0 / Float(Quality * 4) Local Angle:Float Local xOff:Float Local yOff:Float SetBlend(ALPHABLEND) SetAlpha(1) Local temp:TImage = tRender.Create(image.width,image.height,image.flags) tRender.TextureRender_Begin(temp,False) tRender.Cls($00000000) DrawImage(image,0,0) SetAlpha(0.5) For Local loop:Int = 0 To (Quality * 4) - 1 Angle = Angle_Step * Float(loop) + 180.0 * Float(loop Mod 2) xOff = Radius * Cos(Angle) yOff = Radius * Sin(Angle) DrawImage(temp,xOff,yOff) Next PrimaryDevice.device.SetRenderState D3DRS_ALPHATESTENABLE,False PrimaryDevice.device.SetRenderState( D3DRS_ALPHABLENDENABLE, True ); PrimaryDevice.device.SetRenderState( D3DRS_SRCBLEND, D3DBLEND_ONE ); PrimaryDevice.device.SetRenderState( D3DRS_DESTBLEND, D3DBLEND_ONE ); For Local loop:Int = 1 To Passes DrawImage temp,0,0 Next tRender.TextureRender_End() image = Null SetBlend(ALPHABLEND) Return temp End Function
Strict Import "MOD_Bloom.bmx" Graphics 640,480,0 tRender.Initialise() Local logo:Timage = LoadImage("bmax160_2.png",FILTEREDIMAGE|MIPMAPPEDIMAGE) Local Quality = 10 Local Radius = 4 Local Passes = 0 logo = BlurImage(logo,Quality,Radius,Passes) tRender.BackBufferRender_Begin() tRender.Cls($FF000000) DrawImage logo,200,130 tRender.BackBUfferRender_End() Flip WaitKey()