Halo from environment map

The radeon8500 must have the blend subtract equation! Surely?

Nutty, sorry for misunderstanding the stippling effect - I understand now.

Surely it depends if quake3 uses blend subtract =)

The latest 8500 drivers do have GL_EXT_blend_subtract in the extension string. But that might not be saying much.

Me too, got that error message. However, it’s on an year-old 8MB S3-card, so that’s not so strange. However, I think it suggests that there’s something else going on here…

I havent tested it, but i think this could emulate blend_subtract:

draw data with Blend(1, 1)

and reverse_subtract:
draw inverted data with Blend(1, 1)

where InvertFB = draw white quad with Blend(1-DST_COLOR, 0)

The code was extremly quick n dirty, cut n pasted from another app. I’ll make sure it’s initializing that extension properly tonight… Though I’m pretty sure it is.


I can’t run your demo Nutty.
It only draws blank window and then it freeze.


What drivers are you using? It should run fine on GF2.

Have you not got a support hotline, Nutty?

detonator XP/2000

all other GL apps run fine.


Are you sure you extracted it okay… sounds like it’s not loading the model file or something… and no I aint checking for that…

daveperman says it runs on his gf2mx, so you must be doing something wrong.

That’ll be 50 pence please!


P.S. Wait for the next version it will have better error checking in.

[This message has been edited by Nutty (edited 04-11-2002).]

Lucky, just write yourself a little test app that shows the effect - it’s not that complicated - read the document I linked to.
I’ve just finished writing one myself, similar to Nutty’s, but I’ve no web space to upload it to at the moment - sorry.
Nutty’s a busy person… give him a break

I’ve tried his (and my) app on 2 computers so far:-
Windows2000 + Dual PIII 733mhz with geforce2gts
WindowsXP + Athlon1.3ghz + geforce3ti500

It works fine on both systems.

For anyone messing around with this, here’s an idea:

Just do this effect on specular and ambient terms of your shading model, and then average the effect over previous frames.

I’ll try it.

If you average it over previous frames you’ll get blur when the camera moves - I don’t like that effect, it’s pretty unnatural, unless you’re watching a drug sequence in Easy Rider, or something.

I like the idea of just rendering the specular term, though - but that adds a pass to the render.

I saw on an TV advert for Project Gotham racing that the cars headlights left a halo-trail, as they flew past. So to avoid the stoned effect you’d turn that effect on/off per surface.

Or you could just put a slow LCD screen as a system requirement for your game…

does not need additional pass for specular only.
so how?

calculate your color. add your specular. if it is bigger than one, take the part bigger than one and store it in the screenalpha. (yes its not rgb anymore)

use this rgba-texture for the blurring. the alpha tells how visible the stuff is, and the color wich stuff. that way you should get it working quite easy.

nutty. its permEn, not permAn…
at least you should know my name (but i learned that you don’t today )

Has anyone got/found any demos for the the GDC presentation on light scattering in realtime? ( http://www.ati.com/developer/gdc/GDC02_HoffmanPreetham.pdf )

Soz dave,

Yeah about the previous frame thing. I was gonna say that yesterday, cos I thought of it after I did that quick demo. I thought it would be pretty cool to have a glow trail on fast moving lights.

About the “Just do it on specular terms”. This is a fullscene process, it’s not possible to distinguish the difference beteen whats specular, and whats just bright. Although I am adding in controls to adjust the brightness to recieve glow tolerance. Crancking this right up, would reduce the glow to only very bright stuff.

Currently that demo had no-lighting in what-so-ever, so thats why it did it all over the shop. Adding some diffuse and specular in would make it alot nicer.

I wish dave would hurry up and tell us how to do brightness greater than 1, instead of just telling me to use it all the time. Please discuss how you do this in this thread. Ta.


P.S. B4 you flame me, I just realised you can do this on just specular and ambient only. Might actually work out faster, with no textures n stuff.

But, the game in question did it on bright parts of environment maps, if I understood correctly, and I was trying to simulate that.

There are many different things you could tweak, and change, and fiddle with, and get a whole host of different effects.

[This message has been edited by Nutty (edited 04-12-2002).]