使用顶点着色器动画四边形

Posted

技术标签:

【中文标题】使用顶点着色器动画四边形【英文标题】:Animating quad using vertex shader 【发布时间】:2014-05-06 13:16:23 【问题描述】:

我有一个草地,我使用实例渲染渲染了一个四边形,纹理包含 Alpha 通道。

到目前为止,它看起来很理想,除了它不会移动/动画。它只是一个渲染到屏幕上的四边形,它只是静止不动,什么也不做。

我想在这里实现的很简单,我想要一种能够移动四边形的方法,例如使用一些三角函数 [正弦],但我不想移动整个四边形,只移动四边形的上半部分它。

【问题讨论】:

【参考方案1】:

shearing 是你所追求的。

首先变换四边形,使其底部位于 Y=0,然后乘以

[1,d,0,0,
 0,1,0,0,
 0,0,1,0,
 0,0,0,1]

然后将其转换到您需要的位置

让 d 在 0 附近变化

【讨论】:

这就像一个魅力:P 我可以给答案更多的投票吗? :D :D

以上是关于使用顶点着色器动画四边形的主要内容,如果未能解决你的问题,请参考以下文章

哪些 OpenGL 函数在顶点着色器之前修改顶点位置?

OpenGL - 动画是由着色器完成的吗?

如何避免使用着色器在 OpenGL 中消失线?

使用着色器为网格设置动画

渲染管道几何阶段四“几何着色器”

渲染管道几何阶段四“几何着色器”