疑似フラットシェーディング

※ParaView 5.0.0より、Light KitをOFFにすることでフラットシェーディング表示が得られるようになった。

ParaView 4.4以前にはフラットシェーディングを実現する機能が用意されていないため、本スクリプトを作成した。

任意のソースを読み込んだ状態で本スクリプトを適用すれば、View中のLightsの各パラメータが
下図に示した値となり、各ソースのスペキュラ光設定が全て無効となる。

擬似フラットシェーディング設定

動作確認環境

ParaView 3.14.1 64bit、CentOS 6.2 64bit、Python 2.7.3

Script

flattenLights.py

view = GetActiveView()

view.LightSwitch = 0 # turn off the Headlight
view.UseLight = 1 # turn on the Light Kit

view.KeyLightWarmth = 0.5
view.KeyLightIntensity = 1.0
view.KeyLightElevation = 0.0
view.KeyLightAzimuth = 0.0
view.FillLightWarmth = 0.5
view.FillLightKFRatio = 2.0
view.FillLightElevation = -90.0
view.FillLightAzimuth = 0.0
view.BackLightWarmth = 0.5
view.BackLightKBRatio = 2.0
view.BackLightElevation = 30.0
view.BackLightAzimuth = 90.0
view.HeadLightWarmth = 0.5
view.HeadLightKHRatio = 99.0

obj = GetSources()
for key in obj.keys():
    rep = GetDisplayProperties(obj[key])
    rep.Specular = 0.0

Render()
タグ: , , , , , , , , ,

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*