LuxCoreRenderで光源をスペクトルで指定する方法
LuxCoreRenderは、テクスチャを使って光源のスペクトル指定をする。
テクスチャの指定方法は、次の3つがある。
・黒体温度(blackbody)
色温度を指定する方法。たとえば、電球色なら色温度3000Kくらいで、白昼色なら、色温度5000Kくらいとなる。主な色温度として以下が紹介されている。
Candles (1850K)
Incandescent (2700)
Halogen (3000K)
Fluorescent (4200)
The sun (5000-6500K)
Incandescent (2700)
Halogen (3000K)
Fluorescent (4200)
The sun (5000-6500K)
シーン例:
scene.textures.lighttex.type = blackbody
scene.textures.lighttex.temperature = 3000
scene.textures.lighttex.normalize = 1
scene.textures.lighttex.temperature = 3000
scene.textures.lighttex.normalize = 1
scene.materials.whitelight.emission = lighttex
scene.materials.whitelight.emission.gain = 120.0 120.0 120.0
色温度3000Kなので、電球色となる。normalize(正規化)をonにしてemission.gainで光量を設定すると、得たい光量通りの明るさになる。
・スペクトル(irregulardata)
スペクトル波長(wavelength)と強度(data)の列で指定する。
シーン例:
scene.textures.lighttex.type = irregulardata
scene.textures.lighttex.wavelengths = 536 560 576
scene.textures.lighttex.data = 0.0001 0.1 0.0001
scene.materials.whitelight.emission = lighttex
536nm~576nmの広がりを持ち、560nmをピークとした。やや黄色がかった緑色の光になる。シーンでは、赤い箱はやや暗めに描画されている。これは、赤が反射できるスペクトル成分量が少ないためと考えられる。後ろの青い壁は、完全に真っ黒なのは、青色のスペクトルを一切持っていない為である。ちなみに、こちらの場合、gainを設定せず、dataの強度をそのまま使用している。
・ランプ(lampspectrum)
これについての詳細を記載している文書を見つけられていないので、わかる範囲のみで確認した。照明の種類を指定するイメージらしい。内容としては、黒体温度と同じように見える。
シーン例:
scene.textures.lighttex.type = lampspectrum
scene.textures.lighttex.name = Daylight
scene.materials.whitelight.emission = lighttex
scene.materials.whitelight.emission.gain = 0.01 0.01 0.01
昼白色を設定している。デフォルトだと、光量過多だったため、gainで100分の1にしている。



コメント
コメントを投稿