****************************************************************

	libdg.txt

	mgs2/source/system/libdg 以下に対する説明

	2001/11/29 K.Takabe
	$Id: libdg.txt,v 1.1.1.3 2002/11/19 11:42:10 Yoshizawa1 Exp $

****************************************************************


●system/libdg/以下についての説明

<bound_vu.dsm>
バウンディングチェック用マイクロプログラム(screen.c他用)
バウンディングボックスの可視判定用ＶＵ０プログラム。screen.c他いくつかの
バウンディング計算を行うプログラムから呼ばれる。

<bumpsurf.dsm>
パッチ曲面（バンプマップ式）。未完成。未使用。

<chain.c>
チャンネル処理ユニット／オブジェクトのＤＭＡ接続ルーチン
DG_OBJSオブジェクトの描画関連

<chain2.c>
チャンネル処理ユニット／オブジェクト（マルチテクスチャ付き）のＤＭＡ接続ルーチン
DG_OBJSオブジェクトの描画関連

<chanl.c>
チャンネル管理ルーチン

<comdl.c>
チャンネル処理ユニット／共有モデルオブジェクト処理ルーチン
DG_COMDLオブジェクト管理、描画などを行う

<comdl_vu.dsm>
チャンネル処理ユニット／共有モデルオブジェクト処理ルーチン
DG_COMDLオブジェクト表示用ＶＵ１プログラム。comdl.cより呼ばれる

<command.c>
ＧＣＬ用各種コマンド類
ＬＩＢＤＧ関連におけるシナリオ呼び出しルーチン

<curvsurf.dsm>
パッチ曲面（エルミート補間方式）パケット処理プログラム
パッチ曲面を描画するためのＶＵ１プログラム。patch.cより呼ばれる

<debug.c>
デバッグ関連ルーチン。未使用

<def_dma.h>
ＤＭＡ関連定義ヘッダ
ＤＭＡを使う上でのマクロや定数が用意されている。

<dgd.c>
ライブラリ制御デーモン
ＬＩＢＤＧを動かす上でのデーモンアクターの起動などを行う。

<dma_ctrl.c>
ＰＳ２ＤＭＡ制御ルーチン
ＬＩＢＤＧにおける描画パケットＤＭＡを全て管理するルーチン。

<dmapack.c>
ＤＭＡパケット接続型オブジェクト管理ルーチン
DG_DMAPACKオブジェクトを管理する。DG_DMAPACKはＰＳ２に依存したＤＭＡパケットを
ＬＩＢＤＧのシステムから呼ばせることが出来る特殊なオブジェクト。

<evmobjs.c>
マルチウェイトエンベロープオブジェクト処理ルーチン
DG_EVMOBJオブジェクトを管理、描画を行う。

<frame.c>
フレームパラメータ管理ルーチン
フレーム描画の前処理やカメラの設定などを管理する。

<libdg.cnf>
ＤＧライブラリ内部コンフィギュレーション
画面サイズやＶＲＡＭ配置などの定数を定義

<libdg.h>
ディスプレイジェネレータライブラリヘッダ
ＬＩＢＤＧのヘッダ

<libdg.x>
ディスプレイジェネレータライブラリプロトタイプ宣言
ＬＩＢＤＧ関連のプロトタイプ宣言用ヘッダ

<light.c>
光源データ管理ルーチン
光源データの管理を行う。

<loader.c>
ロード初期化ルーチン
ＬＩＢＤＧに関連するロードデータのセットアップなどを行う。

<m_prim2.c>
メニュープリミティブ２
メニューなどに使用する２Ｄ描画プリミティブを管理する

<m_weight.c>
マルチウェイトエンベロープ補助ルーチン
現在未使用

<mw_env.dsm>
マルチウェイトエンベロープ計算処理プログラム
m_weight.cから呼ばれるもので現在未使用。

<mwtrans.dsm>
フォグ処理付きマルチウェイトモデルパケット処理プログラム
現在未使用

<mwtrans2.dsm>
フォグ処理付きマルチウェイトモデルパケット処理プログラム（法線正規化＆平行投影バンプマッピング対応バージョン）
現在未使用

<mwtrans3.dsm>
フォグ処理付きマルチウェイトモデルパケット処理プログラム（法線正規化＆ＵＶバンプマッピング対応バージョン）
現在未使用

<mwtrans4.dsm>
フォグ処理付きマルチウェイトモデルパケット処理プログラム
（法線正規化＆ＵＶバンプマッピング対応バージョン）
（＋マトリクスパレット方式採用バージョン）
現在使用されてるマルチウェイトモデル描画用ＶＵ１プログラム。evmobj.cより呼ばれる。

<objs.c>
新物体ハンドラ処理ルーチン
DG_OBJSオブジェクトを管理。描画はchain.c及びchain2.cで処理される。

<opack.c>
モデル用パケット処理ルーチン
モデル描画ルーチンなどで使用する初期化及び前処理用パケットや各種制御用パケットの生成を
行うルーチン郡

<opt_cmf.c>
チャンネル処理ユニット／光学迷彩オブジェクトＤＭＡ接続ルーチン
光学迷彩フラグを立てたDG_OBJSオブジェクトの描画を行う。

<optcmfvu.dsm>
光学迷彩処理モデルパケット処理プログラム
光学迷彩モデル描画用ＶＵ１プログラム。opt_cmf.cより呼ばれる。

<packet.c>
定型パケット生成ルーチン
よく使われるＰＳ２形式のパケットを生成するルーチン。主にopack.cより呼ばれることが多い。

<patch.c>
パッチ曲面オブジェクト用ヘッダ
DG_PATCHオブジェクトの管理、描画を行う。

<plugin.c>
プラグイン管理ルーチン
ＬＩＢＤＧの描画ステージにユーザーが新たな描画ステージを追加するための機構を管理する。
実際のところ、これが有効に活用されているとは言いがたい。
（一応ＬＩＢＤＧ初期化時に光学迷彩や共有モデルがプラグインとして起動されている）

<pos.c>
三次元座標計算ユーティリティ
ＰＳ１のＭＧＳ１に存在したＰＳ１ＧＴＥを活用するための簡易計算ルーチン郡。

<prim.c>
チャンネル処理ユニット／プリミティブ処理ルーチン
初期のプリミティブ処理ルーチン。現在未使用。

<prim2.c>
チャンネル処理ユニット／新プリミティブ処理ルーチン
エフェクトなどに使用するDG_PRIM2オブジェクトの管理、描画を行う。
実際の描画はchain.cから間接的に描画用関数が呼ばれる。

<prims.h>
各種プリミティブタイプ定義ヘッダ
ＰＳ１に近い形の簡易描画パケットなどを定義。

<pshade.c>
プレシェイド（ＲＧＢ前処理計算）ルーチン
DG_OBJSオブジェクトに対して予め頂点単位でＲＧＢ値を求めるためのルーチン。

<pshadevu.dsm>
プリシェード用マイクロサブルーチン
プリシェード処理の計算時に呼ばれるＶＵ０プログラム。pshade.cより呼ばれる。

<reflsuf2.dsm>
パッチ曲面摂動式環境マップ平面パケット処理プログラム（Ｙ軸反映バージョン）
DG_PATCHオブジェクト用ＶＵ１プログラム。patch.cより呼ばれる。reflsurf.dsmのプログラムからの
派生で、reflsurf.dsmではＹ座標が固定だったものが、こちらでは曲面に応じて適切に変化する。
実際にはpatch.cから直接呼ばれるわけではなく、ユーザーが間接的に指定することで呼ばれることになる。

<reflsurf.dsm>
パッチ曲面摂動式環境マップ平面パケット処理プログラム
DG_PATCHオブジェクト用ＶＵ１プログラム。patch.cより呼ばれる。

<refrsurf.dsm>
パッチ曲面摂動式光学マップ平面パケット処理プログラム
使ってない・・・かな？

<scn_shot.c>
スクリーンショット撮影
デバッグ用の画面キャプチャルーチン

<screen.c>
チャンネル処理ユニット／モデルスクリーン座標計算ルーチン
DG_OBJSの画面内チェックや、マトリクスのセットアップ処理等を行う。セットアップした
マトリクス情報やパケット情報は生データとしてパケットデータにストアされる。

<shadowvl.c>
シャドーボリューム生成ルーチン
未完成。現在使われていない

<shdwchin.c>
チャンネル処理ユニット／影オブジェクトＤＭＡ接続ルーチン
シャドウマップ＆スポットライトマップ処理ルーチン。

<shdwclip.vu1>
シャドーボリューム用クリップ付き描画実験ＶＵ１プログラム
未完成。未使用。

<shdwtrn2.dsm>
新フォグ処理付き影投影モデルパケット処理プログラム
シャドウマップ用ＶＵ１プログラム。shdwchin.cより呼ばれる

<shdwtrns.dsm>
フォグ処理付き影投影モデルパケット処理プログラム
シャドウマップ用ＶＵ１プログラム。現在未使用

<sort.c>
チャンネル処理ユニット／プリミティブソート処理ルーチン
現在未使用

<store.c>
イメージストア処理ユニット
システムで使用するためのバックグラウンドイメージ退避ルーチン。

<t0_clamp.vu1>
クランプ処理付き描画ＶＵ１プログラム
未使用。

<t0_clip.vu1>
クリップ処理付き描画ＶＵ１プログラム
未使用。

<t0_fast.vu1>
高速描画ＶＵ１プログラム
未使用。

<t0_shdw.vu1>
影レンダリング用描画ＶＵ１プログラム
未使用。

<t1_clip.vu1>
クリップ処理付き描画ＶＵ１プログラム（フォグ対応）
未使用。

<t1_fast.vu1>
高速描画ＶＵ１プログラム（フォグ対応）
未使用。

<t1_prim.vu1>
クリップ処理付きプリミティブ描画ＶＵ１プログラム（フォグ対応）
未使用。

<t1_shdw.vu1>
影レンダリング用描画ＶＵ１プログラム（フォグ対応）
未使用。

<t2_clip.vu1>
クリップ処理付き描画ＶＵ１プログラム（フォグ対応）
未使用。

<t2_fast.vu1>
新高速描画ＶＵ１プログラム（フォグ対応）
未使用。

<t2_prim.vu1>
クリップ処理付きプリミティブ描画ＶＵ１プログラム（フォグ対応）
DG_PRIM2用ＶＵ１プログラム。実際にはprim2.cより呼ばれる。

<t2_shdw.vu1>
新影レンダリング用描画ＶＵ１プログラム（フォグ対応）
未使用。

<t3_clip.vu1>
クリップ処理付きマルチテクスチャ描画ＶＵ１プログラム（フォグ対応）
マルチテクスチャ対応DG_OBJS用ＶＵ１プログラム。

<t3_cull.vu1>
カリング、クリップ処理付きマルチテクスチャ描画ＶＵ１プログラム（フォグ対応）
マルチテクスチャ対応DG_OBJS用ＶＵ１プログラム。カリング付きバージョン。現在未使用

<t3_fast.vu1>
カリング、クリップ処理付きマルチテクスチャ描画ＶＵ１プログラム（フォグ対応）
マルチテクスチャ対応DG_OBJS用ＶＵ１プログラム。カリング付きバージョン。バースト描画機能バージョン。

<t4_clip.vu1>
カリング、クリップ処理付き描画ＶＵ１プログラム（フォグ対応）
未使用。

<t4_fast.vu1>
カリング処理付き高速描画ＶＵ１プログラム（フォグ対応）
未使用。

<t5_clip.vu1>
カリング、クリップ処理付き描画ＶＵ１プログラム（フォグ対応）
DG_OBJS用ＶＵ１プログラム。

<t5_fast.vu1>
カリング処理付き高速描画ＶＵ１プログラム（フォグ対応）
DG_OBJS用ＶＵ１プログラム。

<t5_shdw.vu1>
新影レンダリング用描画ＶＵ１プログラム（フォグ対応）

<text.c>
テクスチャ管理ルーチン
テクスチャデータの管理や、転送用パケットの準備などを行う。

<trans0.dsm>
ノーマルモデルパケット処理プログラム
現在未使用。

<trans1.dsm>
フォグ処理付きモデルパケット処理プログラム
現在未使用。

<trans2.dsm>
新フォグ処理付きモデルパケット処理プログラム
DG_OBJS用ＶＵ１プログラム。実際にはここから
t5_fast.vu1, t5_clip.vu1, t2_prim.vu1 などが呼ばれる

<trans3.dsm>
新フォグ処理付きマルチテクスチャモデルパケット処理プログラム
マルチテクスチャ対応DG_OBJS用ＶＵ１プログラム。このファイルに
t3_cull.vu1, t3_fast.vu1が呼ばれる

<vanime.c>
頂点アニメーション補助ルーチン
DG_OBJSにおいて各種頂点データを差し替えることでアニメーションを実現するための
補助ルーチン。


