用世界matrix扭曲四边形

是否有可能扭曲一个四边形的顶点乘以一个特定的世界matrix? 看图片了解我需要什么样的失真:

在这里输入图像描述

请注意,四边形是在3D空间,我特别需要它的VERTICES被扭曲,而不是旋转透视相机。 四边形放置在Z = 0的平面上,所有四边形顶点的Z分量都等于0,并且在变换之后它们的Z分量应该等于0。

我知道,通过在顶点着色器中移动顶点可以很容易地完成,但是为什么我需要使用世界matrix来扭曲四边形,这是因为我使用一个绘制调用渲染了数百个这样的四边形。 他们中的一些需要被扭曲,一些不要。 所以我需要一个统一的顶点着色器为每个案件,并在着色器分支之前,我想知道这样的扭曲可以用一个世界matrix完成。

请注意,四边形是在3D空间,我特别需要它的VERTICES被扭曲,而不是旋转透视相机。 四边形放置在Z = 0的平面上,四边形的所有顶点的Z分量都等于0,变换后它们的Z分量应该等于0。

请注意,即使您希望解除解决scheme,也可能仍然有效。 如果你想四边形的顶点有Z = 0,那么有一个比例matrix:

1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 

因此,总结:旋转四边形,应用透视变换,除以W(以1 / W的比例)并沿Z轴展平。