Apply homography to many textures

Hallo, rusty vvvver here asking a simple question: how to apply a given homography to many textures at once? Textures should be indexable afterwards.
Or is it there a way to apply a transformation to a shader directly without using a renderer?

is it the same homography for all or different ones?

if its the same then i would apply the homography after the GetSlice…

thing is, homography is a projective transformation, you can’t apply it to a 2d texture in that sense. are you on DX9 or DX11? i think in DX11 it should be possible with some textureFX or render target magic.

DX11 here and yes it is the same homography, even after the getslice I have 10 textures in 2 spreads of 5 each where some may be the same one.
So to put the question on another perspective, is it possible to send may texture through a render and then retrieve them as a set? I reckon in dx9 there was a limit of 4?

Something I’ ve found on an old thread… (6.9 kB)

This solution has really bad performance and is not scalable… I may opt to do a texture batch conversion if there is no better option.

hey, sorry for the late reply, please have a look at the badMappper contribution, there it uses the technique of multiple homography in one renderer. maybe badmapper is even what you are trying to do:

Hi, since it was for static content I decided to do an automatic texture copy/conversion. I had a look at the bad mapper thing and it seems to me that that there is a problem with the quantisation as artefacts will appear with strong deformations.

io can you elaborate on the artifacts? with a screenshot maybe?

indeed, there is a texturefilter set to Point, which is no good. you can fix that yourself by finding the Filter (EX9.SamplerState) and setting its Magnification Filter to Linear.

i’ll fix that for the contribution later…

also in the vvvv effects folder you can find the bicubic shader with a .fxh file. you can reference this in your shader and use it like a normal texture sample method to get a way better texture filtering… check the help file on how to use it.