Bilinear warping with NVAPI warp & blend?

I’ve written a program that calls the warp and blend methods in the NVAPI API, and have been using it successfully to warp and blend projectors on planar surfaces, using quadrilateral ‘perspective’ warping, via NV_GPU_WARPING_VERTICE_FORMAT_TRIANGLESTRIP_XYUVRQ.

While these transformations are suitable for most projectors, it looks like a quadrilateral transformation is not sufficient for cases where the projectors shift their principal points (e.g., with tilt-shift lenses). In these cases, it seems that the lens distortion from the tilt-shift optics makes it impossible to successfully warp projectors into alignment.

Being able to apply an arbitrary lattice of warp points could help – e.g., something akin to:
[url]https://github.com/paulhoux/Cinder-Warping[/url].

That is, instead of use (4) vertices defining the corners of a quadrilateral to define a warp, I’d like to use a grid of perhaps [8x4] vertices.

Is there support for this kind of warping and where might I find it?

It seems there are additional API methods that require licensing; is this true and is there any place to get more information?

Thanks,

-Kevin

In my post above I’d asked about any differences between public NVAPI and special licensing, presumable with individual ISVs. I’ve not sure there is a private license for NVAPI, but reading between the lines in the NVAPI documentation seems to suggest there in.

Is there any definitive word on public v. licensed NVAPI methods?

have u solved this? I am also confused by this.

Hi,
i’m also trying to define a warp grid with NxM vertices, but i’ve the problem of quad joints described also here:

In this article it’s solved with a vertex + pixel shader, how can i use it in my warping Nvidia API ?

Thank you.

Same as the question.

While I am looking for other answers regarding warp&blend I can answer this one:
it is no problem to define a larger warp matrix (not sure where the maximum actually is). I use a camera based calibration to generate warp matrix and blend image and the matrix has 129 rows and 81 columns, which makes 10449 points. I modified the (linux) warp and blend sample code to read the warp matrix from a file and write it to a triangle strip. Warping (at least on linux) is no problem also with larger matrices. Unfortunately blending only works in standard BlendOrder (WarpAfterBlend) and not BlendAfterWarp on non-Quadro cards.