1

我正在做一个项目,我想在其中有我的顶点缓冲区(在 opengl 中),其中我有构成图像网格的顶点。这意味着图像的每个像素都由两个三角形(一个正方形像素)组成。我想我已经实现了这一点,方法是简单地用图像大小初始化一个窗口,然后有一个带有顶点网格的 vbo 也是图像大小(宽度和高度的网格)。

对于此图像,我还有一个视差/对应图(矢量场),想要对其进行插值并用于使此图像网格变形(使图像/顶点网格变形)。这个想法来自这篇文章http://graphics.tu-bs.de/media/publications/stich08VTI.pdf(第5节),这基本上是我想做的。

我想用网格表示图像并通过矢量场对其进行变形以获得新的虚拟视图。这怎么能很容易做到呢?我无法完全理解我应该如何移动顶点着色器中的顶点。

首先,它是像素对应(在矢量场中),但我只能移动顶点,一个顶点属于两个像素,那么我该如何处理(移动像素)?

其次,短语“每个顶点网格变形”是否只是将顶点着色器中的顶点移动了一些坐标(在这种情况下是矢量场)?

第三,如果我设法使网格变形,我如何正确采样原始图像以获得“新视图”?我是否只是通过与图像网格相同的矢量场对一组 UV 坐标进行变形,然后在片段着色器中将原始图像采样为纹理?

4

0 回答 0