Pos. Invariant VP's not very invarient..?


I’m currently trying out this Position Invariance stuff in VP 1.1, and the results I get, are making it only work for certain positions.

I am not modifing any matrices between the passes, and no textures are used. I am simply doing a Fixed pipeline Quad at 50 % grey, then doing a VP1.1 quad added on top. As I move it back and forth, it pops in and out of being invariant.

Am I right in thinking this is used for invariance between Fixed function and VP’s or only between multiple VP passes?

BTW I’m testing this on GF2.



[This message has been edited by Nutty (edited 02-24-2002).]

It works perfectly for me. I simply modified all the VP’s I use for lighting by removing the output to o[HPOS], changing VP1.0 to VP1.1 and adding the line,

OPTION NV_position_invariant;

Oh, almost forgot - I use a fixed function pass in between two VP passes.

Indeed. I changed alot of mine, and it all worked, but they all worked prior to that anyway… as they were all VP passes. Not mixing Fixed function and VP.

I have a very small demo, if you’d like to test it, mail me at nutty@nutty.org for it.


Okay thanks to PH, it looks like it’s a VP emulation problem.

On GF3/GF4Ti, position-invariant programs should indeed be invariant.

On other platforms, they will render correctly but not be invariant with 27.xx drivers.

This is a real problem and we are aware of it. A future driver release will make position-invariant programs be invariant on all chips.

  • Matt