0

私は 3D 立方体を作成しています。すべての面に 1 つの画像を割り当てることができますが、面ごとに異なる画像を割り当てたいと考えています。参照用に NeHe ポートを使用したため、1 つの画像の機能は次のとおりです::

 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 つの画像しか設定できません。顔ごとに異なる画像を設定したい。画像の配列を作成してからこの関数に渡そうとしましたが、無駄でした。

4

1 に答える 1

3

テクスチャ配列(参照している場合) は機能するはずですが、シェーダーでレイヤーを計算する方法によって異なります。

それ以外の場合は、各面を個別に描画して毎回適切なテクスチャをバインドするか、キューブマップを使用する必要があります。

于 2012-09-07T11:30:33.307 に答える