cuemol2/PostAlphaBlendCueMol: Molecular Visualization Framework |
半透明オブジェクトの効率的なレンダリングCueMol1のころから着色の透明度を1以下にすることで,半透明の表示等は可能でしたが, 特にPOV-Rayによるレンダリング時に以下のような問題点がありました.
CueMol2.0.1.X以降では,POV-Rayレンダリング時に半透明として計算するのではなく, レンダリング後に(半透明として)重ね合わせることで, より簡単に見やすい図を作成可能になりました.
半透明物体があるシーンの作成まず,例として半透明物体があるシーンを作成します. 以下の手順を実行して作成できますが, 以上から作成済みのqscファイルがダウンロードできます. 分子の読み込みとリボン表示チュートリアルを参照して, ネットから1CRNを読み込みます. この時,作成するrendererはribbonにしておきます. 分子表面の作成と表示設定さらに,分子表面の生成を参照して,1CRNの分子表面,sf_1CRNを作成します. デフォルトではsf_1CRNのレンダラーmolsurf1はCPKColoringになっていますが, これを以下のようにして表示変更します.
分子ビューの方は,下図のようになるはずです. 半透明表示の設定次に,molsurf1レンダラーの設定を変更し,半透明表示にします. Sceneサイドパネルでmolsurf1を右クリックしてコンテキストメニューを表示させ, メニュー中から「Properties...」を選択します (あるいはSceneサイドパネルでmolsurf1をダブルクリックします) すると,以下のようなダイアログが表示されます. 図のように,Opacityの右のスライダーを操作して値を0.5になるようにします. OKボタンを押してダイアログを閉じると,以下のように分子表面が半透明っぽくなります. ただし,OpenGLでの表示では半透明が正しく表示できないため, 上図のようなおかしな表示になってしまいます. ★さらに背景を白色にしてください. POV-Ray renderingウィンドウでレンダリングを行う次に,メニュー「Render」→「POV-Ray rendering...」を実行して, POV-Ray renderingウィンドウを表示します. ここで,「Post-render alpha blending」というチェックボックスがONになっていることを確認してください. そして,Heightを適当な大きさに変更してRenderボタンを押してレンダリングを開始します. (POV-Ray renderingウィンドウの操作の詳細はチュートリアルを参照してください) 二度レンダリングが行われた後,2つのイメージが合成され,以下のような画像が出来上がります. 二度行われるにしても,Post-render alpha blendingをoffにしての1度のレンダリングに比べて全然早いです. ちなみに,下図が従来の半透明レンダリングの結果(Post-render alpha blending=off)です. 一般的に,Post-render alpha blendingの方が透明度が高めに見えるようになります. 場合に応じて,見やすい値に調整する必要が有るでしょう. |