"I like your Christ. I do not like your Christians. Your Christians are so unlike your Christ."
- Mahatma Gandhi
More pages: 1 2 3 4 5
Volume lightmapping demo
Tuesday, March 2, 2004 | Permalink

With a loud thud another demo hits the site. Go fetch in the 3D section.

Name

Comment

Enter the code below



z
Wednesday, March 3, 2004

What do you mean by "tweak to enable GLSL on the GFFX"

Humus
Wednesday, March 3, 2004

This is what I got from google. Haven't tried it myself so I don't know if it works:

[HKEY_LOCAL_MACHINE\SOFTWARE\NVIDIA Corporation\Global\OpenGL\Debug]
"ShaderObjects"=dword:00000001

MesserFuerFrauSchmid
Wednesday, March 3, 2004

@NewKenobi

This is only faster because they use 2D maps (two dimensional textures are always fast at least as long you use the right format (like R8G8B8A8 or L) 3D textures are fucking slow because of memory adressing and heavy cache misses and they are a waste of memory because right now they always have to be ^2. That's why GAMEZ NEVER EVER USE THOSE.

NeoKenobi
Wednesday, March 3, 2004

@FrauleinSchmid

You're right about the 2D maps part, but don't think computing the lighting realtime is cheap. Not to mention the soft shadows, multiple passes with stencil buffer shadowing are much more expensive than using a 3D texture. On the other hand, using shadow mapping with textures is also very expensive, but not anywhere near multiple passes with the stencil buffer.

Btw. this is a demo, meant to demonstrate graphical technologies, NOT A GAME!

Humus
Thursday, March 4, 2004

MesserFuerFrauSchmid,
well first of all, 2D maps aren't neccesarily "always fast" just because it's a certain format. It also depends on how they are used, size, access pattern etc.

Also, 3D textures aren't always neccesarily always slow either. There's nothing saying that 3D textures must have significantly worse caching behavior. Worse, yes, significantly worse, no. The hardware probably uses something like Morton order that will ensure that spatially close pixels are in most cases also close in one-dimensional memory space. Then you have the access pattern. For every texel loaded from the 3D map, tens of texels are loaded 2D maps. This is because the lightmap is sparsely sampled and constantly is in magnification mode. If you remove the lightmap entirely from the shader you'll see that the performance doesn't improve significantly. It goes from 110fps to 115fps for me. A whooping 4.5%!

There just isn't any general rule that 3D textures must be slow, and in this demo it's not even close to being the bottleneck. In most situations where 3D textures are useful they are accessed in ways that are fairly cheap.

G!ZMo
Thursday, March 4, 2004

@z

you have to add this to your windows-registry:

[HKEY_LOCAL_MACHINE\SOFTWARE\NVIDIA Corporation\Global\OpenGl\Debug]
"ShaderObjects"=dword:00000001
"WriteProgramObjectAssembly"=dword:00000000


this works fine for my fx5950ultra

g0b
Friday, March 5, 2004

Hi,

You could improve the realism of the demo by faking dynamic lighting of the fire. I this this could be done for cheap by adding a random perturbation to the 3D lightmap's texture coordinates...

Graham
Friday, March 5, 2004

Very impressive I like it

it has a smoothness to it that is impressive given that the texutre isn't really all that high res (eg, 6x64x64 cube shadow map would look pretty ugly compared to this).

Also if it were colour you could do real stained glass/fog shadows. And radiosity too. But I guess computation time for these would go through the roof.

And I it's very impracticle for large lights. Maybe a 2D lightmap for big lights such as the sky, and little 3D maps for all point lights.

More pages: 1 2 3 4 5