【问题标题】:sceneUpdated() vs invalidate()场景更新()与无效()
【发布时间】:2020-02-22 09:21:44
【问题描述】:

viewer.impl.sceneUpdated()viewer.impl.invalidate() 有什么区别?我一直看到它们可以互换使用,但一直无法弄清楚为什么。

invalidate() 的情况下,我看到它使用每种可能的组合接受 1 到 3 个布尔参数,而且似乎每次都给出相同的结果。

【问题讨论】:

    标签: autodesk-forge


    【解决方案1】:

    viewer.impl.invalidate 基本上是:

    invalidate(needsClear, needsRender, overlayDirty)
    //needsClear - full render - not (currently) interruptible, runs until completion, "locks" application, needs to re-render the whole scene from start
    //needRender - progressive render - show a bit more each tick, runs unless interrupted by a move, control, etc.
    //overlayDirty - overlay (like rollover highlighting etc) needs to be re-rendered
    

    sceneUpdated(objectsMoved, skipRepaint)基本上是

    this.invalidate(!skipRepaint, false, !skipRepaint);
    

    另外,场景边界被标记为更新,阴影被重新渲染。

    【讨论】:

    • 谢谢,没有比这更好的答案了。
    猜你喜欢
    • 1970-01-01
    • 2017-02-21
    • 1970-01-01
    • 2014-03-06
    • 1970-01-01
    • 1970-01-01
    • 2022-12-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多