Three.js顶点着色器渲染所有几何三角形,使它们面向相机

时间:2016-04-07 18:04:34

标签: three.js vertex-shader

我想在Three.js中创建一个顶点着色器来渲染纹理几何体的面,以便所有三角形面朝镜头。

这是为了模拟Three.js点的功能和性能,但没有gl_PointSize的大小限制。

我不确定要在顶点着色器中执行什么计算。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:3)

您必须为几何图形添加自定义属性,最容易使用的是三角形中心的矢量

在顶点着色器中你必须计算如何移动每个顶点,你现在有了

  • 顶点位置
  • 矢量到中心
  • vertex normal == face normal
  • 相机方向(来自矩阵)

你可以计算三角形中心,它是静态的并计算旋转顶点必须围绕三角形中心围绕向量垂直的轴居中,以便正常相机方向相反

数学并不是很复杂,但是由于调试不存在而编写着色器代码很繁琐 - 我建议您先编写一个旋转几何体位置的代码(仅使用相同的参数)并将其移植到着色器