Pixelprecise Dynamic Texture starting left

I need to create a pixelprecise Dynamic Texture starting in the topleft corner of a renderer.
Strangely i have to manipulate the theoretical correct value to translate the quad to the left corner of the renderer a bit to achive the correct result.
… see attached patch

Why is this ? Is it a bug or did I do something wrong ?

Markus

pixelprecise.v4p (17.6 kB)

in the next release…

coming soon…

(the attachment should work with the next version if everything stays like it is atm)

pixelprecise.v4p (10.3 kB)

… sounds good … that was fast !

markus

but still:

is there a logical reason why it does not work the way i tried.
normally it should work like this - right ?

markus

almost…

only thing is: pixel is not texel. you somehow need to shift everything about half a pixel in both x and y to get it right.
then you also need no filter node anymore. you are now in pixel space…

concratulations!

pixelprecise.v4p (20.8 kB)

covering the topic somehow:
http://msdn.microsoft.com/en-us/library/bb219690(VS.85).aspx

the only question is why directx doesn’t map projection space to screen space like this:

x: -1…1 -> -0.5…width-0.5
y: 1…-1 -> -0.5…height-0.5

still a good article

I did it for a pixelshader like this, may be its of interest.
Would be interesting if it differs at different graphic card as I have read. Actually my ATI is -0,5x and 0,5y.

GraphicCardPixelCheck.v4p (18.7 kB)