※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()
コメントを残す