12.2 ノーマル(normal)
normal {
[ NORMAL_IDENTIFIER ]
[ PATTERN_TYPE FLOAT ]
[ NORMAL_TYPE ]
[ NORMAL_MODIFIERS ... ]
}
|
||
| normal | ノーマルを指定するキーワード | |
| NORMAL_IDENTIFIER | ノーマル識別子の指定 | |
| PATTERN_TYPE FLOAT | パターン・タイプの指定 ⇒「13.1 パターン・タイプ」 FLOATには凹凸の見かけの深さを制御する実数値を指定する。 通常は0.0〜1.0であるがどんな値でも使用できる(負の値はパターンを反転させる) [デフォルト: 0.5 ] |
|
| NORMAL_TYPE | ノーマル・タイプの指定。 下記のものが使用できる。 ●スロープ・マップ(slope_map) ●ノーマル・マップ(normal_map) ●バンプ・マップ(bump_map) ※ このオプションはノーマルにしか影響しない。 |
|
| NORMAL_MODIFIERS... | 変形などのオプションの指定 ⇒「13.2 テクスチャのオプション」 | |
//これは... //このように短くできる
object { object {
My_Object My_Object
texture { pigment {color Purple}
pigment {color Purple} normal {bumps 0.3}
normal {bumps 0.3} }
}
}
12.2-1 スロープ・マップ(slope_map)
normal{
PATTERN_TYPE
slope_map {
[ NUM_1 POINT_SLOPE_1]
[ NUM_2 POINT_SLOPE_2]
...
[ NUM_n POINT_SLOPE_n]
}
NORMAL_MODIFIERS...
}
|
||
| normal | ノーマルを指定するキーワード | |
| PATTERN_TYPE | パターン・タイプの指定 ⇒「13.1 パターン・タイプ」 | |
| slope_map | スロープ・マップを指定するキーワード | |
| NUM_1〜NUM_n | 傾きを指定する点のx 座標、0.0 〜 1.0 の実数値 | |
| POINT_SLOPE_1 〜POINT_SLOPE_n |
各点における傾きを2次元ベクトル<h,s>で指定する。h はその点における曲線の高さを示す。 通常 0.0 〜1.0であるがどんな値でも使用できる。s はその点における曲線の傾きを示し、s=0 はフラット、s=1 は 45゜、s=-1は -45゜となる。 通常は-3.0〜3.0の範囲で指定する。 | |
| NORMAL_MODIFIERS... | 変形などのオプションの指定 ⇒「13.2 テクスチャのオプション」 | |
normal {
gradient x // パターン・タイプ
slope_map {
[0 <0, 1>] // 高さ 0、傾き 1
[0.5 <1, 1>] // 高さ 1、傾き 1
[0.5 <1,-1>] // 高さ 1、傾き -1
[1 <0,-1>] // 高さ 0、傾き -1
}
}
#declare Fancy_Wave =
slope_map {
[0.0 <0, 1>] // ここで
[0.2 <1, 1>] // とても小さな
[0.2 <1,-1>] // 三角形を
[0.4 <0,-1>] // 作る
[0.4 <0, 0>] // ここから
[0.5 <0, 0>] // ここまではフラット部分
[0.5 <1, 0>] // 矩形波の始点
[0.6 <1, 0>] // 矩形波の終点
[0.6 <0, 0>] // ここから
[0.7 <0, 0>] // ここまで再びフラット部分
[0.7 <0, 3>] // 半円形の始点
[0.8 <1, 0>] // フラットな頂点
[0.9 <0,-3>] // 半円形の終点
[0.9 <0, 0>] // 1.0 までフラット部分
}
object{ My_Object
pigment { White }
normal {
wood
slope_map { Fancy_Wave }
}
}
12.2-2 ノーマル・マップ(normal_map)
normal{
PATTERN_TYPE
normal_map {
[ NUM_1 NORMAL_BODY_1]
[ NUM_2 NORMAL_BODY_2]
...
[ NUM_n NORMAL_BODY_n]
}
[ NORMAL_MODIFIERS... ]
}
|
||
| normal | ノーマルを指定するキーワード | |
| PATTERN_TYPE | パターン・タイプの指定 ⇒「13.1 パターン・タイプ」 | |
| normal_map | ノーマル・マップを指定するキーワード | |
| NUM_1〜NUM_n | 各エントリーの範囲の指定、 0.0〜1.0の実数値 | |
| NORMAL_BODY_1 〜NORMAL_BODY_n |
各エントリーのノーマルの指定。 通常のノーマルであればどんなものでも使用できる。 normal {} はここでは必要ない。 | |
| NORMAL_MODIFIERS... | 変形などのオプションの指定 ⇒「13.2 テクスチャのオプション」 | |
normal {
gradient x // パターン・タイプ
normal_map {
[0.3 bumps scale 2]
[0.3 dents]
[0.6 dents]
[0.9 marble turbulence 1]
}
}
normal {
checker
normal { gradient x scale .2 }
normal { gradient y scale .2 }
}
}
12.2-3 バンプ・マップ(bump_map)
normal {
bump_map {
FILE_TYPE "filename"
[ BUMP_MAP_MODIFIERS... ]
}
[ NORMAL_MODIFIERS... ]
}
|
||
| normal | ノーマルを指定するキーワード | |
| bump_map | バンプ・マップを指定するキーワード | |
| FILE_TYPE | 2次元画像のファイル形式を次の中から指定する。 gif、tga、iff、ppm、pgm、png、jpeg、tiff、SYS ※SYSは使用するプラットフォーム固有の形式 |
|
| FILE_NAME | 2次元画像のファイル名の指定 ※ カレント・ディレクトリとLibrary_pathを指定したディレクトリ以外の場所にあるファイルは、次のようにフルパスで指定しなければならない。例)DドライブのpovfileディレクトリにあるImage.gifファイルを指定する場合 bump_map { gif " d:\povfile\Image.gif " } |
|
| BUMP_MAP_MODIFIERS... | イメージ修正オプション。bump_size, use_index, use_colorが使用できる。 その他のオプションについては「13.2 テクスチャのオプション」を参照せよ。 | |
| NORMAL_MODIFIERS... | ノーマル修正オプションの指定、スロープ・マップとパターン波形以外のノーマル修正が使用できる。 | |

●バンプ・マップの例(図12.2-3)
sphere{0.5,0.5
normal {
bump_map{
tga "povray.tga"
bump_size 1
}
}
pigment{color rgb<0.8,1,0.3>}
translate -0.5
rotate x*90
}
|
normal {
bump_map {
gif "stuff.gif"
bump_size 5.0
}
}
normal {
My_Normal // 前に定義されたノーマル名
bump_size 2.0 // 新しいサイズに変更
}