コンテンツにスキップ

RenderEffects

描画エフェクトの設定

HDR パイプラインの張り方・トーンマップ・ブルーム・自動露出・サンシャフト・ 出力ガンマをまとめて保持する。Viewer は毎フレーム、この設定を内部の HDR ポストプロセスパイプラインへ反映する。

インスタンスは Viewer が常に 1 つ保持しており、Viewer.render_effects から取得する。初期値は Viewer.constructor の options.render_effects に RenderEffects.Option を渡して指定する。

Example

const viewer = new mapray.Viewer( "mapray-container", {
    atmosphere: new mapray.Atmosphere(),
    render_effects: { bloom_intensity: 1.0 },
} );
viewer.render_effects.setSunShaftsEnabled( true );

Constructors

new RenderEffects()

new RenderEffects(options?): RenderEffects

Parameters

Parameter Type Description
options? Option 各項目の初期値

Returns

RenderEffects

Accessors

apply_gamma

get apply_gamma(): boolean

出力ガンマを適用するかどうかを取得する。

Returns

boolean

適用するなら true


auto_exposure

get auto_exposure(): boolean

自動露出が有効かどうかを取得する。

Returns

boolean

有効なら true


auto_exposure_bias

get auto_exposure_bias(): number

自動露出の露出補正を取得する。

Returns

number

現在の露出補正 [EV]


auto_exposure_speed

get auto_exposure_speed(): number

自動露出の適応速度を取得する。

Returns

number

現在の適応速度 [1/s]


bloom_intensity

get bloom_intensity(): number

ブルームの強さを取得する。

Returns

number

現在のブルームの強さ


bloom_mode

get bloom_mode(): BloomMode

ブルームの広がり方を取得する。

Returns

BloomMode

現在の広がり方


bloom_radius

get bloom_radius(): number

ブルームのぼかし半径を取得する。

Returns

number

現在のぼかし半径


bloom_soft_knee

get bloom_soft_knee(): number

ブルーム抽出の閾値の柔らかさを取得する。

Returns

number

現在の閾値の柔らかさ


bloom_threshold

get bloom_threshold(): number

ブルームを抽出する輝度の閾値を取得する。

Returns

number

現在の閾値


hdr_mode

get hdr_mode(): HDRMode

HDR パイプラインの張り方を取得する。

Returns

HDRMode

現在の HDR パイプラインの張り方


sun_shafts_decay

get sun_shafts_decay(): number

サンシャフトの減衰率を取得する。

Returns

number

現在の減衰率


sun_shafts_density

get sun_shafts_density(): number

サンシャフトの光芒の伸びを取得する。

Returns

number

現在の光芒の伸び


sun_shafts_enabled

get sun_shafts_enabled(): boolean

サンシャフト(太陽から放射状に伸びる光芒)が有効かどうかを取得する。

Returns

boolean

有効なら true


sun_shafts_intensity

get sun_shafts_intensity(): number

サンシャフトの強さを取得する。

Returns

number

現在の強さ


sun_shafts_weight

get sun_shafts_weight(): number

サンシャフトの各サンプルの重みを取得する。

Returns

number

現在の重み


tonemap_exposure

get tonemap_exposure(): number

トーンマップ前の露出倍率を取得する。

Returns

number

現在の露出倍率


tonemap_mode

get tonemap_mode(): TonemapMode

最終トーンマップの種類を取得する。

Returns

TonemapMode

現在のトーンマップの種類

Methods

setApplyGamma()

setApplyGamma(enabled): void

出力ガンマ(sRGB ガンマ)を適用するかどうかを設定する。

無効にすると線形の明るさのままキャンバスへ出力するため、通常の表示では暗く沈む。 出力を別の色管理へ渡す場合にだけ無効にする。

Parameters

Parameter Type Description
enabled boolean 適用するなら true

Returns

void

Default Value

true


setAutoExposureBias()

setAutoExposureBias(value): void

自動露出の露出補正を設定する。正の値で明るく、負の値で暗くなる。

Parameters

Parameter Type Description
value number 露出補正 [EV]

Returns

void

Default Value

0.0


setAutoExposureEnabled()

setAutoExposureEnabled(enabled): void

自動露出の有効/無効を設定する。

有効にすると露出がシーンの平均輝度(対数平均)に時間追従する。 無効のときは RenderEffects.tonemap_exposure の固定露出になる。

Parameters

Parameter Type Description
enabled boolean 有効にするなら true

Returns

void

Default Value

false


setAutoExposureSpeed()

setAutoExposureSpeed(value): void

自動露出の適応速度を設定する。大きいほど明るさの変化に速く追従する。

Parameters

Parameter Type Description
value number 適応速度 [1/s]。0.01 以上

Returns

void

Default Value

1.5


setBloomIntensity()

setBloomIntensity(value): void

ブルームの強さを設定する。0 でブルームのパスごと省略される。

Parameters

Parameter Type Description
value number ブルームの強さ。0.0(無効)以上

Returns

void

Default Value

0.02


setBloomMode()

setBloomMode(mode): void

ブルームの広がり方を設定する。

RenderEffects.BloomMode.WIDE の費用はシーンによって大きく違う。地形だけの 場面ではほとんど増えないが、水面が画面を埋める場面では大きく重くなる。採用するなら 実際の場面で計ること。

Parameters

Parameter Type Description
mode BloomMode 広がり方

Returns

void

Default Value

{@link RenderEffects.BloomMode.COMPACT}

setBloomRadius()

setBloomRadius(value): void

ブルームのぼかし半径を設定する。大きくするとにじみが広がる。

Parameters

Parameter Type Description
value number ぼかし半径。0.1 以上

Returns

void

Default Value

1.0


setBloomSoftKnee()

setBloomSoftKnee(value): void

ブルーム抽出の閾値の柔らかさを設定する。 0 で閾値をまたぐ境界が硬くなり、1 で最も滑らかに立ち上がる。

Parameters

Parameter Type Description
value number 閾値の柔らかさ。0.0〜1.0

Returns

void

Default Value

0.5


setBloomThreshold()

setBloomThreshold(value): void

ブルームを抽出する輝度の閾値を設定する。この値を超えた部分がにじみの元になる。

単位は露出適用前のシーン輝度。既定値は基準露出で白になる輝度なので、 露出を上げてもブルームの掛かる範囲は変わらない。

Parameters

Parameter Type Description
value number 輝度の閾値。0.0 以上

Returns

void

Default Value

0.1


setHDRMode()

setHDRMode(mode): void

HDR パイプラインの張り方を設定する。

Parameters

Parameter Type Description
mode HDRMode HDR パイプラインの張り方

Returns

void

Default Value

{@link RenderEffects.HDRMode.AUTO}

setSunShaftsDecay()

setSunShaftsDecay(value): void

サンシャフトの減衰率を設定する。小さくすると光芒が太陽の近くで早く消える。

Parameters

Parameter Type Description
value number 減衰率。0.0〜1.0

Returns

void

Default Value

0.71


setSunShaftsDensity()

setSunShaftsDensity(value): void

サンシャフトの光芒の伸びを設定する。大きくすると光芒が太陽から遠くまで伸びる。

Parameters

Parameter Type Description
value number 光芒の伸び。0.0 以上

Returns

void

Default Value

1.0


setSunShaftsEnabled()

setSunShaftsEnabled(enabled): void

サンシャフト(太陽から放射状に伸びる光芒)の有効/無効を設定する。

太陽がカメラの背面にあるときは自動的に抑制される。

Parameters

Parameter Type Description
enabled boolean 有効にするなら true

Returns

void

Default Value

false


setSunShaftsIntensity()

setSunShaftsIntensity(value): void

サンシャフトの強さを設定する。0 でサンシャフトのパスごと省略される。

Parameters

Parameter Type Description
value number 強さ。0.0(無効)以上

Returns

void

Default Value

0.012


setSunShaftsWeight()

setSunShaftsWeight(value): void

サンシャフトの各サンプルの重みを設定する。大きくすると光芒全体が濃くなる。

Parameters

Parameter Type Description
value number 重み。0.0 以上

Returns

void

Default Value

0.78


setTonemapExposure()

setTonemapExposure(value): void

トーンマップ前の露出倍率を設定する。大きくすると画面全体が明るくなる。

Parameters

Parameter Type Description
value number 露出倍率。0.01 以上

Returns

void

Default Value

1.0


setTonemapMode()

setTonemapMode(mode): void

最終トーンマップの種類を設定する。

組み込みのプリセットは TonemapMode.ACES で露出を合わせてあるので、 他の種類へ変えるとプリセットの明るさとルックがずれる。

Atmosphere.applyPreset もプリセットに含まれるトーンマップをここへ 書き込む。どちらも後から書いたほうが残る。Viewer の constructor より前に 適用したプリセットは、options.render_effects より先に書かれたものとして扱う。

HDR パイプラインを張らないフレーム (キャンバスへ直接描画) でも、空・太陽・月・雲・ 水面がシェーダー内で同じトーンマップを掛ける。

Parameters

Parameter Type Description
mode TonemapMode トーンマップの種類

Returns

void

Default Value

{@link TonemapMode.ACES}