FS Glow

have You seen a demo from www.theproduct.de ? It’s really amazing. (There are 4 demos, 3 in 64kb (they are really long, have many textures and so on (program will take 200 mb of ram during playing) and 1 in 8 mb).
In the biggest demo (8mb) there is a Full Screen Glow Effect.
Does anybody have an idea how to implement something like this?

render your scene to texture with all objects colored by black and the glowing object colored by it’s glowing color, then blur the picture(could be done multiple times), and at last render quad, that will cover screen with blending enabled, and applied with generated texture…

No… because it’s Full Screen Glow. Everything is shining. Glow of thing that are darker is smaller that thing that are brighter (something like radius of the blur - darker have smaller radius of blur), but everything shines… That’s the problem.

i do not understand what you mean in “…Full Screen Glow. Everything is shining…”
everything is shinging? then draw all objects to texture with glow-color, blur and…


“…something like radius of the blur - darker have smaller radius of blur…”
then you could draw each object on different textures, changing blur parameters…

i am not able to check the demo, becaouse of my dial-up connection. could you send me screenshot of that effect? (not big much, and packed…)( gvm@nm.ru )

My mail doesn’t work
There is this screen: http://www.czacki.edu.pl/~tweety/scoolpage/sphere1.JPG

Yes I can do it by rendering each object into separate textures, but it will
take too much time to render whole scene.

This screen shows what I am talking about.
Look - the lighter pixels are shining more than the darker ones.
This is normal GLOW effect in postproduction of movies. In Combustion (great
program to make a movie, to add some effects and so on) there is such effect
and it take a milisecond to add GLOW effect, so I think that it’s is
possible to use that effect in Real-Time.

It’s makes movies … more real

i don’t think it will be slow…
you can render to small-size texture, and i think you can render the scene once to texture with blurring it once… just pixels that aren’t glow much are darker, and pixels that glow very lightly are lighter…

i’m shure that the scene one picture is rendered twice:

  1. rendering the sphere with lighting
  2. (to texture) render sphere “glow-colored” and blurred, and draw screen-quad…

You don’t have to draw your glow texture at full screen resolution, you don’t have to render everything to the glow texture. Yes it tends to slow you down. Try copytexsubimage ve render to texture & pick the fastest.

Now I found another problem… my blur is slow. I blur 256x256 image every frame with blur radius about 10 and I have 15 FPS Do You know how to do very fast blur?

if you will not draw all objects the effect will be different…
what if glowing object partly closed by other objects, but still visible?
2Bobo.Bobo: I don’t know, but I want to know too!

[This message has been edited by gvm (edited 08-10-2003).]


Very fast blur would generating mipmaps and using a lower level mipmap to draw the fullscreen quad. It’s not as bad as it might appear, because the lower levels get well antialiased, but still… Let’s say you get what you pay for.

A relatively fast way to do better blur is described in this paper: http://developer.nvidia.com/docs/io/4000/D3DTutorial_EffectsNV.pdf