使用Rajawali3D在Android中从非本地源创建OpenGL纹理?

11

我正在使用OpenGL库Rajawali3D来展示我的模型。我想知道如何根据已登录的用户从我的服务器加载纹理?我在互联网上搜索了几个月,但没有找到解决方法。我发现了这个网站,它解释了如何从非本地来源加载纹理,但我尝试之后发现它与Rajawali不兼容。如果有任何建议或示例,将不胜感激。

这是我尝试使用的网站: texture from web


你应该可以像任何应用程序下载图像一样下载纹理。我首先会尝试将纹理/图像下载到本地存储,然后将其转换为位图。在 https://github.com/Rajawali/RajawaliExamples 中有从位图加载纹理的示例。 - Morrison Chang
1个回答

3

我对Rajawali不是很熟悉,但是我刚刚查看了一下,它似乎非常容易加载远程纹理并将其应用于模型。

我假设您已经加载了3D模型,并可以正常显示。如果是这样,您应该采取以下基本步骤(这适用于所有3D建模应用程序):

  1. 准备纹理
  2. 准备材质
  3. 将材质应用于模型

Rajawali中有一个名为Texture的类,它从位图图像创建纹理对象。因此,您首先应该从服务器上下载该图像。下载过程与Rajawali概念无关,因此您可以通过许多现有库完成下载。

下载图像完成后,您可以将其提供给Texture类。

Texture mytexture = new Texture("texture", /*address to the downloaded image*/);

然后,你需要将它添加到一个材料中。
try {
    material.addTexture(mytexture);

} catch (ATexture.TextureException error){
    Log.d(TAG, "Error Occurred");
}

现在,您可以将这个材料应用于模型。
model.setMaterial(material);

1
非常感谢!我已经试图解决这个问题好几个月了。你真是我的救星!! - Steve C.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接