「 SEGA 3D 」
「 model modelname { vertices ;number of verticies { (x0,y0,z0),(nx0,ny0,nz0) ;0 (x1,y1,z1),(nx1,ny1,nz1) ;1 ............. ;2 } polygons ;number of polygons { (v0,v1,v2,v3),(Nx,Ny,Nz),(Zpos) ;0 ............. ;1 } } 」
model | : 制御構造 |
vertices | : 制御構造 |
polygons | : 制御構造 |
modelname | : モデル名 |
(Xn,Yn,Zn) | : 各頂点座標 |
(nx0,ny0,nz0) | : 各頂点法線ベクトル(単位ベクトル) |
(v0,v1,v2,v3) | : 面を構成する頂点番号 |
(Nx,Ny,Nz) | : 面法線ベクトル |
(Zpos) | : Zソートの基準(AVE=中心/MIN=最近/MAX=最遠) |
0 1 ┌───────┐ │ → │ │ │ │↑ ↓│ │ │ │ ← │ └───────┘ 3 2
「 slips modelname { materialname_0 materialname_1 ......... } 」
slips | : 制御構造 |
modelname | : 対応モデル名 |
materialname_n | : 対応マテリアル名 |
「 material materialname { type (TYPE0|TYPE1|...) texture "textureName" color ColorCode gouraud offset direction 0,1,2,3 } 」
material | : 制御構造 |
type | : 予約語 |
texture | : 予約語 |
color | : 予約語 |
gouraud | : 予約語 |
direction | : 予約語 |
materialname | : マテリアル名 | ||||||||||||||||
(TYPEn) | : マテリアルタイプ。シェーディング・マッピング等の方法を指定する。 | ||||||||||||||||
→ NULL=なし | |||||||||||||||||
FLAT=フラットシェーディング | |||||||||||||||||
TEXT=テクスチャマッピング | |||||||||||||||||
GOUR=グーローシェーディング | |||||||||||||||||
MESH=メッシュ表示 | |||||||||||||||||
TRAN=半透明 | |||||||||||||||||
SHAD=半輝度 | |||||||||||||||||
※複数指定は'|'で接続する。 | |||||||||||||||||
"textureName" | : テクスチャマップファイル名 | ||||||||||||||||
ColorCode | : ノンテクスチャカラーコード(RGB各5bit=1b.B5.G5.R5) | ||||||||||||||||
offset | : グーローカラーオフセット=0x10。未使用データ。 | ||||||||||||||||
0,1,2,3 | : テクスチャマップの各頂点への対応。表示方向。 |
「 object objectname { modelname_0,(xs,ys,zs),(xd,yd,zd),(xt,yt,zt),(xi,yi,zi) { } modelname_1,(xs,ys,zs),(xd,yd,zd),(xt,yt,zt),(xi,yi,zi) { modelname_2,(xs,ys,zs),(xd,yd,zd),(xt,yt,zt),(xi,yi,zi) { modelname_4,(xs,ys,zs),(xd,yd,zd),(xt,yt,zt),(xi,yi,zi) { } } modelname_3,(xs,ys,zs),(xd,yd,zd),(xt,yt,zt),(xi,yi,zi) { } } .................................. .................................. } 」
object | : 制御構造 |
objectname | : オブジェクト名(=ファイル名) |
modelname_n | : モデル名 |
(xs,ys,zs) | : スケール(比) |
(xd,yd,zd) | : ローテート(角度:-180.0〜+179.0) |
(xt,yt,zt) | : トランスレーション(座標) |
(xi,yi,zi) | : 現在未使用=(0,0,0) |
「 light { vector n ;number of light { (X0, Y0, Z0) ;0 (X1, Y1, Z1) ;1 ............ } } 」
light | : 制御構造 |
vector | : 制御構造 |
(Xn,Yn,Zn) | : 光源の単位ベクトル |
「 attribute modelname { { type (TYPE0|TYPE1|...) texture "textureName" color ColorCode1, ColorCode2 gour_color (R1,G1,B1),(R2,G2,B2),(R3,G3,B3),(R4,G4,B4) direction 0,1,2,3 zsort (Zpos) } { ..... } .......... .......... } 」
attribute | : 制御構造 |
type | : 予約語 |
texture | : 予約語 |
color | : 予約語 |
gour_color | : 予約語 |
direction | : 予約語 |
modelname | : モデル名 |
(TYPEn) | : マテリアルタイプ(マテリアルデータと同様)。 |
シェーディング・マッピング等の方法を指定する。 | |
→ NULL=なし | |
FLAT=フラットシェーディング | |
TEXT=テクスチャマッピング | |
GOUR=グーローシェーディング | |
MESH=メッシュ表示 | |
TRAN=半透明 | |
SHAD=半輝度 | |
※ 複数指定は'|'で接続する。 | |
"textureName" | : テクスチャマップファイル名 |
ColorCode1 | : マテリアルに設定されたノンテクスチャカラーコード |
(RGB各5bit=1b.B5.G5.R5) | |
ColorCode2 | : 現在の光源によって計算されたノンテクスチャカラーコード |
(RGB各5bit=1b.B5.G5.R5) | |
(Rn,Gn,Bn) | : 現在の光源によって計算された4頂点のグーローテーブル |
0,1,2,3 | : テクスチャマップの各頂点への対応。表示方向。 |
→ [0,1,2,3]=通常表示 | |
[1,0,3,2]=H反転表示 | |
[3,2,1,0]=V反転表示 | |
[2,3,0,1]=HV反転表示 | |
[1,2,3,0]=90度回転通常表示 | |
[2,1,0,3]=90度回転H反転表示 | |
[0,3,2,1]=90度回転V反転表示 | |
[3,0,1,2]=90度回転HV反転表示 | |
(Zpos) | : Zソートの基準(AVE=中心/MIN=最近/MAX=最遠 |