Текстура Android OpenGL из нелокального источника с использованием Rajawali3D?

Я использую OpenGL-библиотеку Rajawali3D для отображения моих моделей. Я хотел бы знать, как загрузить текстуру с моего сервера на основе зарегистрированного пользователя? Я искал по всему Интернету, пытаясь понять это в течение нескольких месяцев без успеха. Я нашел этот сайт, который объясняет, как загрузить текстуру из нелокального источника, но когда я попробовал, он не работал с Rajawali. Любые предложения или примеры будут высоко оценены.

Здесь веб-сайт, который я попытался использовать: текстура из Интернета

Ответ 1

Я не знаком с Rajawali, однако, как я только что проверил, кажется довольно легко загрузить удаленную текстуру и применить ее к модели.

Я предполагаю, что вы загрузили свою 3D-модель и можете показать ее в порядке. Если это так, вы должны предпринять следующие основные шаги (которые обычно применяются ко всем приложениям 3D-моделирования):

  • Подготовить текстуру
  • Подготовить материал
  • Применить материал к модели

В 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);