Android - OpenGl es与min3d一些纹理绘制,有些不

时间:2012-02-28 23:28:04

标签: android opengl-es textures

我动态地将纹理加载到对象,因为它们需要在我的更新方法中创建,但由于某种原因,绘制到屏幕的大多数对象都是在没有纹理的情况下完成的。偶尔纹理都会被绘制出来然后突然消失,所有的对象都被绘制出来但只是白色。我没有注意到logcat中的任何警告,应用程序永远不会崩溃所以我现在只是有点迷失,并且可以使用正确的方向推进。

下面是我在我的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();
            }
        }
}

有关为什么纹理有时会画,有时不会画的任何想法?

1 个答案:

答案 0 :(得分:0)

我明白了。它不是任何与我的min3d调用相关的东西,但是当我插入要用作纹理的位图时,正在使用的位图是空的,没有像素数据但不是null。有点奇怪。