[.CommandBufferContext]渲染警告:没有纹理绑定到单元 1 test.html:1

Posted

技术标签:

【中文标题】[.CommandBufferContext]渲染警告:没有纹理绑定到单元 1 test.html:1【英文标题】:[.CommandBufferContext]RENDER WARNING: there is no texture bound to the unit 1 test.html:1 【发布时间】:2016-09-29 01:50:33 【问题描述】:

我一直在尝试添加纹理

  var bumptexture = THREE.ImageUtils.loadTexture('grid.jpg');
  var normaltexture = THREE.ImageUtils.loadTexture("normal.jpg");
  var diffusetexture = THREE.ImageUtils.loadTexture("diffuse.jpg");

  var material2 = new THREE.MeshPhongMaterial(
color: 0xaaaaaa,
ambient: 0xaaaaaa,
specular: 0x333333,
map: diffusetexture,
bumpMap: bumptexture,
bumpMapScale: 1,
normalMap:normaltexture,
normalScale: (1,1),
shininess: 10

但我不断收到此错误。

[.CommandBufferContext]渲染警告:没有纹理绑定到 单元 1 test.html:1 [.CommandBufferContext]RENDER WARNING: 有 没有纹理绑定到单元 0 test.html:1 [.CommandBufferContext]渲染警告:没有纹理绑定到 单位 1

我正在使用三个.js

【问题讨论】:

我没有收到这个错误。你能在 jsfiddle 上展示一个活生生的例子吗?你用的是哪个three.js版本? 小提琴会很困难,因为代码是异步加载纹理的。这实际上可能是问题所在。在尝试使用纹理之前,请确保已加载纹理。在问题中提供的代码中的任何纹理加载中都没有指定 onLoad 函数。请参阅此特定答案:***.com/a/36115889/3311552 【参考方案1】:

我不确定这是否会有所帮助,但我遇到了类似的问题并使用承诺来修复它。问题是它是异步加载的 当我的代码准备好运行我的纹理时,我的纹理还没有加载,并且正在发出警告。所以尝试将你的纹理包装在一个承诺中。我希望这会有所帮助

【讨论】:

以上是关于[.CommandBufferContext]渲染警告:没有纹理绑定到单元 1 test.html:1的主要内容,如果未能解决你的问题,请参考以下文章

浏览器渲染原理 渲染树和页面渲染

微信小程序--渲染页面(列表渲染,条件渲染)

请问为啥我的3D在渲染时没有出现渲染面板

渲染路径--Forward渲染路径

Unity渲染流程(渲染管线)(渲染流水线)

3dmax只渲染反射不渲染物体