Hi all,
I just finished wathching the PS3 presentation and I'm truly impressed. I was a bit dissapointed by the new generation when I first saw all the xbox 360 stuff, but the PS3 gave me new hope. Anyways, it seems that HDRI lighting is becoming very important in the coming generation of computer games. Rightfully so, I might add, because HDRI is one of the best and 'cheapest' lighting methods I can think of. The ps3 presentation made me remember an idea I had some time ago. I don't know how real HDRI could be implemented in 3DGS(I know how HDRI works, but only in render engines), but I do have an idea for a sort of fake HDRI, that should be relatively easy to implement in 3DGS.
My idea was to convert a HDRI map to a standard six panel cube HDRI map. You could also use 3DGS to make that cube map, by making a standard cubemap(the 6x 90 degrees screenshots technique) and then bring it in photoshop to make it useable as a HDRI map. (If we're going to develop this type of HDRI for 3DGS, I'll make a short tutorial for making the map.)
So, when you've got your HDRI cube map ready, you'd have code the shader. Basically it could work as a normal environment reflection shader(as in the wiki and templates) with a couple of alterations. Instead of simply blending the two textures(skin and reflection) the normal way, it should be blended like using the 'soft light' blend option in photoshop. All colours under RGB 128,128,128 should should darken the skin and all above should lighten. Furthermore, the colour of the 'reflection map' should be multiplied with the colour of the skin.
This is the basic principle that should work for a lot of situations. There are two things that could be added:
- the glow shader(from the shader forum) using Matt's renderview Dll. A soft bloom would help the effect tremendously.
- Realtime environment mapping, also using Matt's renderview Dll and the realtime environment mapping script made by... Matt, Ventilator or Steempipe? This way you could have realtime HDRI.
Were you to add these last two effects to the shader, you would have a true HDRI lighting system. I do think it would make the effect a bit heavy to handle, but on the other hand, you could remove dynamic lights(just use shadowmaps) and you don't need to use it on all entities(for example, you could just use it for the player).
I'm posting this idea, because I think it could be a great shader and a great addition to 3DGS, and I myself have no experience whatsoever with shaderprogramming.
So what do you think?
BTW. I'm not really a 'guest'. I have been working with 3DGS for four years now, I just lost all my login info.
Last edited by voodoofactory1; 05/18/05 09:26.