Single MOST important Question about Nv40 & R420...

The most important Question about Nv40 and R420 that has somewhat unbelievably been overlooked till now.... Yet.. I, even I will bring it out.


Does the Nv40 or R420 have support for W-Buffer

:LOL:

Yeah.. I know.. Stone me. I was just reading the Battlecruiser Forum and was reminded of the absolutely huge fights over W-buffer back in the R300 Nv30 days.
 
What is a w-buffer exactly? I looked it up, and what little I could find indicated it stored the reciprocal of the Z values.

What exactly does that do?

How does it differ from a plain floating-point Z buffer?
 
In really simple terms,

A Z buffer is really a 1/Depth buffer.
A W Buffer is just the Depth

The math isn't quite that simple.

I happen to like W Buffers, I like the predictability, you don't get increased Z fighting as an object moves into the distance, and you can pretty much place your near plane right at the end of your nose without significant penalty.

Z Buffers have a lot of precision near the camera and little in the distance.

Z is the traditional way of soing it, and W buffers have just not been wiely supported in the PC space.
 
The W Buffer uses the camera space W value for depth test. The reciprocal of this value (RHW) is linear in screen space, so can be linearly interpolated.
The usual Z Buffer stores screen space Z values, which are also linear in screen space.
The advantage of W Buffer is that it maps camera space (the real 3D space) depth values evenly, while screen space Z uses most of the precision for depth values near the front clipping plane.
 
But an often missed fact is that a float z buffer has a similar distrubution to a w buffer without the nasty lack of z-compression that a w-buffer has.

So the question is not do they support w-buffer (which would seriously slow down modern z-units due to breaking compression) but do they support a floating point z buffer.
 
DeanoC said:
But an often missed fact is that a float z buffer has a similar distrubution to a w buffer without the nasty lack of z-compression that a w-buffer has.

So the question is not do they support w-buffer (which would seriously slow down modern z-units due to breaking compression) but do they support a floating point z buffer.

Do they? ;)
 
Because people said two different things, I'd like to confirm that:
Z-Buffer uses Z
W-Buffer uses W = 1 / Z

W-Buffer is more evenly distributed, thus lowering Z-Fighting problems.

[edited for Xmas]
 
How about indexed textures? I was suprised that Nvidia managed to keep support for them in the FX hardware while ATI dropped it in the R300... I imagine the X800 hardware lacks it, but what about the NV40, did they finally get dropped?
 
Paletted textures are not supported in GeForceFX. MNaybe support get's somehow emulated by the D3D runtime, but they aren't supported in OpenGL and considering they did support paletted textures on earlier architectures, it would be weird to drop support for no reason.

Of course, I assume you meant colour index textures with "indexed textures".
 
Yes I was referring to palleted textures... And yes they do work on FX hardware because I've used them via GL_EXT_palleted_texture and GL_EXT_shared_texture_pallete on a G5 with a 5200FX and 12" Powerbook with an 5200FX Go... Haven't tried it on a PC though...

Actually poking around Nvidia's developer site it looks like it's been dropped from the NV4x lineup... :(
 
digitalwanderer said:
"Derek Smart!
Derek Smart!
Derek Smart!"

Nooooo!!!! :oops:

You must not say "He who's name must not be spoken" ! :devilish:

Me wonders why he doesn't have his own little spot in the developers forum. :LOL:
 
Whenever the W buffer comes up Jim Blinn's paper is usually essential reading...

http://csdl.computer.org/comp/mags/cg/1998/03/g3078abs.htm

AFAICS the main reason W-buffers are abandonware is because for the typical PC game (i.e. the FPS) they are hard work - it's hard to adjust W scaling to make sure the gun both doesn't go into the wall and has decent close up resolution.

More generally, they are awkward to use (you need extra information, such as the near and far planes, to make them work) and they never quite work right on all hardware (because they become quite precision and implementation sensitive).
 
Back
Top