↑上や←左のタブでコンテンツを選べます
[キーワード ]
[携帯電話用(最新 20 件)]
[モード:
  記事一覧(フレーム有)
   記事一覧(フレーム無)/
   最新 20 件/
   最新 10 ツリー]

[リスト表示: 番号順/ツリー/スレッド一覧]
[分割: /]

[ヘルプ]


[前ページ] [次ページ]
[全て既読に] [最新]

[狭く] [広く]

    ┗ 2889. Re: 審査結果発表    かまた ゆたか     04/11(日) 10:38
     ┗ 2890. Re: 審査結果発表    ロマのフ     04/11(日) 13:02
      ┗ 2891. Re: 審査結果発表    いしかわ     04/11(日) 17:44
       ┗ 2892. Re: 審査結果発表    森山昇一     04/12(月) 16:41
        ┗ 2893. Re: 審査結果発表    山平(Sanpei)     04/12(月) 21:57
         ┗ 2894. Re: 審査結果発表    森山昇一     04/15(木) 13:24
          ┗ 2895. Re: 審査結果発表    山平(Sanpei)     04/15(木) 17:27
           ┗ 2896. Re: 審査結果発表    森山昇一     04/16(金) 11:14
            ┗ 2943. Re: 審査結果発表    拝御 礼     05/11(火) 13:06
 2944. DoGAL1の質問    小とろ     05/11(火) 21:09
  2945. Re: DoGAL1の質問    たかつ(ドーガ)     05/12(水) 15:29
  ┗ 2946. Re: DoGAL1の質問    小とろ     05/12(水) 18:14
 2947. 日記の逆襲    かまた ゆたか     05/14(金) 22:37
  2948. Re: 日記の逆襲    かまた ゆたか     05/14(金) 22:39
  2950. Re: 日記の逆襲    山平(Sanpei)     05/17(月) 21:48
  ┗ 2951. バカネタ    かまた ゆたか     05/17(月) 21:57
   ┗ 2953. Re: バカネタ    いも     05/19(水) 06:00
    ┗ 2954. Re: バカネタ    かまた ゆたか     05/19(水) 08:51
     ┗ 2955. Re: バカネタ    山平(Sanpei)     05/19(水) 12:27
      ┗ 2956. Re: バカネタ    ozaki     05/19(水) 15:27
 2957. 登録と殿堂入り、一般入り、没入りについて    リー(中国人ではない)     05/20(木) 13:19
  2958. Re: 登録と殿堂入り、一般入り、没入りについて    森山昇一     05/20(木) 13:57
  ┗ 2959. Re: 登録と殿堂入り、一般入り、没入りについて    リー(中国人ではない)     05/20(木) 17:37
   ┗ 2960. Re: 登録と殿堂入り、一般入り、没入りについて    たかつ(ドーガ)     05/20(木) 19:21
 2952. 風邪    かまた ゆたか     05/18(火) 08:13
  2961. Re: 風邪    かまた ゆたか     05/21(金) 14:56
 2963. ちょっと気になったのですが    ぬ     05/23(日) 02:22
  2965. Re: ちょっと気になったのですが    かまた ゆたか     05/23(日) 23:24
 2968. コンテストへのご来場    かまた ゆたか     05/25(火) 12:10
 2975. ついに日記が復活ですね    黒木     05/27(木) 18:31
 2974. DOGA_L1が起動できません。    フェリダエ     05/27(木) 13:47
  2976. Re: DOGA_L1が起動できません。    AceCreek     05/27(木) 22:14
  ┗ 2977. Re: ありがとうございました。    フェリダエ     05/27(木) 23:32
 2980. 日記    ハム     05/28(金) 19:18
 2988. (/TДT)/あうぅ・・・・    山平(Sanpei)     05/29(土) 15:40
 3006. 時期的にアレですが    燃料系アミノ式     05/30(日) 08:41
  3007. Re: 時期的にアレですが    燃料系アミノ式     05/30(日) 09:00
 2982. 作品応募者への圧力?    たつみ     05/28(金) 22:18
  2987. コンテストは常に中立であれ    御影たゆた     05/29(土) 12:19
  ┗ 2993. Re: コンテストは常に中立であれ    森山昇一     05/29(土) 19:03
   ┗ 3018. Re: コンテストは常に中立であれ    やまもと     05/31(月) 12:38
 3008. SUFファイルの仕様    糸瓜     05/30(日) 09:12
  3009. Re: SUFファイルの仕様    ozaki     05/30(日) 11:59
 ┃┗ 3014. Re: SUFファイルの仕様    AceCreek     05/30(日) 15:19
  3021. SUFファイル・ATRファイル・FRMファイルの仕様    たかつ(ドーガ)     05/31(月) 18:32
  ┗ 3026. Re: SUFファイル・ATRファイル・FRMファイルの仕様    糸瓜     05/31(月) 19:50
 2967. 「デジタルときわ荘」プロジェクト    かまた ゆたか     05/24(月) 22:42
  2969. Re: 「デジタルときわ荘」プロジェクト    糸瓜     05/25(火) 12:10
  2970. Re: 「デジタルときわ荘」プロジェクト    匿名     05/25(火) 13:28
 ┃┗ 2971. Re: 「デジタルときわ荘」プロジェクト    かまた ゆたか     05/25(火) 22:22

[前ページ] [次ページ]
[全て既読に] [最新]

[狭く] [広く]
[一つ前] [一つ次] [前の未読] [次の未読] [スレッド表示][新規投稿] [この記事に返信] [最新] [狭く][広く]

SUFファイル・ATRファイル・FRMファイルの仕様
[パスワード:     ]
#3021   2004/05/31(月) 18:32   投稿者: たかつ(ドーガ)   参照記事: 3008

ちょっと発掘してみました。
X68000時代の「DoGA CGAシステム」のマニュアルに
載っていたものを再入力して、最近の追加仕様を修正したものです。

---ここから---
○基本用語
  オブジェクト: 形状ファイルにおいて空間座標に定義された物体。
  プリミティブ: 形状の定義における最も基本的な要素。
  アトリビュート: プリミティブの表面の属性。

○基本方針
  ・ファイルの形式はテキストファイル
  ・語と語の間は1つ以上の空白で区切られる
  ・'('、')'、'{'、'}' の前後には空白は無くてもよい
  ・/* から */ までの間はコメントになる

  ・座標系は右手系であり、
     物体の前方向がX軸正方向
     物体の左方向がY軸正方向
     物体の上方向がZ軸正方向
   となる

◎形状ファイル(*.suf)

○オブジェクトの宣言
 形状ファイルには1個以上のオブジェクトの宣言が存在する。
オブジェクトの宣言は以下のようになる

---書式ここから---
obj suf <オブジェクト名>
{
  <オブジェクト本体>
}
---書式ここまで---

○オブジェクト名
  任意の文字列。大文字・小文字の区別はしない
  空白を含む場合には、" で括る必要がある。


○オブジェクト本体
 <オブジェクト本体>は複数の形状定義文から成り立っている。
 形状定義文には、
  ・アトリビュート指定
  ・プリミティブ指定
 がある

○アトリビュート指定
 アトリビュート指定を行うと、以後のプリミティブのアトリビュートが
 変更される。オブジェクト本体内で何度でも指定できる。
---書式ここから---
atr <アトリビュート名>
---書式ここまで---
 アトリビュートの実体はアトリビュートファイルで定義される

○アトリビュート名
  任意の文字列。大文字・小文字の区別はしない
  空白を含む場合には、" で括る必要がある。

○プリミティブ指定
 プリミティブ指定は、poly、shade、uvpoly、uvshade の4種類がある

○プリミティブ poly
 プリミティブ poly では、頂点のX、Y、Z座標を多角形の頂点の数だけ並べる

---書式ここから---
prim poly (
  <頂点1座標X> <頂点1座標Y> <頂点1座標Z>
  <頂点2座標X> <頂点2座標Y> <頂点2座標Z>
  <頂点3座標X> <頂点3座標Y> <頂点3座標Z>
   ...
)
---書式ここまで---

○プリミティブ shade
 プリミティブ shade では、頂点の座標の法線ベクトルを頂点の数だけ並べる

---書式ここから---
prim poly (
  <頂点1座標X> <頂点1座標Y> <頂点1座標Z> <頂点1法線X> <頂点1法線Y> <頂点1法線Z>
  <頂点2座標X> <頂点2座標Y> <頂点2座標Z> <頂点2法線X> <頂点2法線Y> <頂点2法線Z>
  <頂点3座標X> <頂点3座標Y> <頂点3座標Z> <頂点3法線X> <頂点3法線Y> <頂点3法線Z>
   ...
)
---書式ここまで---

○プリミティブ uvpoly
 プリミティブ uvpoly では、頂点の座標とマッピング用のUV座標を並べる

---書式ここから---
prim poly (
  <頂点1座標X> <頂点1座標Y> <頂点1座標Z> <頂点1U> <頂点1V>
  <頂点2座標X> <頂点2座標Y> <頂点2座標Z> <頂点2U> <頂点2V>
  <頂点3座標X> <頂点3座標Y> <頂点3座標Z> <頂点3U> <頂点3V>
   ...
)
---書式ここまで---

○プリミティブ uvshade
 プリミティブ uvshade では、頂点の座標・法線・UV座標を並べる

---書式ここから---
prim poly (
  <座標X> <座標Y> <座標Z> <法線X> <法線Y> <法線Z> <U> <V>
  <座標X> <座標Y> <座標Z> <法線X> <法線Y> <法線Z> <U> <V>
  <座標X> <座標Y> <座標Z> <法線X> <法線Y> <法線Z> <U> <V>
   ...
)
---書式ここまで---


◎アトリビュートファイル(*.atr)

○アトリビュートの宣言
 アトリビュートファイルには、1個以上のアトリビュートの宣言が存在する。
 アトリビュートの宣言は次のようになる
---書式ここから---
atr <アトリビュート名>
{
  <アトリビュート本体>
}
---書式ここまで---

○アトリビュート本体
 アトリビュート本体は1個以上のアトリビュート文からできている。
 アトリビュート文の種類は次のようなものがある
 アトリビュート文の無いパラメータについては、0 が指定されたものとする。

col ( <色> )   : 色(0〜1)

amb ( <色> )   : アンビエント(0〜1)

dif ( <色> )   : ディフューズ(0〜1)

spc ( <色1> <色2> <色相:数値> )   : スペキュラー
                <色1> : 強さ 大きいほど輝点は明るくなる
                <色2> : サイズ 大きいほど輝点は小さくなる
                <色相> : 0の時、輝点は光源色になる
                     1の時、輝点は物体色になる

ref ( <色> )   : 反射率(0〜1)
tra ( <色> )   : 透過率(0〜1)

opt ( <オプション指定> ... )  : オプションパラメータ
                 (今後、仕様変更の可能性有り)

・以下はマッピング関係

mapwind ( <u1> <v1> <u2> <v2> ) : テクスチャの画像範囲
            mapwind 指定がある場合は、画像ファイルの
            (u1,v1)-(u2,v2)を切り出してテクスチャ画像として使う
            指定が無い場合は、画像全体を使用する。

mapsize ( <u1> <v1> <u2> <v2> ) : オブジェクト中のUV座標の範囲
            形状ファイルの中のプリミティブ指定でのUV座標の範囲
            プリミティブ指定で、この範囲を超えるUV座標が指定
            された場合には、繰り返しとなる。

colormap ( <画像ファイル名> ) : col パラメータに対応するテクスチャ
bumpmap ( <画像ファイル名> ) : バンプマッピングに対応
ambmap ( <画像ファイル名> ) : amb パラメータに対応
difmap ( <画像ファイル名> ) : dif パラメータに対応
tramap ( <画像ファイル名> ) : tra パラメータに対応
refemap ( <画像ファイル名> ) : ref パラメータに対応
spcmap ( <画像ファイル名> ) : spc パラメータの強さに対応
hmap ( <画像ファイル名> ) : spc パラメータの色相に対応
glowpoermap ( <画像ファイル名> ) : emittion (後述) パラメータに対応

○色
 色指定は
  rgb ( <数値> <数値> <数値> )
 もしくは
  <数値>
 のどちらかの形式となる。数値のみの時は、RGBすべて同じとみなす。

○画像ファイル名
  任意の文字列。大文字・小文字の区別はしない
  空白を含む場合には、" で括る必要がある。
  相対パス指定の場合は、アトリビュートファイルのあるフォルダからの
  相対となる。

○オプション指定

emittion <半径> <強さ> : glow を発生させる。現状では<半径>は意味を持たない
castshadow       : 他の物体に影を落とす
receiveshadow      : 影が落ちる
edge          : ポリゴンの輪郭を線描画する
celllookedge      : オブジェクト全体の輪郭のみ線描画する
draw <色> <幅>     : エッジ描画をポリゴンの輪郭に太さ<幅>にする
draw <色> rate <幅>   : エッジの太さを画面横幅の<幅>倍にする
emphasis        : ポリゴンの向きに合わせてエッジの太さを強調する
shader <数> ( <最小値> <最大値> <色> ) ... :
             セルアニメ調の階調を落とした色計算を行う
             <数>で階調数を指定する。
             明るさが<最小値>と<最大値>の間の部分の色は <色>になる
celllookspecular <最小値> <最大値> :
             セルアニメ調の階調を落としたスペキュラーを描画する
             スペキュラー値が<最小値>以下は0に
             スペキュラー値が<最大値>以上は1になる



◎フレームファイル(*.frm)

○フレームファイルの構成
  フレームファイルでは各フレームごとのデータを順にならべて記述している。
  1フレーム分のデータは<環境定義>部分と<フレーム定義>部分にわかれる。
  <環境定義>部分は省略可能

  以下の記述方法について
    [ … ] : 囲まれた部分は省略可能
    ...  : 直前の記述の繰り返し
    |   : 前後の記述のどちらか

○環境定義
  <環境定義>の書式
    env { <環境文> ... }
  <環境文>には次の種類がある。
    back ( <色> )  : 背景色(ベタぬり)
    back ( <画像ファイル名> [<画像番号>] [image|sphere] )
            : 背景画像指定 画像ファイルが動画の場合、<画像番号>
             指定がない場合は1枚目の画像を、指定がある場合は
             その画像を背景として使用する。
             image がある場合は、作画画面に背景画像をあわせる。
             sphere の場合(デフォルト)は、背景球に画像を貼る。
    star ( <数> )  : 背景星表示。全天球に<数>個の星を配置する。
    depth ( <数> <色> )
            : 空気遠近指定。<数>は半減距離で、この距離はなれた
             物体は本来の色と<色>指定を半分ずつ混合した色になる。

    refmap ( <画像ファイル名> )
            : 環境マッピング指定。アトリビュート指定で反射率のある
             物体には <画像ファイル名> で指定した画像が背景球にある
             ように写り込む。


○フレーム定義
  <フレーム> 定義の書式
    fram { <フレーム文> ... }
  <フレーム文> には次のような種類がある。
    ・座標変換指定
    ・オブジェクト指定
    ・視点指定
    ・光源指定
    ・ターゲット指定
    ・オプション指定

○座標変換指定
  以降に続くフレーム文に対し座標変換を行う。
  mov ( <x> <y> <z> )   : 平行移動
  rotx ( <x> )      : x軸まわりの回転(指定単位は度)
  roty ( <y> )      : y軸まわりの回転
  rotz ( <z> )      : z軸まわりの回転
  scal ( <x> <y> <z> )  : 各軸方向の拡大
  vec ( <fx> <fy> <fz> <ux> <uy> <uz> )
              : ( <fx> <fy> <fz> ) が x軸(前)で
               ( <ux> <uy> <uz> ) が z軸(上)になるように回転する
  mat ( <a11> <a12> <a13> <a14>
     <a21> <a22> <a23> <a24>
     <a31> <a32> <a33> <a34>
     <a41> <a42> <a43> <a44> )
              : アフィン変換行列指定による変換

○オブジェクト指定
  obj <オブジェクト名>

○視点指定
  eye [opt <オプション指定> ... ] deg ( <角度> )
               : 水平方向の画角を指定
  eye [opt <オプション指定> ... ] scr ( <距離> <大きさ> )
               : スクリーンまでの距離と幅を指定
  オプション指定
    focus ( <距離>|target <半径> <範囲> )
               : ピンボケ処理を行う。<距離>の前後<範囲>に
                ピントが合い、最大ボケ半径を<半径>にする。
                <半径>は画面横幅に対する比率。
                <距離> の代わりに target と指定した場合は、
                ターゲット指定までの距離でピントが合う。

○ターゲット指定
  target          : 視点の向きをtarget指定のある座標に向ける

○光源指定
  light [ opt <オプション指定> ... ] pal ( <色> <ベクトル> )
               : <ベクトル> 方向に照らす平行光源
  light [ opt <オプション指定> ... ] point ( <色> <距離> )
               : <距離> でちょうど <色> になるように減衰する点光源
                (距離の二乗に反比例)
  light [ opt <オプション指定> ... ] spot ( <色> <ベクトル> <サイズ> [<距離>] )
               : <ベクトル> 方向に照らすスポット光源
                <サイズ>が0の時広く1の時狭い。
                <距離>指定がある場合は、その距離で<色>に
                なるように減衰する
  オプション指定
    castshadow      : 影を落とす

○オプション指定
  lensflare ( <強さ> <種類> )
               : レンズフレアを発生させる。
                <種類> は 0〜2

○階層化
  { … } によって階層構造をなすことができる。
  { … } の中の座標変換は { … } の中でのみ有効

---ここまで---

このページのURLは http://doga.jp/tkbbs/tkbbs.cgi?bbs=doga&number=3021 です
[一つ前] [一つ次] [前の未読] [次の未読] [スレッド表示][新規投稿] [この記事に返信] [最新] [狭く][広く]