首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >three.js中断应用程序中的“超出范围误差的纺织单元”?

three.js中断应用程序中的“超出范围误差的纺织单元”?
EN

Stack Overflow用户
提问于 2013-02-17 00:53:36
回答 1查看 867关注 0票数 0

我试图在我的应用程序中使用sparks.js,通过杰罗姆为他的现场火花编辑制作的THREEx.Sparks模块。然而,它只与three.js一起工作,直到并包括r50 --在此之后火花轨迹就不会呈现出来。

我已经设置了一个(有点)最小的编辑器分叉,供大家使用。圆柱体总是被绘制出来,但是当我们通过three.js修订版时:

  • r46可以工作,但现在当然已经很过时了
  • r50和r49按预期绘制粒子,但使用WebGL错误:WebGL: INVALID_ENUM: activeTexture: texture unit out of range
  • 从r51开始,火花的粒子系统不会被绘制出来。

这一错误很可能与三个处理不当初始化纹理有关。我已经追踪到在_buildDefaultTexture内部THREEx.Sparks.js中创建的128x128径向纹理。

这个问题之所以如此(而不是GH错误报告),是因为三个r51+显然得到了正确的错误处理--他们甚至没有尝试这种糟糕的行为,因为这使WebGL成了一只悲伤的熊猫,而r50却只是这样做,并导致了错误。我的问题是:

  • 到底做了什么THREEx.Sparks.js在这里做得不好
  • 为什么在r51之前还在工作

系统信息: Mozilla/5.0 (Macintosh;Intel 10_8_2) AppleWebKit/537.17 (KHTML,类似壁虎) Chrome/24.0.1312.57 Safari/537.17 WebGL 1.0 (OpenGL ES 2.0 Chromium) \x WebKit WebKit WebGL GLSL 1.0 (OpenGL ES GLSLes1.0 Chromium)

使用r50进行屏幕截图,您可以在i.stack.imgur.com/p5EfN.png上查看(如果它还没有被提取的话),其中显示了WebGL调试器中错误的uniform1iactiveTexture调用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-17 02:10:42

我无法为您调试您的代码,但我肯定可以为您指出正确的方向。

首先,请参阅迁移Wiki以获得升级到当前版本的帮助。

例如,您将在THREEx.Sparks.js中看到,

代码语言:javascript
复制
texture : { type: "t", texture: this._texture }

现在应该是

代码语言:javascript
复制
texture : { type: "t", value: this._texture }

可能还有其他问题。

我不能评论three.js的旧版本,只有当前的版本。

three.js r.55

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14916910

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档