this is pretty fancy. crytek has some AO maps, but i havent seen anyone really do bounce lighting stuff realtime, dosent seem that expensive either from what little info on it they have.
the last clip with the illuminated club looks fantastic. I think some better examples could be used for materials and such, rather than that rhino. but looks nice for realtime.
The examples don't really show it off well i think, allthough it's making me very excited about its use in cartoony games, rather than hyper-realistic, It might be perfect for subtle lighting in cartoony stuff.
yeah i think it will be abit expensive for most games for a while, if this gen consoles can do it, then id expect thigs like the sims to use it, but not most games.
i too was excited by the prospect but not by the videos, think it was the art rather than the tech
There is one way to do this for deformable meshes... I wonder if this is what they're doing?
Generate some low-res cubemaps at various positions in the scene, then give each one a volume it can affect. Project these cubes onto the model, so as the model moves through the scene, it transitions from cube to cube.
Next, preprocess your models so that at each skeleton pose the vertex normals are perturbed. The normals can be shortened so they get less light from the cubemap, making pits darker than peaks. All the normals point into the cubemaps, so the mesh receives that portion of the cube. But if they're short (not normalized to a length of 1), then you get darker areas.
So... when a character lowers its arm, the normals in the armpit and along the side of the body get shorter, and you get something approaching the look of AO.
Anyhow, one way to do it.
Edit: Forgot to mention that you can do this with your normalmaps too, multiply an AO map onto them, which shortens the normals wherever the pits are. This gives you a static AO solution, but at least the armpits always stay dark. Kind of a cool trick, assuming though that your engine's shader doesn't enforce/require normalized maps.
i dont think thats how theyre doing it here, or would you be able to use that with a moving object (glowing club).
also would you be able to acheive shadows (ie around the character on the floor?
The movies won't work in my QT player, and I don't want to upgrade just yet. But I don't know what they're doing with shadows. Are they soft.. sharper at the foot and then the edges get softer as they recede? If not, they're probably from a shadow-casting light. If they do get soft though, I dunno.
they look like propper GI shadows, ie sharper the closert the casting object. also the animated Rhino character swings a spiked club which ommits soft lighting, it looks like "propper" GI
Looks to me like dynamic lightmaps... every triangle of every mesh has it's own unique UV space, and the scene is rendered every frame into a set of lightmaps. This is cool because you can also do bounce lighting and soft shadowing... but it can be uncool if you're lighting a large scene or many characters, since it can thrash your video memory if you're constantly creating lightmaps.
Notice how the ground shimmers at the start of the glow movie... low-res lightmap being recreated every nth frame.
i dont know if he is using lightmaps "The technique does not involve spherical harmonics, ambient occlusion, image-based lighting (including reflection mapping), or pre-computed radiance transfer"
here is more technical info on the process, the guy that is doing it wrote some of the gpu gems2 book.
it sounds pretty cheap and he is doing it all in one pass, very cool.
[ QUOTE ]
Show me a real scene using it not one prop.
[/ QUOTE ]
My thoughts exactly. Last gen Nvidia (6800+) cards can do this already, but it's just too expensive for a real scene. I remember Nvidia showing similar examples of it - small prop in a closed environment.
I'd like to see this in a real scene.
Realtime GI is pretty damn neat though! But yeah, likewise I too am naturally skeptical until I see it running on something that's more than one character, with no AI, game code or anything else running in the background.
Clearly sophisticated real world lighting is still the next big frontier for games. Call me naiive, but frankly I was pretty disappointed to see that next gen consoles have so far failed to show any major advances. Games are still just static lightmapped worlds for the most part. I think anything significantly more sophisticated is still years away unfortunately (I'll reserve judgement on Crysis til I see it running at more than 10fps )
Yeah that prerendered video is not the one I'm talking about, the real time game actually looks better than the movie. On closer inspection it does not look like they are using global illumination but ambient occlusion instead.
Replies
i too was excited by the prospect but not by the videos, think it was the art rather than the tech
Generate some low-res cubemaps at various positions in the scene, then give each one a volume it can affect. Project these cubes onto the model, so as the model moves through the scene, it transitions from cube to cube.
Next, preprocess your models so that at each skeleton pose the vertex normals are perturbed. The normals can be shortened so they get less light from the cubemap, making pits darker than peaks. All the normals point into the cubemaps, so the mesh receives that portion of the cube. But if they're short (not normalized to a length of 1), then you get darker areas.
So... when a character lowers its arm, the normals in the armpit and along the side of the body get shorter, and you get something approaching the look of AO.
Anyhow, one way to do it.
Edit: Forgot to mention that you can do this with your normalmaps too, multiply an AO map onto them, which shortens the normals wherever the pits are. This gives you a static AO solution, but at least the armpits always stay dark. Kind of a cool trick, assuming though that your engine's shader doesn't enforce/require normalized maps.
i dont think thats how theyre doing it here, or would you be able to use that with a moving object (glowing club).
also would you be able to acheive shadows (ie around the character on the floor?
Looks to me like dynamic lightmaps... every triangle of every mesh has it's own unique UV space, and the scene is rendered every frame into a set of lightmaps. This is cool because you can also do bounce lighting and soft shadowing... but it can be uncool if you're lighting a large scene or many characters, since it can thrash your video memory if you're constantly creating lightmaps.
Notice how the ground shimmers at the start of the glow movie... low-res lightmap being recreated every nth frame.
Cool link, thanks for sending it.
here is more technical info on the process, the guy that is doing it wrote some of the gpu gems2 book.
it sounds pretty cheap and he is doing it all in one pass, very cool.
http://forum.unity3d.com/viewtopic.php?p=14176
Thanks for the link.
Show me a real scene using it not one prop.
[/ QUOTE ]
My thoughts exactly. Last gen Nvidia (6800+) cards can do this already, but it's just too expensive for a real scene. I remember Nvidia showing similar examples of it - small prop in a closed environment.
I'd like to see this in a real scene.
I remember Nvidia showing similar examples of it - small prop in a closed environment.
[/ QUOTE ]
nVidia have this neat little demo executable of dynamic ambient occlusion, that might have been it?:
http://download.nvidia.com/developer/SDK/Individual_Samples/samples.html
Realtime GI is pretty damn neat though! But yeah, likewise I too am naturally skeptical until I see it running on something that's more than one character, with no AI, game code or anything else running in the background.
Clearly sophisticated real world lighting is still the next big frontier for games. Call me naiive, but frankly I was pretty disappointed to see that next gen consoles have so far failed to show any major advances. Games are still just static lightmapped worlds for the most part. I think anything significantly more sophisticated is still years away unfortunately (I'll reserve judgement on Crysis til I see it running at more than 10fps )
http://media.pc.gamespy.com/media/735/735340/img_3595248.html