2014-01-11 63 views
0

工作,我嘗試使用自定義的着色材料是這樣的:ShaderMaterial不會對Android平板

// 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的three.js演示,實際上它們在Nexus上工作,所以我沒有看到,這裏可能會出現什麼問題。

Android上的Chrome遠程調試顯示「S3TC壓縮紋理不支持」。

+0

那麼,你的紋理格式是什麼?也許只是使用JPG或其他支持的格式?你的紋理在兩個分辨率的權力? – GuyGood

回答

0

我得到這個最常見的原因是紋理的大小不是2的冪(例如256x256或512x512)。大多數臺式機GPU似乎能夠很好地處理這些問題,但平板電腦GPU通常不能。所以先檢查你的紋理尺寸。

關於壓縮紋理的注意事項始終顯示,即使您不使用它們。