English
HARDWARE Manualセガサターン概要マニュアル
戻る進む

■3.3 VDP1

 VDP1は、スプライトを制御します。従来のシステムに比べて描画が格段に速くなり、 水平方向のスプライト数の制限をなくしたので、より多くのスプライト(キャラクタ)を表示 することができます。また、スプライトの応用として、ポリゴンを表示することができます。

 ●システム構成
 VDP1には、VRAM、2面のフレームバッファが接続されます(図3.2)。VRAMの描画コマンドは、 CPUからSCUを介してセットされます。
  VDP1は、VRAMから描画コマンドを読み出し、フレームバッファに描画データを書き込みます (描画します)。描画を制御する情報は、VDP1の内部のシステムレジスタに設定されます。 描画されたフレームバッファのデータは、画像表示制御を行うVDP2を介して、TVに表示します。

図3.2 VDP1システム構成

VDP1のシステム仕様を表3.3に示します。

表3.3 VDP1システム仕様
No
項  目
仕   様
備  考
1
テクスチャパーツ表示
・定形スプライト
 (通常のスプライト、横8〜504dot、縦1〜255dot)
・拡縮スプライト
 (縦横1dot単位で任意の大きさの指定が可能)
・変形スプライト
 (4頂点の自由な座標指定可能)
全てのスプライトで上下左右反転
が可能
 
 
 
 
2
ノン・テクスチャ
     パーツ表示
・四角形ポリゴン
・ポリライン
・ライン
隣接の2頂点を同一座標にすれば
三角形ポリゴン、ポリラインが
可能
3
色演算
・パーツ同士の半透明
・半輝度
・シャドゥ
・メッシュ
・グーローシェーディング
グーローシェーディングと半透明
あるいは半輝度の組合せ可能
 
 
 
4
描画方式
・ダブルフレームバッファ方式
 (フレームバッファ平面全体の拡大、縮小、回転、変
 形が可能。
 フレームバッファ消去範囲、消去データの指定可能。
 書き込みローカル座標設定可能。
 矩形領域のクリッピング指定可能。)
 
5
同時発色数
・16,64,128,256,32768色
ハイレゾ時は16,64,128,256色
6
メモリ容量
・VRAM 4Mbit
 (キャラジェネ、各種テーブル用)
・フレームバッファ 2Mbit×2面
 (2面ともビットマップとして使用可能。内1面を表示)
 

 ●機能
 VDP1の主な機能を、次に示します。

 パーツ、カラーモード、および座標については、VRAM上のコマンドテーブルで制御し、フレームバッファの表示の制御は、システムレジスタで制御します。

<パーツ>
 VDP1が描画するパーツは、元絵のある無しによって、テクスチャパーツとノン・テクスチャパーツに分れます。パーツの分類を表3.4に示します。

表3.4 パーツの分類
分  類
パーツ名
機  能
定 義 方 法
パーツ
テクスチャパーツ
定形スプライト
キャラクタ、
上下、左右反転
1頂点の読み出し方向
拡縮スプライト
キャラクタ、
上下、左右反転、
拡大縮小、伸縮可能
2頂点の読み出し方向、または不動
点と幅と読み出し方向
変形スプライト
キャラクタ、
上下、左右反転、
拡大縮小、伸縮、
回転、ねじれ可能
4頂点の読み出し方向
ノン・テクスチャパーツ
ポリゴン
四角形、
中は塗りつぶし
4頂点
ポリライン
四角形
4頂点
ライン
直線
始点と終点

◆テクスチャパーツ
 スプライトは、キャラクタパターンを描画します。キャラクタパターンは、 ピクセルデータをキャラクタパターンテーブルとして、VRAMに定義します。


◆ノン・テクスチャパーツ


●カラーモード指定
 テクスチャパーツのカラーモード指定には、カラーバンク方式、RGBコード方式、またはカラールックアップ方式があります。ノン・テクスチャパーツのカラー指定には、ピクセルのデータがあります。

◆カラーバンク方式

図3.7 カラーバンク方式の構成


MSB                    LSB
┌──┬──┬────────┬──────────────┐
│  │  │カラーバンク│  パレットコード   │
└──┴──┴────────┴──────────────┘
 │  │                     
 │  └─→プライオリティー           
 ↓                        
 色演算                      

◆RGBコード生成
 RGB(赤、緑、青)それぞれの輝度の5ビットでカラーを表現します。1キャラクタ内で32,768色が表現できます。
◆カラールックアップテーブル
 カラールックアップテーブルには16色のカラーを定義し、その中からカラーを選びます。1つのカラーは16ビットで、RGBコード、カラーバンクコードのどちらでもかまいません。


●色演算
 VDP1では、グーローシェーディング、シャドゥ、半輝度、半透明の色演算を指定できます。
表3.5に色演算の種類を示します。

表3.5 色演算の種類
種   類
内     容
半輝度
元絵の輝度を半分にしたものを、フレームバッファに描画します。下地に
上書きするので下地は見えず、元絵の輝度が半分になります。
半透明
下地の輝度を半分にしたものと、元絵の輝度を半分にしたものを加算し、
その結果をフレームバッファに描画します。
シャドゥ
下地の輝度を半分にしたものを、フレームバッファに再描画します。この
場合元絵のキャラクタの形の影ができます。また元絵のキャラクタは、影
の形にのみ使われ、色のデータは無視されます。
グーローシェーディング
元絵にグーローシェーディングを掛けたものを、フレームバッファに描画
します。
グーローシェーディング
半透明
元絵にグーローシェーディングを掛けたものの輝度を更に半分に落とし、
下地の輝度を半分にしたものを加算します。その結果をフレームバッファ
に描画します。
グーローシェーディング
半輝度
元絵にグーローシェーディングをかけたものの輝度を更に半分に落とし、
フレームバッファに描画します。

◆グーローシェーディング
 RGBで描かれたパーツに対してのみ、グーローシェーディングを掛けることができます。 グーローシェーディングは、ポリゴンの頂点間で色を補間して、平面を曲面らしく見せる方法です。
 ポリゴンの4頂点にそれぞれ輝度補正値を与え、それら4頂点の間でグーローシェーディングを掛けることにより曲面らしく見せています。またポリゴンだけでなく、ポリライン、ライン、にもグーローシェーディングを掛けることができます。 図3.8にグーローシェーディングの例を示します。

図3.8 グーローシェーディングの例


●メッシュ処理
 全てのパーツに対してメッシュを掛けることができます。メッシュを掛けると、 そのパーツは1ドットおきに格子状に描画されます。
「X座標値+Y座標値」が偶数の場合は描画され、奇数の場合は描画されずスキップされます。(図3.9)

図3.9 メッシュ処理の例


●クリッピング
 クリッピングとは、設定した表示領域以外の領域には描画しないよう切り取る(クリップする)ことです。 クリッピングには、システム描画領域を設定するシステムクリッピングと、 ソフトウェアで自由に設定できるユーザクリッピングがあります。
◆システムクリッピング
 システムクリッピングは、描画の際かならず有効になり、設定した領域の内側が描画されます。
 設定は画面左上座標(0,0)固定で、右下座標を指定することにより設定することができます。(図3.10)

図3.10 システムクリッピング

◆ユーザクリッピング
 ユーザクリッピングは、ソフトウェアで選択が可能で、各パーツごとにユーザクリッピング を有効にするか、あるいはユーザクリッピングの有効領域を、設定領域の外側または、内側を 選ぶことができます。
 設定は左上座標および、右下座標の各頂点を指定することによりユーザクリッピングエリアを設定することができます。(図3.11)。

図3.11 ユーザクリッピング


●フレームバッファ
 フレームバッファは、表示フレームバッファと描画フレームバッファの2面に分かれます。
SCUからフレームバッファへのリード/ライトアクセスは、描画フレームバッファに対してのみ行われます。 表示フレームバッファは、裏バンクとなり、アクセスすることはできません。
 またフレームバッファを読み出すことにより、読み出し開始座標と次の読み出しドットは、 どこにするかを指定するX,Y方向の変位を与えることで、フレームバッファ平面全体を拡大、縮小、回転させることができます。


●表示方式
 表示は、一般的なディスプレイ装置であるTVを使います。国内とアメリカのTV規格はNTSC方式です。 ヨーロッパはPAL方式です。
 TVの表示は、フレーム(1フレームは1/60秒)ごとにフレームバッファの先頭からデータを読み出されて行われます。
 通常1フレームは1フィールドですが、インタレースで1フレームを2フィールドにして、縦の解像度を2倍(1フレームは1/30秒)にすることができます。インタレースには、 表3.6のように倍密インタレースと単密インタレースがあります(表3.6)。

表3.6 インタレース
倍密インタレース
奇数ライン、偶数ラインで別画像を表示
単密インタレース
奇数ライン、偶数ラインで同じ画像を表示


戻る進む
HARDWARE Manualセガサターン概要マニュアル
Copyright SEGA ENTERPRISES, LTD., 1997