安卓-OpenGl es与min3d一些纹理绘制和一些不



我动态地将纹理加载到对象中,因为它们需要在我的更新方法中创建,但由于某些原因,大多数绘制到屏幕上的对象都没有纹理。偶尔,纹理都被绘制出来了,然后突然它们消失了,所有的对象都被绘制了,但只是白色的。我没有注意到日志中有任何警告,应用程序也从未崩溃,所以我现在有点不知所措,可以朝着正确的方向推。

以下是我在更新场景方法中使用的代码:

 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();
                }

然后这就是Im使用的将纹理加载到框中的代码:

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();
            }
        }
}

有没有想过为什么一个纹理有时会画,有时却不会?

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

最新更新