568kis00002MIO.H 1994/09/15 06:23:35 前へ 後へ 上へ

GSの色処理について


しるばさんから yav の方にメールで質問を頂きましたが、せっかくですから
他の方の参考になるよう、ボードでお答えします。
(勝手にそうしてすいません。)


(1) マルチパレットで 16 色パレットファイルは 17 個持てるか

その通りです。0 番目のパレット(*0) は 16 色全て使いますが、1 番以降は
透明色は必要ありませんから 15 色しか使いません。

	16 cols x 1 files + 15 cols x 16 files = 256 cols

という計算で 17 個持てます。1 番以降のパレットファイルの透明色は捨てられ
透明色は 0 番のものだけが有効です。 *0 から *16 まで指定可能です。

参考までに 8 色なら 36 ファイルということですね。( 8 + 7 x 35 = 253 )


(2) 256 色データの場合でもパレットファイル内に最大 10 組のパレットを
   持つ事が出来るのか

これも、その通りです。データ作成の手間等から現実的であるかどうかは
ともかく、仕様としては許容されています。MIO.H が直接コーディングした
KISSローダはそのとおり動くはずです。(試したことはないけど。)

KISSでは、16 色データも 256 色データも取り扱いで差別はしてません。
単に色数が異なるデータとして扱っているだけです。

例えば

   GSヘッダ  パレット(.KCF)              セル(.CEL)
   --------  -------------------------   ------------
   なし      4096 色中   16 色 x 10 組   4 bits/pixel   ---->(A)
   あり      1677 万色中 16 色 x 4  組   4 bits/pixel   ---->(B)
   あり      1677 万色中 64 色 x 1  組   8 bits/pixel   ---->(C)

のようなデータをマルチパレット機能にて同時表示可能です。この時

                 組→ 0 1 2 3 4 5 6 7 8 9
   ------------- ------------------------
   (A)のパレット      o o o o o o o o o o           o ... データあり
   (B)のパレット      o o o o x x x x x x           x ... データなし
   (C)のパレット      o x x x x x x x x x

となるのですが、(A) のパレットの第 9 組を表示したいとき(B),(C)は無くて
困りますね。ですから x の部分は 第 0 組のデータを使用するのです。
(KISS内部で組数を自動的に拡張しています。)
ただ、組が違うパレットファイルの組み合わせる事が出来ないので、適当に
組み合わせてもあまりつかえないと思います。表示不能にならないように
するための配慮が主目的です。

この時は切り替えないといけませんが最大 256 * 10 = 2560 色使用できます。
(重複が無いと仮定してです。通常はかなりの重複が発生します。)

余談ですが、違うカラーコードで同じ色の場合、内部で整理して総色数を
減らせますが、仕様にするかどうかは現在検討中です。


(3) 256 色パレットの複数組を扱うツールはあるか。

現在のところ、知りません。ご希望があれば

例)  kcfjoin a.kcf+b.kcf+c.kcf d.kcf

みたいなのなら簡単に作れますが。

100 色以上のデータでは組毎のデータを作るのもかなり大変でしょうが
挑戦してみる価値はあるかも。あと、ツールで生成する方法もあるでしょう。

	オリジナル → モノクロ → セピア

とかですね。これなら楽にできますね。

                               --- MIO.H ---

No Java Java

前へ 後へ 上へ