在 Autodesk 查看器中出现 webGL 错误

Posted

技术标签:

【中文标题】在 Autodesk 查看器中出现 webGL 错误【英文标题】:Getting webGL error in autodesk viewer 【发布时间】:2018-01-03 09:02:19 【问题描述】:

我收到如下错误: 未捕获的类型错误:无法读取 null 的属性“__webglFramebuffer”

当我要转到与附加了 Autodesk 查看器的页面链接的另一个页面时。我不知道它为什么会来。我正在为我的网站使用 angularjs,并且该页面的控制器中没有关于查看器的代码。

【问题讨论】:

你用的是哪个版本? 我正在使用: 谢谢,我首先建议使用更新的版本,我们目前是 2.15,并将调查此问题。 我认为问题出在 api 调用上。在每个页面上都有 api 的脚本和链接选项卡。 我用的是2.15版本,还是一样的错误。 【参考方案1】:

您收到此错误是因为您没有销毁您离开页面上的查看器实例,因此当接收到页面调整大小之类的事件时,查看器将尝试重新渲染,并且由于 WebGL 上下文已被销毁,它将触发此事件错误。

当您离开查看器页面时,只需放置一些调用的清理处理程序,根据您使用的角度版本,您应该可以轻松找到如何处理,然后放置以下代码来清理查看器:

// assumes this.viewer contains your viewer, your code might be different ...
// make sure viewer has been created
if (this.viewer) 

  // I added this to handle some specific cases
  if(this.viewer.impl.selector) 

    this.viewer.tearDown()
    this.viewer.finish()
    this.viewer = null
  
 

【讨论】:

以上是关于在 Autodesk 查看器中出现 webGL 错误的主要内容,如果未能解决你的问题,请参考以下文章

无头 chrome 中的 Autodesk forge 查看器,CONTEXT_LOST_WEBGL

贴花未显示在 Autodesk 查看器中

模型伪造查看器中缺少 Autodesk.AEC.ModelData

在 Autodesk 查看器中使用 dbids 在对象上绘制标记

在 Forge Autodesk 查看器中获取节点的属性

在 Autodesk Forge 查看器中的元素下拾取