PIXI JS-如何更新网格UV?

时间:2018-11-22 05:55:48

标签: typescript opengl-es mesh pixijs

我想知道如何更新网格UV。

在初始化时,UV似乎可以很好地应用。 但是,如果这动态地修改,则UV不会反映它。 这是PIXI JS中的错误吗?还是我的错?

...
uvs: Float32Array = new Float32Array([ 0, 0, 1, 0, 1, 1, 0, 1 ]);
mesh: PIXI.mesh.Mesh = new PIXI.mesh.Mesh(texture, vertices, uvs, indices);

在运行时

this.mesh.uvs[2] += this.offset;
this.mesh.uvs[4] += this.offset;

不起作用。

1 个答案:

答案 0 :(得分:0)

PixiJS提供给您的数据在CPU上,但是GPU渲染的网格使用GPU中的数据。

您只更新了CPU数据,以使其可用于GPU,您必须递增YourMesh.dirty,以便PixiJS知道数据已更改,并且他需要更新GPU数据。

您应该有这样的东西:

this.mesh.uvs[2] += this.offset;
this.mesh.uvs[4] += this.offset;
this.mesh.dirty ++;