Quote:Original post by MickeyMouse Ouch, it should be laggy... This char* pixelData = new char[512 * 512 * 3]; should be done only once, at initialization time.
Ahhh, ok, thanks that well help alot(it was killing my computer speed, even after i exited the program) Thanks for all the help, everyone. i should be fine now...i hope
1.- render scene to a buffer A(pbuffer or fbo) the same size of the screen 2.- draw with texture A to another small pbuffer or fbo (insta-blur, low quality) 3.- OPTIONAL: apply blur kernel pixel shader on small buffer B(improves quality) 4.- disable shaders, disable light, etc 5.- draw fullscreen quad with texture A 6.- set additive blending 7.- set scale & bias to adjust texture contrast 8.- draw fullscreen quad with texture B
scale & bias with GLPixelTransfer: http://www.mevis.de/~uwe/opengl/glPixelTransfer.html
Only step 3 involves a shader and it's optional, so this should be fast. pbuffer/fbo overhead is inevitable, all techniques I know of require at least one of these. Also, scene is only fully rendered once.
The effect's name is BLOOM, in case you still need to google =)
@javacooldude: can you let me know how you made those nice flame particle textures? Also are they animated or do you just have static textured billboards? The programmer that I am, I can never make particles any more sophisticated than some perlin noise or some kind of gaussian splat.