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:

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?



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?