2ntブログ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
line

アルファブレンディングとアルファマスキング

アルファチャンネルで透明度が指定されたテクスチャの貼り方に、アルファブレンディングとアルファマスキングがあります。
これを説明している日本語サイトないね、って、某スクリプト屋さんとお話ししていました。

ブレンディング
透明度に沿って、背景との合成を行います。背景もブレンディング像だったときは、さらにその背景と合成されます。水中や水面は1レイヤーとして数えられます。SLでは3レイヤー以上のブレンディング合成を行うと、いずれかのレイヤーが透明化してしまうというバグが昔からあります。
この問題ははグラボの種類にも依り、GeForce系では3レイヤー以上の場合にのみ起きますが、RADEON系では2レイヤーでも起きる場合があります。

マスキング
指定した透明度以上の透明性を持ったピクセルをすべて透過します。当然、フチにはジャギーが出ます。

ブレンディングの方が高品位処理になりますから、マスキングは意味がないのでは?と思いがちですけど、実は大いにあります。

まず、Meshオブジェクトは立体的なために、1レイヤーであっても重なってしまう事があります。
bandicam 2018-06-09 08-37-12-490 bandicam 2018-06-09 08-37-00-618
左の画像はアルファブレンディング、右の画像はアルファマスキングです。これは一つの面にテクスチャマッピングしてあるオブジェクトなんですけど、花の部分が下の葉っぱと重なっていて、レイヤーがいくつも重なっている事になります。
先にお話ししましたようにレイヤー合成時のバグのせいで、ブレンディングでは花の部分が透けてしまっています。一方、マスキングでは透明度を二値で扱っているため、このバグとは無縁になります。

それ以外にも、大量のブレンディングテクスチャのオブジェクトが視界内にあると非常に重くなる、というのもあります。草原や森林の木々をブレンディングで処理するのは、キレイはキレイでもかなり重いです。

いちばん理想なのは、マスキングでブレンディングに見えるようなテクスチャマスクを描くことです。
line
line

comment

管理者にだけ表示を許可する

line
line

line
プロフィール

Eriko Resident

Author:Eriko Resident
リンデンラボ社のSecond Lifeにて遊んでいます。

line
最新記事
line
最新コメント
line
最新トラックバック
line
月別アーカイブ
line
カテゴリ
line
検索フォーム
line
RSSリンクの表示
line
リンク
line
QRコード
QR
line
sub_line