合計 昨日 今日

アバター
Dixq (管理人)
管理人
 
記事: 1538
登録日時: 2010年10月12日(火) 20:16
お住まい: 北海道札幌市
日記: 日記を見る (567)
日記
- 11月 2017
アンパンマンとバナナ (3)
   2017年11月16日(木) 23:28

+ 10月 2017
+ 9月 2017
+ 8月 2017
+ 7月 2017
+ 6月 2017
+ 5月 2017
+ 4月 2017
+ 3月 2017
+ 2月 2017
+ 1月 2017
+ 12月 2016
+ 11月 2016
+ 10月 2016
+ 9月 2016
+ 8月 2016
+ 7月 2016
+ 6月 2016
+ 5月 2016
+ 4月 2016
+ 3月 2016
+ 2月 2016
+ 1月 2016
+ 12月 2015
+ 11月 2015
+ 10月 2015
+ 9月 2015
+ 8月 2015
+ 7月 2015
+ 6月 2015
+ 5月 2015
+ 4月 2015
+ 3月 2015
+ 2月 2015
+ 1月 2015
+ 12月 2014
+ 11月 2014
+ 10月 2014
+ 9月 2014
+ 8月 2014
+ 7月 2014
+ 6月 2014
+ 5月 2014
+ 4月 2014
+ 3月 2014
+ 2月 2014
+ 1月 2014
+ 12月 2013
+ 11月 2013
+ 10月 2013
+ 9月 2013
+ 8月 2013
+ 7月 2013
+ 6月 2013
+ 5月 2013
+ 4月 2013
+ 3月 2013
+ 2月 2013
+ 1月 2013
+ 12月 2012
+ 11月 2012
+ 10月 2012
+ 9月 2012
+ 8月 2012
+ 7月 2012
+ 6月 2012
+ 5月 2012
+ 4月 2012
+ 3月 2012
+ 2月 2012
+ 1月 2012
+ 12月 2011
+ 11月 2011
+ 10月 2011
+ 9月 2011
+ 8月 2011
+ 7月 2011
+ 6月 2011
+ 5月 2011
+ 4月 2011
+ 3月 2011
+ 2月 2011
+ 1月 2011
+ 12月 2010
+ 11月 2010
+ 10月 2010
フォロー
カテゴリー
日常
1 記事

う~んうまくいかない…

パーマリンクby Dixq (管理人) on 2011年9月07日(水) 23:29

※DXライブラリの情報ってググってもあまり出てこないので、困ったことがあったら端から日記に書いて行こうと思います。

3D背景的な物を作成中です。
とりあえず妖々夢の6面を再現したくなったので(何故?!)作っています。

地面テクスチャを貼って、その上に桜の木モデルを表示しているのですが
ちらちらして見える・・・。
なんでかなと思ってよく見てみると

画像

葉っぱは透過してるのに、変な透過の仕方をしているではないですか。

DXライブラリ純正のビューわーで見ても

画像

透過しているようで、していない。なんかおかしいぞ・・。
あぁなんかOpenGLでもこんなことあったなぁ・・、と思ってググってみると

http://ktstg.blog.shinobi.jp/Entry/820/

テクスチャをpngにして、テクスチャ自体を透過しなきゃダメと書いてありました。
そこで、テクスチャ画像であるtgaファイルをフォトショで透過してpngに、メタセコ開いてテクスチャ画像を作ったpngにしました。

画像

この時点では、ちゃんと表示されている。
そしてxファイルに出力。

しかし作ったxファイルをDXライブラリで表示すると

画像

なにこれ葉っぱが無い・・。
そもそもテクスチャ画像って必ずtgaファイルになっているけど、pngを使わない理由はあるの・・?
png読めないの・・?
未解決ですが今日は遅いのでこの辺にしておきます。。

コメント数: 6 閲覧数: 27310
コメント

Re: う~んうまくいかない…

パーマリンクby ISLe on 2011年9月08日(木) 03:28

TGAもアルファチャンネルに対応しているのでTGAで透過しているならPNGで透過させても同じだと思います。
テクスチャをメモリに読み込んだ後は同じなのでPNGに対応してないのはライブラリの仕様でしょう。
PNGは透過マスク情報とアルファチャンネルは別モノなのでその辺の問題で表示されないだけかもしれません。

最初の変な透過の仕方ですけど、Zバッファがポリゴン単位で更新されるのが原因です。
手前のポリゴン(の透過部分)で奥のポリゴンが隠されてしまうわけです。
メタセコはポリゴン単位でZソートして表示するのできちんと表示されます。

1枚目のスクリーンショットの奥のモデルが欠ける現象は、モデルを画面の奥から手前へ順に描画することで解消します。
2枚目の方はモデル単体の問題なので、ポリゴンが干渉しないようにモデルを分割したりポリゴンの配置を工夫するしか無いです。
最後に編集したユーザー ISLe [ 2011年9月08日(木) 03:57 ], 累計 1 回
ISLe
 
記事: 2590
登録日時: 2010年10月16日(土) 22:47
日記: 日記を見る (17)

Re: う~んうまくいかない…

パーマリンクby Dixq (管理人) on 2011年9月08日(木) 20:09

> ISLeさん

> モデルを画面の奥から手前へ順に描画することで解消します。

奥から手前ではなく、逆に手前から奥に描画すると透明なものは解決しました。透明なものは逆に描画しないといけないようです。。

> TGAもアルファチャンネルに対応しているのでTGAで透過しているならPNGで透過させても同じだと思います。

TGAで、透過にしてみましたが、葉っぱが無くなる現象は変わらずです。。
透明に関する設定が何かあるんでしょうかね。。
う~ん、綺麗に描画出来ないので、木ではないオブジェクトにしてみようと思います。
アバター
Dixq (管理人)
管理人
 
記事: 1538
登録日時: 2010年10月12日(火) 20:16
お住まい: 北海道札幌市
日記: 日記を見る (567)

RE: う~んうまくいかない…

パーマリンクby ISLe on 2011年9月08日(木) 22:52

Dixq (管理人) さんが書きました:> モデルを画面の奥から手前へ順に描画することで解消します。
奥から手前ではなく、逆に手前から奥に描画すると透明なものは解決しました。透明なものは逆に描画しないといけないようです。。

あれ?変ですね。
Zバッファの作用として視点に近いものを先に描画するとピクセルの更新が行われなくなるはずなんですけど。

Dixq (管理人) さんが書きました:> TGAもアルファチャンネルに対応しているのでTGAで透過しているならPNGで透過させても同じだと思います。
TGAで、透過にしてみましたが、葉っぱが無くなる現象は変わらずです。。
透明に関する設定が何かあるんでしょうかね。。
う~ん、綺麗に描画出来ないので、木ではないオブジェクトにしてみようと思います。

DXライブラリのサイトにある3DプログラムサンプルでテクスチャをGIMP2でTGA形式にして実験してみました。
中央のレンガを100%透過、その周辺のレンガを50%透過に変更してますが、見た感じでは正しく描画されていると思います。
奥の壁が黒いのはポリゴンの描画順の関係でZバッファが作用して描画されないためです。
PriSc001.png
PriSc001.png (259.76 KB) 表示数: 328 回
添付ファイル
ISLe
 
記事: 2590
登録日時: 2010年10月16日(土) 22:47
日記: 日記を見る (17)

Re: う~んうまくいかない…

パーマリンクby Dixq (管理人) on 2011年9月08日(木) 23:26

う~ん、、これなんですが
http://dixq.net/zip/tmp/Cherry.zip
※すぐ消します。

ならない・・。
明日もう少し詳しく調べてみます。
ありがとうございます。
アバター
Dixq (管理人)
管理人
 
記事: 1538
登録日時: 2010年10月12日(火) 20:16
お住まい: 北海道札幌市
日記: 日記を見る (567)

RE: う~んうまくいかない…

パーマリンクby ISLe on 2011年9月09日(金) 03:02

結論から言うと、透過率100%のピクセルも半透明になってしまうという、DXライブラリのバグでした。

透過率100%のピクセルはZバッファを更新しないのでした。
なので、ポリゴンの形に欠けるということは、半透明として扱われているということなのでした。
桜の木はきちんと表示されました。

PriSc001.png
PriSc001.png (269.67 KB) 表示数: 317 回

こちらのスクリーンショットには前回のコメントに添付したものでは表示されていなかった、透過率100%の中央レンガの向こうがきちんと描画されています。
透過率50%レンガからは奥の壁が描画されていないので、描画順は変わっていないと分かります。
前回のスクリーンショットは、ダウンロードしたアーカイブに入っていた実行ファイルで撮ったものです。
Log.txtによるとDXライブラリのバージョン3.04bで作成されていました。
今回のスクリーンショットは、DXライブラリのバージョン3.05で作った実行ファイルで撮ったものです。

前回のスクリーンショット見た時点で気付いていれば…。
若干の違和感はあったんですけどね。
添付ファイル
最後に編集したユーザー ISLe [ 2011年9月09日(金) 03:12 ], 累計 2 回
ISLe
 
記事: 2590
登録日時: 2010年10月16日(土) 22:47
日記: 日記を見る (17)

Re: う~んうまくいかない…

パーマリンクby Dixq (管理人) on 2011年9月10日(土) 00:34

なんと・・!
そうだったのですか・・。
DXライブラリは定期的にverUPしないといけませんね。
しかしずっと悩んでいたことが解決してよかったです。情報ありがとうございます^^
そして、何度も試して頂いて感謝致します。
アバター
Dixq (管理人)
管理人
 
記事: 1538
登録日時: 2010年10月12日(火) 20:16
お住まい: 北海道札幌市
日記: 日記を見る (567)

オンラインデータ

登録ユーザー: みけCAT