2010-11-26 11 views
1

私のopenglESコンテキストでは、1つのテクスチャをアニメーション化したいが、このテクスチャのデータは1秒間に多くの時間(ビデオフレームのように)です。 私の3Dシーンでは、単純な矩形のサーフェスをアニメーション化することです。OpenGLESレンダリングのためのテクスチャの高速交換について

これを実現する高速なテクニックでは、次のテクスチャをメモリ内に読み込み(他のスレッドでCGImageREFを読み込むことによって)、これを使用する直前にテクスチャのデータをプッシュします。

これについてお考えですか?

どうもありがとう

答えて

1

いくつかの再利用可能なテクスチャのキューを管理する行ビューでは、UITableViewの手渡しと同様の方法があります。フレームが必要になると、そのキュー内の次のテクスチャをデキューし、新しいイメージをそのキューにロードし、ロードされたテクスチャの異なるキューに追加して、適切なタイミングで表示できるようにします。フレームをスワップした後、以前に表示されたテクスチャをキューに再度エンキューして、後で再利用できるようにします。

2

あなたはこのcover flow sample codeを見ることができます。テクスチャをコンテナ(配列または辞書)に格納し、必要に応じてこれらのテクスチャを取得します。しかし、これを覚えておいてください。テクスチャは物理メモリを占有します。テクスチャが256x256の場合、256x256x4バイト(256KB)を占有します。あまりにも多くのテクスチャを格納すると、iOSのメモリ警告を受け取るのは簡単です。

+1

このコードは、再利用可能なテクスチャを最適化するための優れた情報源です。 – Pixman

+0

あなたは大歓迎です。 :) – AechoLiu

関連する問題