2016/03/27(日) [n年前の日記]
#1 [processing][proce55ing] Processing上でテクスチャが透過されなくて悩んでたり
Processingで木・樹木のテクスチャを表示しようとしているのだけど、テクスチャの透過部分が透過されなくて悩んでいたり。
元テクスチャは RGBA のpng画像。Processing は P3Dモード。テクスチャを描画すると、background() で指定した背景色で、木の周りの透過部分が塗り潰されてしまう…。
background() を指定しなければ透過されるけど、その場合は画面を消さずに上書きしていく感じになるので、木の残像が画面一杯に残る感じの見た目になって。背景相当を何かで塗り潰せばいいのかもしれないけど…。そもそも、background() 指定をすると透過されないというのもなんだかおかしな話で。
色々ググって試していたら、hint(DISABLE_DEPTH_TEST); なる一文を setup() の中に追加したら透過されるようになった。ただ、コレは、Z座標で前後関係をソートしない・描いた順に上書きで塗り潰していく状態になるので、ポリゴンの描画順を意識してソースを書かないといけない。まあ、PS1の頃はそういうやり方をしてたから、できないわけでもないだろうけど…。
元テクスチャは RGBA のpng画像。Processing は P3Dモード。テクスチャを描画すると、background() で指定した背景色で、木の周りの透過部分が塗り潰されてしまう…。
background() を指定しなければ透過されるけど、その場合は画面を消さずに上書きしていく感じになるので、木の残像が画面一杯に残る感じの見た目になって。背景相当を何かで塗り潰せばいいのかもしれないけど…。そもそも、background() 指定をすると透過されないというのもなんだかおかしな話で。
色々ググって試していたら、hint(DISABLE_DEPTH_TEST); なる一文を setup() の中に追加したら透過されるようになった。ただ、コレは、Z座標で前後関係をソートしない・描いた順に上書きで塗り潰していく状態になるので、ポリゴンの描画順を意識してソースを書かないといけない。まあ、PS1の頃はそういうやり方をしてたから、できないわけでもないだろうけど…。
◎ 余談。 :
木のテクスチャは、Tree[d] というツールを使って作成したり。
ググってみたところ、配布サイトは消えているらしい。ただ、以下の記事で入手ページが紹介されてる模様。
_樹木生成アプリTree[d]のサイトって閉鎖されてたんですね | ひーちーのつぶやき
_Terragen 3 tree[d]で作成した木: Terragen3、Blender で楽しむ3DCG
ググってみたところ、配布サイトは消えているらしい。ただ、以下の記事で入手ページが紹介されてる模様。
_樹木生成アプリTree[d]のサイトって閉鎖されてたんですね | ひーちーのつぶやき
_Terragen 3 tree[d]で作成した木: Terragen3、Blender で楽しむ3DCG
[ ツッコむ ]
以上です。