トップページ > 記事閲覧
Android版のブルーム効果について
名前:そめ 日時: 2021/05/05 01:37

サンプルプロジェクトにブルームのサンプルソースを貼り付けて動かしてみたのですが エミュレータ(Pixel 2Pie 9.0 - API 28)では × DX_GRAPH_FILTER_BRIGHT_CLIP(無出力) × DX_GRAPH_FILTER_DOWN_SCALE(無出力) ○ DX_GRAPH_FILTER_GAUSS 手元の端末では ○ DX_GRAPH_FILTER_BRIGHT_CLIP × DX_GRAPH_FILTER_DOWN_SCALE(縦のシマシマになる) ○ DX_GRAPH_FILTER_GAUSS という挙動をしています (一応ダウンスケールフィルタの代わりに普通にバイリニアで描画することで実現はできました(速度は見てません)) 私の端末でダウンスケールが機能しないのはハードウェアの性能かな?としてもエミュレータ上でも動いてないのでもしかしたらバグの可能性はないでしょうか? また、フィルタが使えるか判定できるといいのですが よろしくお願いいたします
メンテ

Page: 1 |

Re: Android版のブルーム効果について ( No.1 )
名前:管理人 日時:2021/05/06 07:52

ご指摘ありがとうございます 調べてみますので数日ほどお時間をください m(_ _)m
メンテ
Re: Android版のブルーム効果について ( No.2 )
名前:管理人 日時:2021/05/07 00:08

手元で以下のようなテストプログラムを組んで実行したのですが、 エミュレーターでも正常に DX_GRAPH_FILTER_DOWN_SACLE と DX_GRAPH_FILTER_BRIGHT_CLIP が動作しました // 画面の右側に DOWN SCALE, BRIGHT CLIP, GAUSS フィルターの結果を表示するプログラム #include "DxLib.h" int android_main( void ) { int Handle ; int Screen ; int GradHandle ; // 画面サイズを設定 SetGraphMode( 256 * 2, 256 * 3, 32 ) ; // DXライブラリの初期化 if( DxLib_Init() < 0 ) return -1 ; // 画像を読み込む Handle = LoadGraph( "Src1.bmp" ) ; // フィルター結果出力用画像 Screen = MakeScreen( 256, 256, TRUE ) ; while( ProcessMessage() == 0 ) { // フィルター結果出力用画像をクリア SetDrawScreen( Screen ) ; ClearDrawScreen() ; // 描画先を裏画面に変更 SetDrawScreen( DX_SCREEN_BACK ) ; ClearDrawScreen() ; // 元の画像を左上に描画 DrawGraph( 0, 0, Handle, FALSE ) ; // DX_GRAPH_FILTER_DOWN_SCALE フィルターの結果を画面右上に描画 GraphFilterBlt( Handle, Screen, DX_GRAPH_FILTER_DOWN_SCALE, 2 ) ; DrawGraph( 256, 0, Screen, FALSE ) ; // DX_GRAPH_FILTER_BRIGHT_CLIP フィルターの結果を画面右側真ん中に描画 GraphFilterBlt( Handle, Screen, DX_GRAPH_FILTER_BRIGHT_CLIP, DX_CMP_LESS, 128, TRUE, GetColor( 0, 255, 0 ), 255 ) ; DrawGraph( 256, 256, Screen, FALSE ) ; // DX_GRAPH_FILTER_GAUSS フィルターの結果を画面右下に描画 GraphFilterBlt( Handle, Screen, DX_GRAPH_FILTER_GAUSS, 16, 1400 ) ; DrawGraph( 256, 256 * 2, Screen, FALSE ) ; // 裏画面の内容を表画面に表示 ScreenFlip() ; } // DXライブラリの後始末 DxLib_End() ; return 0 ; } ( Src1.bmp はDXライブラリのパッケージの『サンプルプログラム実行用フォルダ』の中にあるファイルです ) <実行結果のスクリーンショット> https://dxlib.xsrv.jp/temp/GraphFilterTest.png よろしければ上記のプログラムであればそめさんの環境でも正常に動作するか 試していただけないでしょうか? m(_ _)m
メンテ
Re: Android版のブルーム効果について ( No.3 )
名前:そめ 日時:2021/05/07 10:44

上記ソースだと3種エフェクトがエミュ&実機で上手く行きました ただやはり 「サンプルプログラム ブルーム効果基本」 これを ・WinMain->android_main ・ChangeWindowMode( TRUE );をコメントアウト に変えたものだと報告の結果になります (今組んでるゲームもサンプルを基本にしているためか同じ症状です) (マルチで組んでいるのですがウィンドウズ版は上手く行ってます) ちょっと気になったのですが今頂いたコードはフィルタ出力先が2の冪乗サイズですね そこがキーでしょうか
メンテ
Re: Android版のブルーム効果について ( No.4 )
名前:そめ 日時:2021/05/07 16:10

少し実験しました 「サンプルプログラム ブルーム効果基本」 の // ステージモデルの描画 MV1DrawModel( StageModel ) ; の直下に DrawExtendGraph(0,0,1,1,Handle,TRUE);//適当な画像を1ドット描画 を追加すると各フィルタが有効になるようです (あらかじめHandle = LoadGraph( "Src1.bmp" ) ;はやってあります) 3D処理の直後だと上手く行かないんですかね カリングとかzバッファとかのフラグが残っちゃうとかですか? 冪乗は関係なかったみたいです
メンテ
Re: Android版のブルーム効果について ( No.5 )
名前:管理人 日時:2021/05/09 01:59

ご情報ありがとうございます > 3D処理の直後だと上手く行かないんですかね > カリングとかzバッファとかのフラグが残っちゃうとかですか? 正にご指摘の通りZバッファの設定が元に戻っていないことが原因でした 修正版をアップしましたので、よろしければお試しください m(_ _;m https://dxlib.xsrv.jp/temp/DxLibAndroidTest.zip // Android版
メンテ
Re: Android版のブルーム効果について ( No.6 )
名前:そめ(解決済) 日時:2021/05/09 20:23

ありがとうございます ダウンロードしました ひとまず解決とさせていただきます
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存