WebGL three.js立方体相机映射

时间:2014-12-07 15:34:01

标签: three.js

在three.js中遵循3个不同的立方体映射指南之后,我总是在控制台中引发相同的错误:

  • " ebGL:INVALID_FRAMEBUFFER_OPERATION:drawElements:附件有一个 0维"
  • " ebGL:INVALID_FRAMEBUFFER_OPERATION:drawArrays:附件有0 尺寸"
  • " [.WebGLRenderingContext] RENDER警告:纹理绑定到纹理 单位0不可渲染。它可能不是2的幂并且有 不兼容的纹理过滤或纹理不完整'"

在控制台中多次重复这三个错误。

以下是我试图模仿的指南和实例:

Guide 1

Live Example

现在我的代码与实例中的代码类似:

cubeCameraBottom1 = new THREE.CubeCamera(0.1, 5000, 512 );
scene.add(cubeCameraBottom1);      
var provacylGeometry = new THREE.CylinderGeometry(8, 8, 70, 32, 32);
var provacylinderMaterial = new THREE.MeshPhongMaterial( {  envMap: cubeCameraBottom1.renderTarget } );
provaCil = new THREE.Mesh( provacylGeometry, provacylinderMaterial );
provaCil.position.set(0,0,-20);
provaCil.castShadow = true;
cubeCameraBottom1.position = provaCil.position;
scene.add(provaCil);

这是渲染函数:

function render()

{

provaCil.visible = false;
cubeCameraBottom1.updateCubeMap( renderer, scene );
provaCil.visible = true;
renderer.render( scene, camera );

}

我哪里错了?看起来立方体相机不是以正确的方式计算纹理。 我怎样才能解决这个问题? 提前致谢

1 个答案:

答案 0 :(得分:0)

在他们使用r60的例子中。也许这就是问题,也许这可以帮到你:

https://www.khronos.org/registry/webgl/extensions/WEBGL_lose_context/