2012-02-28 25 views
0

私の更新メソッドで作成する必要があるオブジェクトを動的に読み込みますが、何らかの理由でスクリーンに描画されるオブジェクトのほとんどがテクスチャなしで行われます。ときどきテクスチャがすべて描画され、突然それらが消え、すべてのオブジェクトが描画されますが、ただ白です。私はlogcatのすべての警告に気付きません。アプリはクラッシュすることはありませんので、ちょっと紛失し、正しい方向にプッシュを使うことができます。Android - OpenGl es min_dといくつかのテクスチャが描画されていて、いくつかありません

相続コードImは私のupdatescene方法で使用した:

updateScene(){ 

//rotate and move stuff removed 

if(!scene._children.contains(viewer.getObj(i).getBox())){ 
       scene.addChild(viewer.getObj(i).getBox()); 
       dataView.dataHandler.getMarker(i).addTexture(); 
       } 

し、このボックスにその負荷のテクスチャを使用してコードイムです:

public void addTexture(){ 
    if(bitmap1!=null){ 
     try{ 
      String bmt1 = "bmt"+this.toString(); 
      if(!Shared.textureManager().contains(bmt1)){ 
      Shared.textureManager().addTextureId(bitmap1,bmt1,false); 
      box.texturesEnabled(true); 
      box.textures().addById(bmt1); 
      //box.normalsEnabled(false); 
      }else if(Shared.textureManager().contains(bmt1)){ 
       Log.w("Texture "+bmt1+" already exists","Texture "+bmt1+" already exists"); 
      } 
      }catch(Exception e){ 
       e.printStackTrace(); 
      } 
     } 
} 

なぜテクスチャ上の任意の考えをだろう時には引き分けて時々そうではない?

答えて

0

私はそれを理解しました。私のmin3d呼び出しに関係するものは何もありませんでしたが、テクスチャとして使用するビットマップを挿入するとき、使用されていたビットマップは空であり、ピクセルデータは保持していましたがnullではありませんでした。キンダー奇妙。

+1

テクスチャのサイズが2の累乗であることも確認してください。image 500x500は機能しません。それを512x512にする。 – NickSoft

+0

うん、私はそれをやっただけでなく、BitmapFactory.Options.inScaleをfalseに設定して、ビットマップを渡してアンドロイドシステムがビットマップのサイズを変更しないようにしなければならなかった。それは彼らを再調整し、二人の力からそれらを離していた。 –

関連する問題