【问题标题】:EDL Shader in Potree Viewer with orthographic modePotree Viewer 中具有正交模式的 EDL 着色器
【发布时间】:2019-09-23 22:30:57
【问题描述】:

Potree Viewer 中的 EDL 着色器有问题。虽然它适用于透视模式,但我需要在我的项目中使用正交模式。
请查看 GIF 和底部的示例。

EDL 渲染器存在无法在正交模式下正常工作的问题。缩放点云时会出现问题。在某些时候,阴影消失了,我们失去了深度感知。

您应该能够在任何公开示例中重现此内容。请记住在侧边栏中的“工具”面板中设置正交模式。

非常感谢任何帮助。


您可以在这个 GIF 上看到它的样子: https://im.ezgif.com/tmp/ezgif-1-9e188b342d1c.gif

我在 GIF 中使用的示例可以在这里找到:http://www.potree.org/potree/examples/lion_laz.html


您可以在此处查看 Potree 着色器:https://github.com/potree/potree/tree/develop/src/materials/shaders

此外,操纵相机位置的导航控件: https://github.com/potree/potree/blob/develop/src/navigation/OrbitControls.js

【问题讨论】:

    标签: javascript three.js shader


    【解决方案1】:

    您链接到的示例看起来像 EDL 着色在相机的 near 平面被交叉的同时被切断。您可以通过在perspectiveortho 视图之间切换来看到这一点;当粒子不再显示在透视凸轮中时,着色在同一点结束。

    您可以将 the camera.near value 更改为更低的值,我认为您甚至可以在 Ortho cams 上将其设置为负值。

    【讨论】:

    • 很好的发现。谢谢你。我尝试更改 camera.near 但问题是该值已经是-1000。我尝试尝试不同的值(更高的值,接近 0),但对我没有任何效果。我也在猜测,也许EDL的片段着色器的实现是错误的?我对着色器了解不多,所以这对我来说非常困难,据我所知,没有办法调试它们。
    • 所以看起来相机以“小车”的方式离中心越来越近。也许您可以更改其camera.zoom 值而不是将其移近? camera.zoom = 2.0; 之类的东西然后你可以尝试 3.0、4.0 等...看看是否可行。另外,每次缩放值更改后不要忘记致电camera.updateProjectionMatrix();
    • 感谢您的支持。我尝试将camera.zoom 值更新为更高的值(同时增加点大小),但同样没有帮助 - 在那种情况下根本不会渲染阴影。因此,将camera.near 值设置为接近 0 似乎可以使阴影停止与相机切割点云一起工作的阈值对齐,但我无法找到为 EDL 渲染器生成此值的位置。我试着到处寻找near 值,但我什么也没找到(我几乎试验了所有东西)。
    猜你喜欢
    • 1970-01-01
    • 2021-03-12
    • 1970-01-01
    • 1970-01-01
    • 2010-10-02
    • 2021-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多