【发布时间】:2012-02-29 11:58:48
【问题描述】:
我动态地将纹理加载到对象,因为它们需要在我的更新方法中创建,但由于某种原因,大多数绘制到屏幕的对象都是在没有纹理的情况下完成的。有时,所有的纹理都被绘制出来了,然后它们突然消失了,所有的对象都被绘制了,但只是白色的。我没有注意到 logcat 中的任何警告,并且应用程序永远不会崩溃,所以我现在只是有点迷失,可以使用正确的方向推动。
这是我在更新场景方法中使用的代码:
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();
}
}
}
对于为什么纹理有时会绘制有时不会绘制有什么想法吗?
【问题讨论】:
标签: android opengl-es textures