» jp.Transparency Overview
This site relies heavily on Javascript. You should enable it if you want the full experience. Learn more.

jp.Transparency Overview

English

透過オブジェクト

関連ノード

Blend (EX9.RenderState Advanced)
ZWriteEnable (EX9.RenderState)
AlphaTest (EX9.Renderstate)
Group (EX9)
Group (EX9 Priority)

もし最初にカメラに近い透過オブジェクトを描画し、その後、後ろに普通のオブジェクトを描画する場合、デプスバッファチェックでは後ろに隠れているオブジェクの描画を省いてしまいます。デプスチェックでは半透明オブジェクトについて何も知らないので。

透けているオブジェクトを描画する場合は、それ以外を全て描画した後に描画しましょう。

Group (EX9) ノードを使う際は、描画順は入力の左から右の順番で描画されます。
Group (EX9 Priority) ノードは各レイヤの描画順/優先度を "Priority" ピンを使って指定できます。

これが難しい場合、DirectX はある古典的な手法を使って、任意の描画順で透過オブジェクトを扱えます。
vvvv でこれを扱うには AlphaTest (EX9.Renderstate) ノードを使います。

基本的に、アルファテストは全てのピクセルのアルファ値が、与えられた値より低い場合、処理をスキップします。
スキップする、とは、そのピクセルは描画もデプスバッファへの書き込みも行われない、という意味です。
AlphaTest ノードを描画するノードにつなぐと、アルファテストを有効にしたり、比較関数を指定したり、'reference alpha' ピンで基準になるアルファ値を指定できます。
これを使うと、全ての透過領域の描画を省略する事も出来ます。
Microsoft のこのドキュメントに DirectX 詳細があります。

この手法では境界がスムーズにアンチエイリアスされない事は自明ですが、無いよりかはマシです。

こちらもどうぞ:

背景の透過

関連ノード

DX9Texture (EX9.Texture)
SetAlpha (Color)

レンダラに描画されたイメージは DX9Texture (EX9.Texture) ノードを使ってテクスチャとして扱う事ができます。
これは描画結果を保存したり、ポストエフェクト (TextureFX など)をかける時、フィードバックループを作る時に便利です。

背景を透過させる際は Renderer (DX9)Background Color ピンのアルファ値は 1 以下の必要があります。
加えて、レンダラと DX9Texture (EX9.Texture)Format ピンはアルファチャンネルも含むものにして下さい。一般的に A8R8G8B8 がよく使われます。

vvvv\girlpower\ 内のサンプル:

  • Graphics\DX9\Texture\TransparentTexture.v4p

anonymous user login

Shoutbox

~3h ago

joreg: vvvvTv S02E01 is out: Buttons & Sliders with Dear ImGui: https://www.youtube.com/live/PuuTilbqd9w

~6d ago

joreg: vvvvTv S02E00 is out: Sensors & Servos with Arduino: https://visualprogramming.net/blog/2024/vvvvtv-is-back-with-season-2/

~7d ago

fleg: hey there! What's the best tool for remote work? Teamviewer feels terrible. Thanks!

~20d ago

joreg: Last call: 6-session vvvv beginner course starting November 4: https://thenodeinstitute.org/courses/ws24-5-vvvv-beginners-part-i/

~1mth ago

joreg: Missed the last meetup? You can rewatch it here: https://www.youtube.com/live/MdvTa58uxB0?si=Fwi-9hHoCmo794Ag

~1mth ago

theurbankind: When is the next big event, like node festival ?

~1mth ago

~1mth ago

joreg: Join us for the next vvvv meetup on Oktober 17th: https://visualprogramming.net/blog/2024/25.-vvvv-worldwide-meetup/

~1mth ago

joreg: 6 session beginner course part 2 "Deep Dive" starts January 13th: https://thenodeinstitute.org/courses/ws24-5-vvvv-beginners-part-ii/