OpenArena Message Boards

id Tech 3 => Engine => Topic started by: fromhell on April 30, 2009, 02:00:18 AM



Title: GLSL map specific color correction
Post by: fromhell on April 30, 2009, 02:00:18 AM
UT3 has a neat color correction shader which alters the colors of the 3d viewport without affecting anything else, to set the atmosphere of the map. OA could have a similar feature through GLSL or so:

- reads maps/mapname.col file
- in the col file is 3 values
R G B S
red, green, blue, saturation
255 255 255 255

so like

276 255 220 215

would make a 'hot' level

102 177 280 160

would make a 'cold' level

Good idea?


Title: Re: GLSL map specific color correction
Post by: cosmo on April 30, 2009, 04:04:28 AM
Sounds neat.

What about dynamic changing during play?


Title: Re: GLSL map specific color correction
Post by: Neon_Knight on April 30, 2009, 07:02:10 AM
And how you set the areas which needs that colour in particular? I remember playing DM-Gateway (I had the idea to mix 3 OA maps through teleporters thanks to this map) and passing from a very white-fog cold section, to a green-fog and natural one, and then to a necrified-city-themed one.

Or you'll be applying that colour to any area of the map?


Title: Re: GLSL map specific color correction
Post by: andrewj on April 30, 2009, 07:13:03 AM
Using GLSL shaders would really up the min-spec of OA.

I can think of various possible ways of achieving the same effect without per-pixel shaders:

(1) in the engine, replace any "rgbGen identity" in any shader with "rgbGen const ( R G B )".  Very easy to implement, but pretty primitive.

(2) a post-processing pass on loaded map textures and model skins.

(3) a post-processing pass on lightmaps and the light grid.