反論紹介

目次

はじめに

注意・重要

テクスチャ表現

8bitテクスチャ・シェーディングプレステとの比較

メモリ

SGL

プレステとの比較

回転BG

まとめ


8bitテクスチャ・シェーディング


ここからは、グーローシェーディングが使えないパレットポリゴンで、どうやって「光」を表現するか、という話。


先に書いたように、スプライトの色を指定するには、RGB の直接指定と、パレットによる指定がありました。

いずれの場合も、VDP2 は、1ドットを 16bitで処理し、混在することも出来ました。


スプライトは、4枚あるBG画面と、好きなように重ね合わせることができました。全部で5段階の位置を持ちます。

単に重ね合わせるだけでなく、半透明の設定もできました。この半透明度も、最大で8段階の設定が可能です。

パレット1本の中に、16~256色の色がセットになっています。そして、この「パレット」は最大256本持つことができ、色違いのキャラなどの表現に役立てることができました。


実際には、重ね合わせは 1~3bit、半透明度も1~3bit、パレット番号は 1~8bit、色番号は 4~8bit で可変です。先に書いた「RGB との区別用」のbit が必要な場合もあります。全部最大にしてしまうと、16bit には収まりません。

これらを組み合わせて 16bit に納めた「スプライトタイプ」がいくつか用意されていて、その中から選ぶことになります。




さて、kozo さんの話では 8bit のパレット、と言っていますが、これはパレット番号が 8bit、色番号が 4bit …つまり、16色のパレットを 256本持てるモードを使用する、という意味です。


そうすることで、グーローシェーディングが使えないパレットモードでも、シェーディングが使えるようにする機能がSGLにあったはず、というのですが…


僕の記憶になかったのですが、流出している英語版マニュアルを調べたところ、端っこの方にちょっとだけ書いてありました。

Appendix の最後(5ページ目:全体の230ページ目)、一番下の UsePalette の説明です。


Specify with "UseLight" when performing light source calculations for a pallet mode polygon.

In this case, 8 colors are selected from the specified palette number according to brightness (+0 is low brightness).


和訳:

パレットモードのポリゴンに光源計算を行う場合、一緒に UseLight を指定してください。

この場合、明るさによって8本のパレットが選ばれます (+0 が一番暗い)。


意味不明でしょうから説明します。これは、プログラマーがポリゴンモデルの「属性」を与える際の説明です。

UseLight を指定すると、テクスチャ無しや、RGBテクスチャのポリゴンにたいし、フラットシェーディングや、グーローシェーディングをかけられます。


UsePalette を指定すると、テクスチャがパレットモードであることを意味します。

この場合、サターンの機能としては「シェーディングが使えない」のですが…


ここでの説明はつまり、両方の指定を同時に行った場合は、光源計算(ポリゴンの明るさの計算)をしたうえで、本来のパレット番号に適切な「明るさの数値」を足したパレットを使って表示するよ、という意味。

ハードウェアの光の表現が使えないので、ソフトで表現するための工夫です。


これ以外の説明を探しても見つかりませんでした。
光の表現って、ポリゴン3Dではすごく重要な情報なのに、どうして書いてないのだろう…

「8色」となっているのは、明るさの範囲が0~7だということでしょう。

kozo さんの書いた16段階とは食い違いますが、記憶のみで書いたための些細な誤りかと思います。


パレット自体は全部で256本持てるため、明るの表現で8本をセットにして扱うとしても、この「色セット」を32セット用意できます。


全部を使えば、16色 * 8パレット * 32セット = 4096色。


少し計算が変わりましたが結果は同じ。

kozo さんの書く「4096色モード相当」というのは、これを意味しています。




さて、話はこれで終わりではありません。

ここで設定されるパレットの「明るさ」は、光源とポリゴンの位置関係だけで決まります。


でも、洞窟の中でスポットライトが当たっている時と、春の日差しのお花畑にいるときで、光の感じは変わります。

洞窟では1方向からの光しかありませんが、春のお花畑は、乱反射によって周囲からも光が当たるのです。


このような「周辺に満ち溢れた光」を、アンビエント光(環境光)と呼びます。

場合によっては、アンビエント光は「夕日に照らされている」などのように、光の色合いも変わります。


アンビエント光は、「環境」によるものですから、ポリゴンが動いたくらいでは変わりませんが、シーンが大きく変わった際には変化します。

そこで、シーンが変わった際にはポリゴンモデルはそのままでも、「パレット」を全部入れ替えてやります。


これを、アンビエント光の強さによって 16種類ほど用意したとしたら…


「光源一つとアンビエント光」というのは、このようなパレット入れ替えも含めての意味です。

「メモリも食う」とありますが、一色のデータが 2byte で、4096色を、アンビエント別に16段階。

これは、128Kbyte のデータが必要になります。


サターンでの光の表現は「無理ではない」が「大変だった」とよくわかるエピソードです。


次ページ: プレステとの比較


前ページ 1 2 3 4 5 6 次ページ

(ページ作成 2014-11-21)

前記事:次世代ゲーム機戦争     戻る
トップページへ

-- share --

34000

-- follow --




- Reverse Link -