...

プレビュー設定


□3Dテクスチャ

OpenGL1.2以上で利用可能。X軸方向から見たテクスチャ、Y軸方向から見たテクスチャを予め用意しなくて済むので、メモリの使用効率とパフォーマンスが向上します。利用可能な場合は自動的に使います。

□データ間で遮蔽

複数チャンネルのデータ間で、相互の隠蔽を行うかどうかです。隠蔽をしないことで、データの奥に埋もれた別チャンネルのデータを無理やり上書き表示することもできます。

□テクスチャフォーマット

描画用に使うテクスチャのフォーマットです。
ALPHA(透明度情報のみ保持。ボクセルあたり1byte)
LUMINANCE_ALPHA(白黒情報と透明度情報を保持。ボクセルあたり2byte)
RGBA(ボクセルあたり4byte。画質が一番いい)
が選べます。


□テクスチャ描画法

テクスチャの描画方法です。
左は、背景の色を覆い隠すように表示するか、加算でどんどん明るくするように表示するかのモード選択です。
右は、テクスチャ補間の方法です。補間無しか線形補間が選択できます。

□ポリゴンの配置

プレビュー時に格子状にポリゴンを配置するか、カメラ方向を向けた配置をするかです。(後者は3Dテクスチャ使用時のみ)

・カメラ方向を向けた配置

断面図の重ね方をカメラ方向を向くようにします。ポリゴンの輪郭線を描くと、左図のような表示をしていることになります。格子状に配置するよりも少ないポリゴン数で済むので、パフォーマンスと画質はやや上がります。

但し、データ境界に濃いガスがあったりすると、ポリゴンの境界が目立つので、向いていないデータなどもあります。

使用するポリゴン数を設定できます。(数字はデフォルトの-1から+1の領域をまっすぐ見た際に何枚のレイヤーを使って表示するかを示しています)

□フレームバッファ

フレームバッファを利用すると、通常の256段階ではなく、単精度(の半分)の精度を持ったバッファに画像を書き出し、その後(256段階の)モニタ画面に表示します。
描画中に情報量が落ちづらいので、マッハバンドが出にくくなります。
(その分描画は遅くなります。バッファの解像度を落として高速化することもできます)
(対応しきれないバッファサイズかどうかのチェックは未実装)



■ 吸収とエンボス陰影処理

□ OpenGLにおける減算処理が可能な場合に、エンボス的陰処理の陰処理をチェックすると、減算処理を行えるようになります。

吸収の係数に0以外の値を持たせると、描画の時に物体を暗くする表示も同時に行います。


光源を設定していると、(複数ある場合は最初の)光源の反対方向に少しずらして減算をすることが出来るので、エンボス処理的な擬似陰影を付けることができます。

2次元の場合の模式図(本当のエンボスは単なる差分ではなくて、それを元に陰影処理するものなのでちょっと違う)

陰のずらしの幅は「エンボスのオフセット」で調整します。


□ 実際にレイトレースしたものとは違う結果になりますが、計算量は圧倒的に少ないので、レンダリングも比較的速く行えます。



□ 左側から照らした場合のプレビュー画面とレンダリング画像。
(プレビューとレンダリング画像では、同じような数値に設定しても処理の方法が違うので見た目は結構変わります。それぞれについて別々に値を調整する必要があります。)



□ レンダリングしたほうが基本的に綺麗ですが、
フィルタをかけたりといった難しいことを考えなければ、プレビュー画面でも十分な場合も多そうです。

□ 光を吸収する時の色は、デフォルトだと発光している色と同じ色成分になります。
例として、濃い白く光っている領域の周りに赤いエンベロープがあるとすると、中心部の光を赤で吸収して、むしろ青く見えることになります。(左)



そのため、エンベローブ部分を通ってくる光をエンベローブの色にする場合には、補色成分で吸収をさせることになります。(右)

経験上は、0.3〜0.5ぐらいにすると、ちょうど良いようです。





■ パネル下部にあるグラフには、データの分布(ある値のボクセルの体積のログを取った値)が表示されます。2本目の線はレベル補正フィルタなどをかけた場合の、レベル曲線を表示します。

■ データの更新などはできる限りリアルタイム反映するようにしていますが、バグる場合もありえます。編集から「キャッシュの消去」で、現在のメモリの内容を消去して再読み込みを行なえます。
...