2015-10-24 5 views
11

Sto usando la libreria OpenGL Rajawali3D per visualizzare i miei modelli. Quello che vorrei sapere è come posso caricare una texture dal mio server in base all'utente connesso? Ho cercato su internet cercando di capirlo per mesi senza successo. Ho trovato questo sito Web che spiega come caricare una texture da una fonte non locale, ma quando ho provato, non ha funzionato con Rajawali. Eventuali suggerimenti o esempi sarebbero molto apprezzati.Trama Android OpenGL da origine non locale utilizzando Rajawali3D?

Ecco il sito che ho tentato di utilizzare: texture from web

+0

Si dovrebbe essere in grado di scaricare una texture come qualsiasi applicazione scaricherò un'immagine. Inizialmente tenterei di scaricare la texture/immagine nella memoria locale prima di trasformarla in una bitmap. Ci sono esempi di caricamento di trame da Bitmap in https://github.com/Rajawali/RajawaliExamples –

risposta

2

Non ho familiarità con Rajawali, tuttavia, come ho appena controllato fuori, sembra abbastanza facile da caricare una texture a distanza e applicarlo a un modello.

Suppongo che tu abbia caricato il tuo modello 3D e possa mostrarlo bene. Se è così, si dovrebbe prendere le seguenti operazioni di base (che si applicano in generale a tutte le applicazioni di modellazione 3D):

  1. Preparare tessitura
  2. Preparare il materiale
  3. Applicare il materiale a un modello

C'è una classe chiamata Texture in Rajawali, che crea un oggetto texture da un'immagine bitmap. Quindi, dovresti prima scaricare quell'immagine dal tuo server. Il processo di download è diverso dai concetti di Rajawali, quindi puoi farlo attraverso molte librerie esistenti.

Una volta completato il download dell'immagine, è possibile alimentarlo alla classe Texture.

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

Poi, si dovrebbe aggiungere a un materiale

try { 
    material.addTexture(mytexture); 

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

Ora, è possibile applicare questo materiale a un modello

model.setMaterial(material); 
+1

Grazie mille! Ho cercato di capirlo per mesi. Sei un risparmiatore di vita !! –

Problemi correlati