将jpct ae与vuforia集成时的纹理模糊性



我成功集成了vuforia和jpct ae。我可以下载.obj模型及其.Mtl文件和纹理文件,并在标记检测上使用jpct-ae加载程序加载它。3D模型在图像目标上显示得很好,但没有纹理(材质很好)。在进一步挖掘时,我发现当我在Renderer类中声明纹理时,它采用的是JPCT ae纹理,但当我在Main Activity类中声明时,它使用的是Vuforia纹理。我试图在Main活动中显式地包含Jpct ae Texture.h,但QCAR无法初始化。如果没有在主活动中声明纹理,我不知道如何实时更改/更新新纹理(下载的图像)。

基本上,我需要更新纹理动态更新新下载的图像。

有人能建议我如何解决这个问题吗?如有任何帮助或建议,我们将不胜感激。

感谢

我通过禁用将纹理发送到本机代码的getProductTexture()来解决模糊性问题。现在我可以在主"活动"和渲染活动中应用纹理。为了动态更新纹理,我使用了jpct ae的ReplaceTexture()。以下是代码片段(我不确定这是最好的方法,但它对我来说很好)\尝试{modelstrm=新的FileInputStream(新文件(imagePath));

            texstrm = new FileInputStream(new File(TexturePath));               
            System.out.println("Start loading crab md2 model");     

            try {
                System.out.println("Start loading Texture");        

                TextureManager tm = TextureManager.getInstance();
                if(!tm.containsTexture("new_texture")){
                    new_texture = new Texture(BitmapHelper.rescale(BitmapHelper.loadImage(texstrm), 512, 512));
                    tm.addTexture("new_texture", new_texture);
                }   
                else{               
                    old_texture = new Texture(BitmapHelper.rescale(BitmapHelper.loadImage(texstrm), 512, 512));
                    tm.replaceTexture("new_texture", old_texture);
                }
                System.out.println("End loading Texture");

            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }    

最新更新