2012-09-07 3 views
0

Je crée un cube 3D, je peux assigner une image pour chaque visage, mais je voudrais assigner des images différentes pour chaque visage. J'ai utilisé le port NeHe pour référence, ainsi pour une image la fonction est ::Comment afficher Différentes images sur chaque face de cube dans opengl (android)?

public static Bitmap getTextureFromBitmapResource(Context context, int resourceId) 
{ 
    Bitmap bitmap = null; 
    try 
    { 
     bitmap = BitmapFactory.decodeResource(context.getResources(), resourceId); 
     return Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(), yFlipMatrix, false); 
    } finally 
    { 
     if (bitmap != null) 
     { 
      bitmap.recycle(); 
     } 
    } 
} 

J'appelle cette fonction dans mon Renderer comme celui-ci ::

Bitmap texture = getTextureFromBitmapResource(context, R.drawable.img1); 

Mais je peux mettre une seule image pour chaque visage. Je veux définir des images différentes pour chaque visage. J'ai essayé de faire un tableau d'images et de le passer à cette fonction mais en vain.

Répondre

3

Texture arrays (si c'est ce que vous voulez dire) devrait fonctionner, mais cela dépend de la façon dont vous calculez la couche dans votre shader.

Sinon, vous devez dessiner chaque face individuellement et lier chaque fois la bonne texture, ou utiliser un cubemap.

Questions connexes