So i’m trying to develop an aplication making use of the warp and blend api.
I have Paid callibration software that will create the warp grid for me.
All i’m trying to do is format this data correctly and insert this into the Nvidia GPU.
I’m close… But i seem to fail to get an entire screen that is correctly warped.
My question:
How does Nvidia want the warp grid to be formatted.
i start on the top left corner of the screen (x=0 y=0) then fill in the complete row, using the sequence (as listed in the documentation) trianglestrip TL/BL/TR/BR. Then step to the next collum and so on till i complete my grid.
when this data is loaded. i get sort of a z shape in the output. suggesting the second collum should be in reverse order.
However if i do this the output is still not correct.
Does the winding direction also change?
Also the Trianglestrip implementation seems odd to me,
In OpenGL you draw one row and give an end shape, and then start a new row.
Since there is no way (that i know of) how to draw the entire 2d grid as one triangle list i’m stuck at the moment.
I am not part of the Warp&Blend team, but looking at your question I might still have a suggestion. Did you try out the WarpBlendSample app that is part of the SDK download? Maybe if you experiment first with that app you could see how swizzling the vertex coordinates influences the output.
The sample app was indeed my basis to start.
It helped enormously figuring out all the API calls.
Experimenting with the sample code i found a soloution that seems to work!
however, i am now sending the vertex data as TriangleList rather than using Triangle Strip.
Is there a substantial performance difference between using either of the methods?
i can imagine that sending less vertices using TriangleStrip saves memmory, but i don’t see that using TriangleList would create a performance hit as the GPU still uses the same amount of triangles to warp the image.
There is one more problem that i need to tackle, and that is that i want to load the warp at the windows login screen.
Running my app as system service on startup does not seem to work.
Thath begs the question, is the NVAPI interface even available pre-login?
How many vertices are in your warp mesh. It is unlikely you will see a large performance hit/gain either way unless you are using an extremely large mesh.