在后处理顶点着色器中获得世界位置

时间:2014-05-29 07:50:31

标签: three.js

我正在使用three.js中的后处理着色器,我需要根据顶点着色器中世界位置的计算丢弃一些片段。

当我尝试在顶点着色器中进行此操作时,我发现在顶点着色器中传递的位置已经转换为屏幕空间坐标,即。投影,视图和模型矩阵是身份。

有没有办法在世界坐标中获取原始位置属性?

1 个答案:

答案 0 :(得分:0)

您可以在顶点着色器中传递ModelView和Projection Matrix,并在着色器本身中计算屏幕空间位置,而不是在屏幕空间中传递顶点位置。通常这种乘法是在CPU上完成的,因为它具有性能。或者如果你已经在着色器中有这些矩阵,那么你可以将顶点psition与投影矩阵的逆相乘,你将得到世界坐标中的顶点位置。我不明白你说什么是矩阵是什么意思。