ShaderMaterial无法在Android平板电脑上运行

时间:2014-01-11 11:52:52

标签: three.js

我正在尝试使用这样的自定义着色器材料:

// UNIFORMS  
this.uniforms = {
                  "baseTexture": { type: "t", value: SSD.TEXTURES[texture] }
                };

this.material = new THREE.ShaderMaterial( { 
  uniforms: this.uniforms, 
  vertexShader: document.getElementById( shader+'Vertex' ).textContent, 
  fragmentShader: document.getElementById( shader+'Fragment' ).textContent,
  transparent: true
});

这在我的台式电脑上工作正常,但我的Nexus 7平板电脑没有显示这些纹理。我见过很多关于ShadersMaterials的三个.js演示实际上是在Nexus上工作的,所以我没看到,这里的问题是什么。

Android上Chrome的远程调试说“不支持S3TC压缩纹理”。

1 个答案:

答案 0 :(得分:0)

我最常见的原因是纹理的大小不是2的幂(例如256x256或512x512)。大多数台式机GPU似乎都处理得很好,但平板电脑GPU通常不会。所以首先检查你的纹理大小。

即使您不使用压缩纹理,也会始终显示有关压缩纹理的注释。