RenderManのお勉強(不透明度)


不透明度

RenderManでは色を決める際に、色を決める情報(赤緑青の値)の他に不透明度と呼ばれる数値を指定することが出来ます。色に対して一つの不透明度を設定するシステムが多いのですが、RenderManでは赤緑青のそれぞれに不透明度を設定することが出来ます。不透明度の数値は0から1の間の実数で表します。0の時には完全に透明、1の時には完全に不透明となります。
不透明度を設定するためには、Opacity命令を使用します。

サンプルその1

# opacity01.rib
Display "opacity01.tiff" "file" "rgba"
Projection "perspective"
Translate 0 0 2
WorldBegin
	Color [1 0 0]
	AttributeBegin
		Color [0 1 0]
		Opacity [0.5 0.5 0.5]      #不透明度設定
		Sphere 1 -1 1 360
	AttributeEnd
	AttributeBegin
		Rotate 90 1 0 0
		Cylinder 0.5 -1.5 1.5 360
	AttributeEnd
WorldEnd

サンプルその1の実行例

不透明度設定Opacity [0.5 0.5 05]不透明度設定なし

サンプルその1の説明

  1. AttributeBegin〜AttributeEndの部分は、属性(Attribute)のグループ化するために利用しています。この中で、変更した属性は、外側では無効(もとのまま)となります。色や不透明度などのシーン内のオブジェクトに固有なパラメータを属性と呼んでいます。
  2. 不透明度を設定するためには、Opacity命令を使用します。パラメータのCredは赤色の不透明度、Cgreenは緑色の不透明度、Cblueは青色の不透明度を表しています。Opacity命令を呼び出さない場合の不透明度(つまりデフォルトの不透明度)は、全て1となっています。
  3. このサンプルでは、緑色の球と赤色の円柱が置かれており、球と円柱は交差しています。赤色の円柱の不透明度は[1 1 1]ですが、緑色の球の不透明度は[0.5 0.5 0.5]に変更しています。
  4. RenderManでは赤緑青毎に不透明度を設定できるので、フィルタ的な使い方もできます。

AttributeBegin〜AttributeEnd
属性のグループ化
Opacityの呼び出し方
Opacity [Cred Cgreen Cblue]

演習

不透明度を色々変更して色の変化を確認してみてください。
2008年02月02日(土) 17:16:12 Modified by m_riho

添付ファイル一覧(全2件)
e4828d54.jpg (8.88KB)
Uploaded by m_riho 2008年01月26日(土) 13:16:21
afe6d39d.jpg (8.78KB)
Uploaded by m_riho 2008年01月26日(土) 13:10:14



スマートフォン版で見る