2008後期
情報グラフィックス論U
担当 鳥海有紀
授業資料 情報グラフィックス論U
戻る(図形の組合せ) 次へ(補足)

マッピング

オブジェクトを単一の色で塗るのではなく、あるパターンをつけることをマッピングという。 模様のついた小さな布を隙間無くオブジェクトに貼るので、テクスチャマッピングともいう。 マッピングに使う布は自分で用意することも可能である。

パターンや模様をつける

POV-Rayでは色をつける代わりにパターンをつけたり模様で塗ったりすることができある。 次のパターンが定義されている。 agatebozo brickcheckermandelhexagonmarbleradialwood 。 たとえば、次のように使う。

       object {
         Cube
         pigment { agate }
       }

パターンに使用する色を設定できるパターンもある。 使い方の詳細は、HelpのPatternsを参照のこと。

質感を与える

オブジェクトにパターンを指定しただけでは、質感を表現することはできない。 たとえば、金属でできたものは光線の反射が強かったり、隣のものが映り込んだりする。 一方、木製のものは光が反射することはないが、全体にざらざらした印象がある。 また、ガラスは、金属ほど反射はしないが反射はあり、オブジェクトの向こう側が見える。 質感を与えるためにはこのようなことを考慮する必要がある。
POV-Rayでは用意されたパターンをtextureに書き込んで質感を表現することができる。

木の質感
#include "colors.inc"
#include "shapes.inc"
#include "woods.inc"

camera {
    location <0, 0, -20>
    look_at < 0, 0, 0>
    angle 20
}

light_source{ < -3, 10, -10> color White }
        
object {
    Cube
    texture { T_Wood10}
    rotate 45*y
}

木の質感を使うときは、#include "woods.inc"を必ず追加する。 これまで色を設定したpigmentの代わりにtextureを使用する。

金属の質感
#include "colors.inc"
#include "shapes.inc"
#include "metals.inc"

camera {
    location <0, 0, -20>
    look_at < 0, 0, 0>
    angle 20
}

light_source{ < -3, 10, -10> color White }
        
object {
    Sphere
    texture { T_Gold_4C}
}

金属の質感を使うときは、#include "metals.inc"を必ず追加する。 他の設定は木の質感の設定と同じである。 金属は他の物体が映り込んだり、光の反射が木より強い。 従って、金属の質感を与える物体の他に模様のついた地面を配置したり、 光源の反射が見えるように光源、カメラ、物体の位置を工夫するとよい。 それらを考慮したシーンファイルは以下のようになる。
#include "colors.inc"
#include "shapes.inc"
#include "metals.inc"

camera {
    location <0, 3, -20>
    look_at < 0, 0, 0>
    angle 20
}

light_source{ < -3, 10, -10> color White }
        
object {
    Sphere
    texture { T_Gold_4C}
    translate <0, 1, 0>
}
object {
    Plane_XZ
    pigment {checker color White, color Black}
}

シーンに平面を表示するためにはplaneを使う。 Plane_XZを使うとY=0で平面を作ることができる。 平面の色の設定は他のオブジェクトと同様に行なうことができる。
POV-Rayで使える金属の種類は銀、銅、真鍮、クロム銅がある。 詳しくはPOV-RayのHelpでmetalsを参照のこと。

ガラスの質感
#include "colors.inc"
#include "shapes.inc"
#include "glass.inc"

camera {
    location <0, 15, -3>
    look_at < 0, 0, 0>
    angle 20
}

light_source{ < -3, 10, -10> color White }
        
object {
    Sphere
    texture { T_Glass3}
    interior { I_Glass ior 1.5 }
    translate <0, 3, 0>
}
object {
    Plane_XZ
    pigment {checker color White, color Black}
}

ガラスの質感を使うときは、#include "glass.inc"を必ず追加する。 ガラスの場合は、textureでガラスの種類、interiorでガラスの屈折率を設定する。 POV-Rayで使うことのできるガラスの種類はHelpでglass texturesを参照のこと。 屈折率はiorに続く実数で指定する。屈折率1.0は空気と同じである。

Copyright 2002-2008 Yuki Toriumi


授業資料 情報グラフィックス論U 戻る(図形の組合せ) 次へ(補足)