01−05、TexBank
テクスチャのコンテナ
メタセコイアでは同じテクスチャを複数の材質に割り当てる場合が多くあります。
この材質データを参照して表示用のテクスチャデータを作ると、同じ内容のものを何個も作る事になり
ビデオメモリが無駄になります。最悪の場合、ビデオメモリが足りなくてアプリを実行できなくなくなる事態なども考えられます。
ですのでビデオメモリ節約のために、複数の材質から参照されていても同じファイルからは1個しか表示データを作らないという仕組みにしました。
それぞれのテクスチャはCTexElemクラスとして作成し、
それらをまとめたり検索したりするクラスをCTexBankとして作成します。
それぞれの変数メンバを以下に示します。
|
CTexBankのm_texmapはCTexElemのm_idからテクスチャデータを参照できるようにしたmapです。
m_nameはディレクトリを除いたファイル名のみを格納し、m_pathはディレクトリのみを格納します。
m_orgheight, m_orgwidthは元データの絵の大きさです。
m_height, m_widthは読み込み後の絵の大きさです。
元の絵の大きさと読み込み後の絵の大きさは異なる可能性があることを覚えておいてください。
m_ptexは表示用のテクスチャデータです。
01章のトップに戻る
オープンソースのトップに戻る
トップページに戻る