如何在opengl(android)中显示多维数据集每个面上的不同图像?

时间:2012-09-07 10:21:00

标签: android graphics opengl-es 3d cube

我正在制作一个3D立方体,我可以为每个面部分配一个图像,但我想为每个面部分配不同的图像。我使用NeHe端口作为参考,因此对于一个图像,该函数是::

 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();
        }
    }
}

我在我的渲染器中调用此函数,如::

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

但我只能为每张脸设置一张图片。我想为每张脸设置不同的图像。我尝试制作一组​​图像,然后将它传递给这个函数但是徒劳无功。

1 个答案:

答案 0 :(得分:3)

Texture arrays(如果它是您所指的)应该可以使用,但这取决于您在着色器中计算图层的方式。

否则,您必须单独绘制每个面并每次绑定正确的纹理,或使用cubemap