HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2017
0707
わた雲hgimg3でアンチエイリアスをかけたい6解決


わた雲

リンク

2017/7/7(Fri) 14:09:23|NO.80521

hgimg3で、ピクセル感のないグラフィックを描きたいのですが、
オブジェクトの内部にはあらかじめアンチエイリアスを入れたテクスチャを用いればいいのですが、
オブジェクトとオブジェクトの間はどうしてもガタガタしてしまいます。
こうしたオブジェクト間にもアンチエイリアスを入れる方法はありますか?



この記事に返信する


kino

リンク

2017/7/7(Fri) 18:58:04|NO.80525

オブジェクト間の重ね合わせのギザギザ(ガタガタ)のことですか?
通常アルファチャンネルで対処すると思うんですけど
ギザギザを消すのは限界があると思うので
テクスチャの元画像を縦横を倍にして滑らかにするなど
対策はある程度必要でしょうね。



わた雲

リンク

2017/7/7(Fri) 21:01:30|NO.80526

重ね合わせのギザギザではなく、
例えば、奥の方に大きな白い壁があって、手前の方に斜めになった黒い正方形があったら、
画面に映る黒と白の境目となる直線は、1ピクセルごとにガタガタしていますよね?
それを、間に灰色を入れて、より滑らかな直線に見えるような処理をしたいのてす



わた雲

リンク

2017/7/8(Sat) 12:27:51|NO.80534

追記
画像のふちの部分に透明度を設定したpngファイルの画像をテクスチャとすることで
背後のオブジェクトとの間を滑らかにしようと思ったのですが、
透明度の高い部分がなぜか透明ではなく黒くなってしまいます。これはなぜですか?



暇人

リンク

2017/7/8(Sat) 14:56:17|NO.80536

hgimg3はDirectX8.1で、アンチエイリアシングがDirectXでサポートされたのが
DirectX9(かなり機能制限されるが)からだった気がする・・・
それもPC環境が対応してなければ使えない

↓のようにウィンドウを大きく作って

screen 0,1600,1600 hgini screen 0,800,800
hgini後に小さいサイズでウィンドウを作り直す事で
DirectXが勝手に縮小処理して補間してくれます。

欠点としては
全体にかかるのとあまり綺麗にはかからない
直接描画も縮小されるのでスクリーン座標関係も含め
最初に作ったウィンドウとの比率に合わせる必要がある
レンダリングは最初に作ったウィンドウサイズでされるので描画負荷は増えるだろう・・・


>NO.80534
>透明度の高い部分がなぜか透明ではなく黒くなってしまいます。
半透明を含む物でZ値が書き込まれると後ろの物は描画されない
なので
>OBJ_LATE 常に後から描かれる(半透明オブジェクト用)
ってオブジェクトの設定がある(これで全てが解決するわけではないが・・・)



暇人

リンク

2017/7/9(Sun) 13:13:32|NO.80548

大きいウィンドウを作りhgini後に半分のウィンドウにして表示させた比較画像

左が通常で右がお手軽アンチエイリアス
http://ux.getuploader.com/himajin130414/download/38/hgimg3%E7%B8%AE%E5%B0%8Ftes.PNG



わた雲

リンク

2017/7/11(Tue) 07:09:33|NO.80556

暇人さん、ご回答ありがとうございます。
半透明を表現するにはZ値は使えないんですね…。とりあえずは、縮小で対応できそうです。
丁寧なご回答ありがとうございました。



ONION software Copyright 1997-2021(c) All rights reserved.