【问题标题】:Intersection arbitrary mesh with plane (in THREEJS)与平面相交的任意网格(在 THREEJS 中)
【发布时间】:2022-02-04 21:28:53
【问题描述】:

目前是否可以在 THREEJS 中显示网格和平面的交集,如下所示:

以红色、绿色、黄色显示网格与带有纹理的背板的交点。

如果不是,最好的方法是:

  • 在 JavaScript 中计算网格和平面相交处的“线几何”,然后渲染它
  • 将自定义着色器材质应用于网格(将平面参数作为统一参数),仅当当前三角形与平面相交时才会为像素着色

对于选项 #2,是否已经有一些此类着色器的在线演示?

谢谢,

尼古拉斯

【问题讨论】:

    标签: three.js webgl intersection mesh plane


    【解决方案1】:

    === 2022 年更新 ===

    THREE-Mesh-BVH 提供了创建轮廓的新方法。这就是我目前的做法:

    ====

    AMI 现在支持它 (https://fnndsc.github.io/ami/#viewers_quadview)

    步骤如下:

    1. 显示网格和平面的交点

    2. 对交点进行后处理以显示轮廓。

    有不同的技术来显示网格/平面相交:

    1. 使用模板缓冲区 (https://github.com/daign/clipping-with-caps)

    2. 播放网格不透明度 (https://github.com/FNNDSC/ami/tree/dev/examples/viewers_quadview)

    所有这些技术的计算成本都很高,因为它需要 3 次渲染通道才能显示 1 个网格的轮廓,并且可能有更好的方法,但不确定什么是最佳选择。

    HTH

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-09-11
      • 2012-02-16
      • 2017-10-04
      • 1970-01-01
      • 2019-02-22
      • 1970-01-01
      • 2021-03-08
      相关资源
      最近更新 更多