フォトンマッピングの設定には次の3つがある。
| グローバルなフォトン設定 | グローバル設定におけるフォトン設定は、放たれるフォトンの数やフォトン収集範囲や数など、フォトンマッピング全体に関係することを指定する。 |
| 物体のフォトン設定 | 物体におけるフォトン設定では、集光模様を生じさせる原因となる物体を指定したりするなど、各物体に対するフォトンマッピングを指定する。 |
| 光源のフォトン設定 | 光源におけるフォトン設定では、フォトンが発射される光源を指定する。 |
9.1 グローバルなフォトン設定
global_settings {
photons {
spacing PHOTON_SPACING | count PHOTONS_TO_SHOOT
[ gather MIN_GATHER, MAX_GATHER ]
[ media MAX_STEPS [, FACTOR ] ]
[ jitter JITTER_AMOUNT ]
[ max_trace_level PHOTON_TRACE_LEVEL ]
[ adc_bailout PHTON_ADC_BAILOUT ]
[ save_file "filename" | load_file "filename" ]
[ autostop AUTOSTOP_FRACTION ]
[ expand_thresholds PERCENT_INCREASE, EXPAND_MIN ]
[ radius GATHER_RADIUS, MULTIPLIER,
GATHER_RADIUS_MEDIA, MULTIPLIER ]
}
}
|
||
| photons | グローバル設定でフォトンマッピングを有効にするキーワード | |
| spacing PHOTON_SPACING | フォトン間の距離を指定する。⇒「9.1-1 フォトン間隔」 | |
| count PHOTONS_TO_SHOOT | フォトン数の指定をする。⇒「9.1-2 フォトン数」 | |
| gather MIN_GATHER, MAX_GATHER | 各点で収集するフォトンの最大値と最小値を設定する。最小値、最大値を整数で指定する。[デフォルト:gather 20,100 ]であり、通常は変更の必要なし。 | |
| media MAX_STEPS [, FACTOR] | メディアに対してフォトンを有効にする。MAX_STEPSは、区間あたりに割り当てられるフォトンの最大値の設定である。FACTORは通常のspacingとの比であり、メディアのspacingとなる。[デフォルト:0 ] | |
| jitter JITTER_AMOUNT | サンプリングで使用されるゆらぎの量をを設定する。[デフォルト:0.4 ]、通常は変更の必要なし。 | |
| max_trace_level PHOTON_TRACE_LEVEL | フォトンの最大反射・屈折回数の設定 [デフォルト:5 ] ⇒「4.7 max_trace_level」 | |
| adc_bailout PHTON_ADC_BAILOUT | 反射・屈折計算の精度の指定 [デフォルト:1/255 ](約0.0039) ⇒「4.1 ADC_bailout」 | |
| save_file "filename" | フォトンマップを指定名でファイルに保存する。load_fileと同時に使用することはできない。 | |
| load_file "filename" | フォトンマップを指定ファイルから読み込む。save_fileと同時に使用することはできない。 | |
| autostop AUTOSTOP_FRACTION | フォトンの発射の自動停止。指定された割合(0.0〜1.0)のフォトンが標的物体に全く当たらないとき、フォトン発射を中止する。1つでも当たるとこの機能は解除される。 | |
| expand_thresholds PERCENT_INCREASE, EXPAND_MIN | より正確にフォトンを収集するための収集半径の増加割合PERCENT_INCREASE(20%がディフォルト)、この値でもあまりフォトンを収集できないとEXPAND_MIN(40%がディフォルト)で再収集を行う。 | |
| radius GATHER_RADIUS, MULTIPLIER, GATHER_RADIUS_MEDIA, MULTIPLIER | フォトンの収集半径と半径調整用の乗数、メディア用のフォトンの収集半径と半径調整用の乗数の設定 ⇒「9.1-3 収集半径」 | |
9.1-1 フォトン間隔(spacing)
![]() |
![]() |
| potons { spacing 0.02 } | potons { spacing 0.2 } |
9.1-2 フォトン数(count)
![]() |
![]() |
| potons { count 200000 } | potons { count 10000 } |
9.1-3 収集半径(radius)
![]() |
![]() |
| potons { spacing 0.02 } | potons { spacing 0.02 radius 0.01 } |
9.2 物体のフォトン設定
object{
photons {
[ target [SPACING_MULTIPLIER ] ]
[ refraction on|off ]
[ reflection on|off ]
[ collect on|off ]
[ pass_through ]
}
}
|
||
| photons |
物体設定でフォトンマッピングを有効にするキーワード | |
| target [SPAACING_MULTIPLIER] | フォトンを発射の目標となる物体の指定。SPAACING_MULTIPLIERは物体に対するフォトン密度調節を行う。0.5であれば、フォトン間隔は他の物体の1/2となる。⇒「9.2-1 目標物体」 | |
| refraction on|off | 屈折を有効にするスイッチ(その物体に衝突したフォトンが屈折するかしないかの指定) [デフォルト:off ] ⇒「9.2-2 物体フォトン屈折」 | |
| reflection on|off | 反射を有効にするスイッチ(その物体に衝突したフォトンが反射するかしないかの指定) [デフォルト:off ] | |
| collect on|off | 物体にフォトンの収集を指示するスイッチ [デフォルト:on ] ⇒「9.2-3 フォトン収集」 | |
| pass_through | 物体にフォトンが通り抜けることを指示するスイッチ ⇒「9.2-4 フォトン透過」 | |
| 物体と光源ともに記述なし | ---> off 指定となる。 |
| 物体にon|offの記述、光源は記述なし | ---> その物体の指定に従う。 |
| 物体は記述なし、光源にon|offの記述 | ---> その光源の指定に従う。 |
| 物体と光源のon|offの記述が一致 | ---> その指定に従う。 |
| 物体と光源のon|offの記述が不一致 | ---> off 指定となる。 |
9.2-1 目標物体(target)
![]() |
![]() |
cylinder{<2,0,0>,<2,0,2>,5 open
texture { T_Gold_1A }
photons {
target
collect off
reflection on
}
}
cylinder{<-2,0,0>,<-2,0,2>,5 open
texture { T_Gold_1A }
photons {
collect off
}
}
|
9.2-2 物体フォトン屈折(refraction)

sphere{<0,0,3.2> 3
material{M_Glass3}
photons {
target
collect off
reflection on
refraction off
}
}
|
9.2-3 フォトン収集(collect)
![]() |
![]() |
box{ <-8,-8,-2> <8,-2.5,0>
pigment {color rgb<0.45,0.4,0.2>*2.5}
}
box{ <-8,-2,-2> <8,3,0>
pigment {color rgb<0.45,0.4,0.2>*2.5}
photons { collect off }
}
|
9.2-4 フォトン透過(pass_through)
![]() |
![]() |
box{ <-2,0,0>,<8,6,1>>
texture {T_Wood1 scale 3 rotate x*90}
photons { pass_through }
translate<-5,-3,7>>
}
|
9.3 光源のフォトン設定
light_source {
photons {
[ refraction on | off ]
[ reflection on | off ]
[ area_light ]
}
}
|
||
| photons | 光源設定でフォトンマッピングを有効にするキーワード | |
| refraction on|off | 屈折を有効にするスイッチ(その光源から放たれるフォトンが、屈折する性質を持つか持たないかの指定) [デフォルト:off ] | |
| reflection on|off | 反射を有効にするスイッチ(その光源から放たれるフォトンが、反射する性質を持つか持たないかの指定) [デフォルト:off ] | |
| area_light | 面光源を使用したときに記述する。面光源を使用してもこの指定がないと点光源として取り扱われる。 ⇒「9.3-1 面光源」 | |
| 物体と光源ともに記述なし | ---> off 指定となる。 |
| 物体にon|offの記述、光源は記述なし | ---> その物体の指定に従う。 |
| 物体は記述なし、光源にon|offの記述 | ---> その光源の指定に従う。 |
| 物体と光源のon|offの記述が一致 | ---> その指定に従う。 |
| 物体と光源のon|offの記述が不一致 | ---> off 指定となる。 |
9.3-1 面光源(area_light)
![]() |
//-----------------exmaple A
global_settings {
photons {spacing 0.02 }
}
light_source {
<-30,20,35> color White
area_light
<20,0,0>,<0,20,0> 10,10
jitter
photons { area_light }
}
|
![]() |
//-----------------exmaple B
global_settings {
photons {spacing 0.02 }
}
light_source {
<-30,20,35> color White
area_light
<20,0,0>,<20,20,0> 3,3
jitter
photons { area_light }
}
|
![]() |
//-----------------exmaple C
global_settings {
photons {spacing 0.1 }
}
light_source {
<-30,20,35> color White
area_light
<20,0,0>,<0,20,0> 10,10
jitter
photons { area_light }
}
|
![]() |
//-----------------exmaple D
global_settings {
photons {spacing 0.1 }
}
light_source {
<-30,20,35> color White
area_light
<20,0,0>,<0,20,0> 3,3
jitter
photons { area_light }
}
|