RIB ファイルの文法と機能

RIB ファイルとは、RenderMan で使用されているシーン記述ファイルである.

このページでは,Pixer RIB ファイルにおけるプリミティブ(球などの要素)の記述,カメラの指定などについて, 基本的な文法と機能を説明している.

準備事項

この Web ページに記載の RIB ファイルは,RenderMan 互換のレンダラーである aqsis で確認済みである.

関連する外部ページ

簡単な RIB ファイルの作成 とテスト

RIB ファイルを作成する.そのファイル名は何でもよいが,以下の説明 sample.rib であるとしておく.

  1. sample.rib の作成
    Display "sample.tiff" "file" "rgba"
    Display "+sample.tiff" "framebuffer" "rgb"
    Format 800 600 1
    Projection "perspective" "fov" [60]
    
    WorldBegin
        Translate 0 0 2
        Color 0.2 0.4 1
        Sphere 1 -1 1 360
    WorldEnd
    
  2. sample.bat の作成
    aqsis.exe -progress "sample.rib" で描画
    
  3. sample.bat をダブルクリックして実行

    下記のように表示されるので確認する

    RIB ファイルの入門

    上記の「簡単なRIBファイル」に関係する文法と機能を説明しておく.

    レンダリングに関する指定

    • Display <ファイル名> <出力方法> <データの種類>
      • 出力方法: file または framebuffer
      • データの種類: 「rgba」とあるのは「R,G,B,不透明度」の意味
    • Format <縦方向の画素数> <横方向の画素数> <画素の縦横比>

    カメラに関する指定

    • Projection <投影方法> ...

      投影方法は,perspective, orthographic がある.

      perspective の場合,「"fov" [60]」をつけると,視野角 60 度 (視野角は 0 から 180 の範囲で指定できる)

    • カメラの位置は,デフォルトでは,世界座標系の原点にあり,向きは,(0,0,1)

    モデルに関する指定

    • WorldBegin, WorldEnd

      シーンの記述を囲む

    • Spehre <球の半径> <球の上部> <球の下部> <描画範囲の角度>
    • Color <r> <g> <b>

      表面色の r,g,b 成分, 0 から 1 の値

    • Translate <x> <y> <z> 

      モデルを,世界座標系の (x,y,z)に平行移動

    種々のプリミティブを含む RIB ファイル

    Display "sample.tiff" "file" "rgba"
    Display "+sample.tiff" "framebuffer" "rgb"
    Format 800 600 1
    Projection "perspective" "fov" [60]
    
    
    WorldBegin
        LightSource "ambientlight" 0.2 "intensity" .8
    
        Translate 0 0 6
        Rotate -90 1 0 0
        
        ## A sphere
        Color 1 0 0
        Translate -2 0 1
        Sphere 0.5 -0.5 0.5 360
    
        ## A cone
        Color 0 1 0
        Translate 2 0 -1
        Cone 1 0.5 360
    
        ## A cylinder
        Color 0 0 1
        Translate 2 0 1
        Cylinder 0.5 -0.5 0.5 360
    
        ## A hyperboloid
        Color 1 1 0
        Translate -4 0 -2
        Hyperboloid 0.4 -0.4 -0.4 0.4 0.4 0.4 360
    
        ## A paraboloid
        Color 1 0 1
        Translate 2 0 -1
        Paraboloid 0.5 0 0.9 360
    
        ## A torus
        Color 0 1 1
        Translate 2 0 1
        Torus .4 .15 0 360 360
    
        ## A disk
        Color 0 1 0
        Translate -2 0 3
        Disk 0 .5 360
    WorldEnd
    

    表示は,下記のようになる