在顶点着色器移动顶点后,怎么计算新的法线

想做一个波浪效果
float angleSpanH = wave * 3.14159265;
vec4 a_position = In.position;
float pz = amplitude * sin(cc_time.x * speed - (a_position.x - startPos.x + a_position.y - startPos.y) / textureWidth * angleSpanH);
vec4 position = vec4(a_position.x, a_position.y + pz, a_position.z, 1);

顶点的y值改变之后,怎么计算法线。。有什么思路吗

是这种效果么

好像不是,这个是2d的,没有法线问题,,我想弄个3d的。。波动起来之后,法线不对。。

mark!

同求,我之前也遇到法线不变的情况。

问题解决没,最近也在研究这个, 不过在 shader里面应该无法计算出 更改顶点后三角面的法线, 只能在代码中去计算后再传入吧