トップページ > 記事閲覧
iOS版で画面全体のGLESテクスチャバッファを取得したい
名前:みこ 日時: 2025/02/12 08:26

いつもお世話になっております。 以前相談させて頂きましたAndroid版とiOS版をEffekseerに対応させたい件ついて、 Effekseerに問い合わせたところ、現状サポートする予定はないとの事でしたので自身で対応をしており、 現在殆ど完成していますがiOS版の歪み機能の対応で問題があります。 歪み機能を対応するためにDxLib描画途中の画面のテクスチャバッファを用意する必要があり、 Android版は以下コードで高速に取得が出来ました。 【Android版でテクスチャバッファ取得】 DxLib::RenderVertex(); // DxLibから描画対象のフレームバッファを持ってきてバインドする glBindFramebuffer(GL_FRAMEBUFFER, DxLib::GANDR.Device.State.TargetFrameBuffer); // コピー先のテクスチャをバインド (GL_RGB) glBindTexture(GL_TEXTURE_2D, gles_backgroundTexture); // 画面全体をテクスチャにコピー glCopyTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, viewport[0], viewport[1], width, height); // 後始末 glBindTexture(GL_TEXTURE_2D, 0); DxLib::RefreshDxLibOpenGLESSetting(); 【問題点】 ・iOS版で同じように glCopyTexSubImage2D すると FPS60->20 とかなり遅い ・iOS版には DxLib::RefreshDxLibOpenGLESSetting(); 関数が用意されていない 【テクスチャ取得で試したこと】 ・glCopyTexImage2D  > glCopyTexSubImage2Dと同じ結果 ・glTexSubImage2D  > RGBAデータバッファを取得(glReadPixels)する段階でかなり時間がかかる ・DxLib::GetDrawScreenGraph で生成したグラフィックハンドルを DxLib::GetGraphOpenGLESTextureObject でテクスチャに変換  > 変換に失敗したのと、iOS版にはDxLib::GetGraphOpenGLESTextureObject関数が無かった 他の方法も色々試してみたのですがパフォーマンスが落ちる一方なので、DxLib内部のテクスチャをそのまま使う事が出来ればそれが一番いいと思っています。 GIOS.Device.Screen.SubBackBufferTexture が表画面全体のテクスチャ(?)と思いますが、 これの裏画面バージョン(現在リアルタイムで出力しているテクスチャ(裏画面にアタッチしているテクスチャ?))のようなものがあればと思っているのですがありますでしょうか? お手数をお掛けしますがよろしくお願いいたします。
メンテ

Page: 1 |

Re: iOS版で画面全体のGLESテクスチャバッファを取得したい ( No.1 )
名前:管理人 日時:2025/02/13 01:17

> GIOS.Device.Screen.SubBackBufferTexture が表画面全体のテクスチャ(?)と思いますが、 > これの裏画面バージョン(現在リアルタイムで出力しているテクスチャ(裏画面にアタッチしているテクスチャ?))のようなものがあればと思っているのですがありますでしょうか? GIOS.Device.Screen.SubBackBufferTexture が恐らくみこさんご所望の『現在リアルタイムで出力しているテクスチャ』だと思います DXライブラリ iOS版や Android版 では、まず SubBackBufferTexture に対して描画を行い、 ScreenFlip の際に本来の OpenGL ES のバックバッファ( 裏画面 )に SubBackBufferTexture の 内容を描画してからバックバッファ( 裏画面 )の内容を表画面に表示する、という手順を行っているので…
メンテ
Re: iOS版で画面全体のGLESテクスチャバッファを取得したい ( No.2 )
名前:みこ 日時:2025/02/13 03:00

詳しいご説明ありがとうございます! GIOS.Device.Screen.SubBackBufferTexture を使ってはみたのですが、 glCopyTexSubImage2Dを使った方法に比べてエフェクトの色が濃くなる等の違和感があったので勘違いしてました、、 となると別の問題ですね、もう少し頑張ってみます 2点目の問題ですが、iOS版のRefreshDxLibOpenGLESSetting関数の実装は可能でしょうか? ※Effekseer内部でGLESを使った描画処理をしているのでDxLibに戻る際にGLES関連の再設定が必要ではないかと思いました また、本件とは関係無いですが不具合が2件見つかりましたので共有します。 ・法線マップを使用した3DモデルをAndroid版、iOS版で描画すると真っ黒になります ※サンプルソースとスクリーンショットを以下リンクにて共有します ・SetKeyInputStringFont で縁有りのフォントハンドルを設定した場合、キー入力の文字列の縁の周りに文字色が少しはみ出ています ※スクリーンショットを格納しています ttps://drive.google.com/open?id=1bF2BSQY37Bw9tAQ312hV2mKuduzOmClo&usp=drive_fs お手数をお掛けしますがよろしくお願いいたします
メンテ
Re: iOS版で画面全体のGLESテクスチャバッファを取得したい ( No.3 )
名前:管理人 日時:2025/02/14 02:57

> 2点目の問題ですが、iOS版のRefreshDxLibOpenGLESSetting関数の実装は可能でしょうか? すみません、現在手元の環境では iOS版の aファイルの作成が失敗してしまう状態なので コンパイルが成功するかの確認もできていませんが、RefreshDxLibOpenGLESSetting は非常に シンプルなつくり( DXライブラリ内部用の関数を一つ呼んでいるだけ )なので恐らく問題ないと思います aファイルが作成できない状態なのでソースでのご提供となりますが問題ないでしょうか? m(_ _;m https://dxlib.xsrv.jp/temp/DxLibMakeTest.zip // ソース (中身を既存のライブラリのファイルに上書きして『リビルド』をして下さい) > ・法線マップを使用した3DモデルをAndroid版、iOS版で描画すると真っ黒になります ※サンプルソースとスクリーンショットを以下リンクにて共有します > ・SetKeyInputStringFont で縁有りのフォントハンドルを設定した場合、キー入力の文字列の縁の周りに文字色が少しはみ出ています ※スクリーンショットを格納しています ご情報ありがとうございます 今週末は用事があり修正作業をする時間の確保が難しいので、来週末に修正を試みたいと思います m(_ _;m
メンテ
Re: iOS版で画面全体のGLESテクスチャバッファを取得したい ( No.4 )
名前:みこ 日時:2025/02/15 19:26

・iOS版のRefreshDxLibOpenGLESSetting関数について はい、大丈夫です! 実機のみ確認ですが正常に動作しました、ありがとうございます! ・不具合について 承知しました、お忙しい中ありがとうございます! ・Android版とiOS版についての相談 先ほどモバイル版で.dds形式の画像を読み込もうとしたところ両方で失敗したのですがですが非対応でしょうか? dxt1、dxt5が読み込み失敗 iOS版 -> DxLib::glTexSubImage2D_ASync でアプリが落ちました Android版 -> アプリは落ちませんでしたがカラフルなスノーノイズが写り、ほんの少しですが画像の面影がありました Windows版 -> 正常 ※LoadGraph や MV1LoadModelのテクスチャ で確認 お時間の許す限りで構いませんので、お手数をお掛けしますがよろしくお願いいたします_(_^_)_
メンテ
Re: iOS版で画面全体のGLESテクスチャバッファを取得したい ( No.5 )
名前:管理人 日時:2025/02/16 22:34

> ・Android版とiOS版についての相談 > 先ほどモバイル版で.dds形式の画像を読み込もうとしたところ両方で失敗したのですがですが非対応でしょうか? すみません、Android版とiOS版は dxt圧縮された ddsは一応読み込める仕組みは作っていたのですが バグで正常に処理されていませんでした 修正版をアップしましたので、よろしければお試しください m(_ _;m ( 例によって iOS版はありません m(_ _;m ) https://dxlib.xsrv.jp/temp/DxLibAndroidTest.zip // Android版 https://dxlib.xsrv.jp/temp/DxLibMakeTest.zip // ソース (中身を既存のライブラリのファイルに上書きして『リビルド』をして下さい) 因みに、Android版、iOS版は dxt圧縮には対応していないので、LoadGraph や MV1LoadModel で 読み込むと内部で無圧縮24bitカラー( or 32bitカラー )の画像に変換されて使用されます m(_ _)m
メンテ
Re: iOS版で画面全体のGLESテクスチャバッファを取得したい ( No.6 )
名前:みこ 日時:2025/02/17 23:29

お忙しい中快速な対応ありがとうございます! >因みに、Android版、iOS版は dxt圧縮には対応していないので、LoadGraph や MV1LoadModel で >読み込むと内部で無圧縮24bitカラー( or 32bitカラー )の画像に変換されて使用されます m(_ _)m 消費メモリ量の少ないdds形式を使用してメモリ消費量を抑えたかったので残念ですが承知しました! Androidで確認したところアプリが落ちる事は無くなりましたが、色が変色するのと、左上が黒くなって読み込まれました。 ※iOSは未確認です ddsはNvidiaTextureToolExporterのbc1(dxt1)を使用して変換しました。 ※alpha情報を含んだbc3(dxt5) でも同じ結果でした 以下リンクにて共有します。 ttps://drive.google.com/open?id=1bF2BSQY37Bw9tAQ312hV2mKuduzOmClo&usp=drive_fs android-dds.png -> androidエミュレータのスクショ splash.dds -> 使用した画像ファイル お手数をお掛けしますがよろしくお願いいたします
メンテ
Re: iOS版で画面全体のGLESテクスチャバッファを取得したい ( No.7 )
名前:管理人 日時:2025/02/19 02:39

> Androidで確認したところアプリが落ちる事は無くなりましたが、色が変色するのと、左上が黒くなって読み込まれました。 ファイルのご提供ありがとうございます 手元では左上が黒くなる現象は再現しなかったのですが、色が変色する現象は確認できました 原因は無圧縮カラーに変換する処理が Mipmap が含まれた ddsファイルを想定していなかったからでした Mipmap情報が含まれた DXT形式の ddsファイルでも正常に読み込めるように修正しましたので、 何度も申し訳ありませんが、よろしければこちらの修正版をお試しください m(_ _;m https://dxlib.xsrv.jp/temp/DxLibAndroidTest.zip // Android版 https://dxlib.xsrv.jp/temp/DxLibMakeTest.zip // ソース (中身を既存のライブラリのファイルに上書きして『リビルド』をして下さい)
メンテ
Re: iOS版で画面全体のGLESテクスチャバッファを取得したい ( No.8 )
名前:みこ 日時:2025/02/20 00:58

快速な対応ありがとうございます! 確認したところ、AndroidはMV1と通常の描画いずれも正常に描画できましたがiOSは描画されませんでした MV1のテクスチャは正常に反映されていましたが、 通常の描画では0以上の正常な値を返し、DrawGraph等の描画では0を返しましたが何も映りませんでした。 また、一部ですが描画されるdds画像もありましたのでGoogleドライブの「描画されたdds」フォルダに入れておきます 一見問題なさそうですがスレッド関連の警告もありましたので念のためxcodeで取得したログも載せておきます。(文字化けだらけですが) お手数をお掛けしますが何卒よろしくお願いいたします。 ------------- log ------------- 0:Start initialization processing of DX library 1: DX library Ver3.24e 2: ÈùûÂêåÊúüË™≠„ÅøË溄ÅøÂá¶ÁêÜ„ÅÆÂàùÊúüÂåñ... ÊàêÂäü 2: „Éï„Ç°„ǧ„É´„Ç¢„Ç؄Ǫ„ÇπÂá¶ÁêÜ„ÅÆÂàùÊúüÂåñ... ÊàêÂäü 585: „Éê„ɺ„Ç∏„Éß„É≥:OpenGL ES 2.0 Metal - 101 585: „ɨ„É≥„ÉÄ„É©„ɺ:Apple A15 GPU 585: „Éô„É≥„ÉĄɺ:Apple Inc. 585: „Ç„Ç߄ɺ„ÉĄɺˮÄË™û„Éê„ɺ„Ç∏„Éß„É≥:OpenGL ES GLSL ES 1.00 585: OpenGL ES Extensions ‰∏Ä覧 585: GL_OES_depth_texture 585: GL_OES_depth_texture_cube_map 586: GL_OES_depth24 586: GL_OES_element_index_uint 586: GL_OES_fbo_render_mipmap 586: GL_OES_mapbuffer 586: GL_OES_packed_depth_stencil 586: GL_OES_rgb8_rgba8 586: GL_OES_standard_derivatives 586: GL_OES_texture_float 586: GL_OES_texture_half_float 586: GL_OES_texture_half_float_linear 586: GL_OES_vertex_array_object 587: GL_EXT_blend_minmax 587: GL_EXT_color_buffer_half_float 587: GL_EXT_debug_label 587: GL_EXT_debug_marker 588: GL_EXT_discard_framebuffer 588: GL_EXT_draw_instanced 588: GL_EXT_instanced_arrays 588: GL_EXT_map_buffer_range 589: GL_EXT_occlusion_query_boolean 589: GL_EXT_pvrtc_sRGB 589: GL_EXT_read_format_bgra 590: GL_EXT_separate_shader_objects 591: GL_EXT_shader_framebuffer_fetch 591: GL_EXT_shader_texture_lod 591: GL_EXT_shadow_samplers 592: GL_EXT_sRGB 592: GL_EXT_texture_filter_anisotropic 592: GL_EXT_texture_rg 594: GL_EXT_texture_storage 594: GL_APPLE_clip_distance 596: GL_APPLE_color_buffer_packed_float 596: GL_APPLE_copy_texture_levels 596: GL_APPLE_framebuffer_multisample 596: GL_APPLE_rgb_422 596: GL_APPLE_sync 600: GL_APPLE_texture_format_BGRA8888 600: GL_APPLE_texture_max_level 602: GL_APPLE_texture_packed_float 603: GL_IMG_read_format 603: GL_IMG_texture_compression_pvrtc 604: Max Vertex AttribsÔºö16 605: Max Vertex Uniform VectorsÔºö128 605: Max Varying VectorsÔºö8 605: Max Combined Texture Image UnitsÔºö8 606: Max Vertex Texture Image UnitsÔºö8 606: Max Texture Image UnitsÔºö8 606: Max Fragment Uniform VectorsÔºö64 615: „Ç„Ç߄ɺ„ÉĄɺ„Ç≥„ɺ„ÉâÈñ¢‰øÇ„ÅÆÂàùÊúüÂåñ.... ÊàêÂäü ================================================================= Main Thread Checker: UI API called on a background thread: -[UIView window] PID: 19865, TID: 1892326, Thread name: (none), Queue name: com.apple.root.default-qos.overcommit, QoS: 0 Backtrace: 4 MyApp 0x00000001013e2720 -[DxLibGLView disableGesture] + 48 5 MyApp 0x00000001013e6a80 _Z18DisableGesture_iOSv + 44 6 MyApp 0x00000001013c3898 _ZN5DxLib30Graphics_Initialize_Timing0_PFEv + 48 7 MyApp 0x000000010103c2e0 _ZN5DxLib19Graphics_InitializeEv + 584 8 MyApp 0x00000001013dc538 _ZN5DxLib13NS_DxLib_InitEv + 296 9 MyApp 0x0000000100fb6bb4 _ZN5DxLib10DxLib_InitEv + 52 10 MyApp 0x0000000100ec2ca0 _Z6DxInitv + 128 11 MyApp 0x0000000100ee3cfc _ZZ8ios_mainvENK4$_10clEv + 28 12 MyApp 0x0000000100ee3cd4 _ZNSt3__18__invokeB7v160006IRZ8ios_mainvE4$_10JEEEDTclclsr3stdE7declvalIT_EEspclsr3stdE7declvalIT0_EEEEOS3_DpOS4_ + 24 13 MyApp 0x0000000100ee3c8c _ZNSt3__128__invoke_void_return_wrapperIvLb1EE6__callIJRZ8ios_mainvE4$_10EEEvDpOT_ + 24 14 MyApp 0x0000000100ee3c68 _ZNSt3__110__function12__alloc_funcIZ8ios_mainvE4$_10NS_9allocatorIS2_EEFvvEEclB7v160006Ev + 28 15 MyApp 0x0000000100ee2adc _ZNSt3__110__function6__funcIZ8ios_mainvE4$_10NS_9allocatorIS2_EEFvvEEclEv + 28 16 MyApp 0x0000000100dcf788 _ZNKSt3__110__function12__value_funcIFvvEEclB7v160006Ev + 68 17 MyApp 0x0000000100dcd684 _ZNKSt3__18functionIFvvEEclEv + 24 18 MyApp 0x0000000100e89324 _ZN2ME7Console9UseMemoryERKNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEENS1_8functionIFvvEEE + 44 19 MyApp 0x0000000100ec4568 _Z8ios_mainv + 108 20 MyApp 0x00000001013ddfb4 _ZL13ios_app_entryPv + 44 21 libsystem_pthread.dylib 0x000000021d7927d0 _pthread_start + 136 22 libsystem_pthread.dylib 0x000000021d792480 thread_start + 8 Main Thread Checker: UI API called on a background thread: -[UIView window] PID: 19865, TID: 1892326, Thread name: (none), Queue name: com.apple.root.default-qos.overcommit, QoS: 0 Backtrace: 4 MyApp 0x00000001013e2720 -[DxLibGLView disableGesture] + 48 5 MyApp 0x00000001013e6a80 _Z18DisableGesture_iOSv + 44 6 MyApp 0x00000001013c3898 _ZN5DxLib30Graphics_Initialize_Timing0_PFEv + 48 7 MyApp 0x000000010103c2e0 _ZN5DxLib19Graphics_InitializeEv + 584 8 MyApp 0x00000001013dc538 _ZN5DxLib13NS_DxLib_InitEv + 296 9 MyApp 0x0000000100fb6bb4 _ZN5DxLib10DxLib_InitEv + 52 10 MyApp 0x0000000100ec2ca0 _Z6DxInitv + 128 11 MyApp 0x0000000100ee3cfc _ZZ8ios_mainvENK4$_10clEv + 28 12 MyApp 0x0000000100ee3cd4 _ZNSt3__18__invokeB7v160006IRZ8ios_mainvE4$_10JEEEDTclclsr3stdE7declvalIT_EEspclsr3stdE7declvalIT0_EEEEOS3_DpOS4_ + 24 13 MyApp 0x0000000100ee3c8c _ZNSt3__128__invoke_void_return_wrapperIvLb1EE6__callIJRZ8ios_mainvE4$_10EEEvDpOT_ + 24 14 MyApp 0x0000000100ee3c68 _ZNSt3__110__function12__alloc_funcIZ8ios_mainvE4$_10NS_9allocatorIS2_EEFvvEEclB7v160006Ev + 28 15 MyApp 0x0000000100ee2adc _ZNSt3__110__function6__funcIZ8ios_mainvE4$_10NS_9allocatorIS2_EEFvvEEclEv + 28 16 MyApp 0x0000000100dcf788 _ZNKSt3__110__function12__value_funcIFvvEEclB7v160006Ev + 68 17 MyApp 0x0000000100dcd684 _ZNKSt3__18functionIFvvEEclEv + 24 18 MyApp 0x0000000100e89324 _ZN2ME7Console9UseMemoryERKNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEENS1_8functionIFvvEEE + 44 19 MyApp 0x0000000100ec4568 _Z8ios_mainv + 108 20 MyApp 0x00000001013ddfb4 _ZL13ios_app_entryPv + 44 21 libsystem_pthread.dylib 0x000000021d7927d0 _pthread_start + 136 22 libsystem_pthread.dylib 0x000000021d792480 thread_start + 8 ================================================================= Main Thread Checker: UI API called on a background thread: -[UIView gestureRecognizers] PID: 19865, TID: 1892326, Thread name: (none), Queue name: com.apple.root.default-qos.overcommit, QoS: 0 Backtrace: 4 MyApp 0x00000001013e2734 -[DxLibGLView disableGesture] + 68 5 MyApp 0x00000001013e6a80 _Z18DisableGesture_iOSv + 44 6 MyApp 0x00000001013c3898 _ZN5DxLib30Graphics_Initialize_Timing0_PFEv + 48 7 MyApp 0x000000010103c2e0 _ZN5DxLib19Graphics_InitializeEv + 584 8 MyApp 0x00000001013dc538 _ZN5DxLib13NS_DxLib_InitEv + 296 9 MyApp 0x0000000100fb6bb4 _ZN5DxLib10DxLib_InitEv + 52 10 MyApp 0x0000000100ec2ca0 _Z6DxInitv + 128 11 MyApp 0x0000000100ee3cfc _ZZ8ios_mainvENK4$_10clEv + 28 12 MyApp 0x0000000100ee3cd4 _ZNSt3__18__invokeB7v160006IRZ8ios_mainvE4$_10JEEEDTclclsr3stdE7declvalIT_EEspclsr3stdE7declvalIT0_EEEEOS3_DpOS4_ + 24 13 MyApp 0x0000000100ee3c8c _ZNSt3__128__invoke_void_return_wrapperIvLb1EE6__callIJRZ8ios_mainvE4$_10EEEvDpOT_ + 24 14 MyApp 0x0000000100ee3c68 _ZNSt3__110__function12__alloc_funcIZ8ios_mainvE4$_10NS_9allocatorIS2_EEFvvEEclB7v160006Ev + 28 15 MyApp 0x0000000100ee2adc _ZNSt3__110__function6__funcIZ8ios_mainvE4$_10NS_9allocatorIS2_EEFvvEEclEv + 28 16 MyApp 0x0000000100dcf788 _ZNKSt3__110__function12__value_funcIFvvEEclB7v160006Ev + 68 17 MyApp 0x0000000100dcd684 _ZNKSt3__18functionIFvvEEclEv + 24 18 MyApp 0x0000000100e89324 _ZN2ME7Console9UseMemoryERKNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEENS1_8functionIFvvEEE + 44 19 MyApp 0x0000000100ec4568 _Z8ios_mainv + 108 20 MyApp 0x00000001013ddfb4 _ZL13ios_app_entryPv + 44 21 libsystem_pthread.dylib 0x000000021d7927d0 _pthread_start + 136 22 libsystem_pthread.dylib 0x000000021d792480 thread_start + 8 Main Thread Checker: UI API called on a background thread: -[UIView gestureRecognizers] PID: 19865, TID: 1892326, Thread name: (none), Queue name: com.apple.root.default-qos.overcommit, QoS: 0 Backtrace: 4 MyApp 0x00000001013e2734 -[DxLibGLView disableGesture] + 68 5 MyApp 0x00000001013e6a80 _Z18DisableGesture_iOSv + 44 6 MyApp 0x00000001013c3898 _ZN5DxLib30Graphics_Initialize_Timing0_PFEv + 48 7 MyApp 0x000000010103c2e0 _ZN5DxLib19Graphics_InitializeEv + 584 8 MyApp 0x00000001013dc538 _ZN5DxLib13NS_DxLib_InitEv + 296 9 MyApp 0x0000000100fb6bb4 _ZN5DxLib10DxLib_InitEv + 52 10 MyApp 0x0000000100ec2ca0 _Z6DxInitv + 128 11 MyApp 0x0000000100ee3cfc _ZZ8ios_mainvENK4$_10clEv + 28 12 MyApp 0x0000000100ee3cd4 _ZNSt3__18__invokeB7v160006IRZ8ios_mainvE4$_10JEEEDTclclsr3stdE7declvalIT_EEspclsr3stdE7declvalIT0_EEEEOS3_DpOS4_ + 24 13 MyApp 0x0000000100ee3c8c _ZNSt3__128__invoke_void_return_wrapperIvLb1EE6__callIJRZ8ios_mainvE4$_10EEEvDpOT_ + 24 14 MyApp 0x0000000100ee3c68 _ZNSt3__110__function12__alloc_funcIZ8ios_mainvE4$_10NS_9allocatorIS2_EEFvvEEclB7v160006Ev + 28 15 MyApp 0x0000000100ee2adc _ZNSt3__110__function6__funcIZ8ios_mainvE4$_10NS_9allocatorIS2_EEFvvEEclEv + 28 16 MyApp 0x0000000100dcf788 _ZNKSt3__110__function12__value_funcIFvvEEclB7v160006Ev + 68 17 MyApp 0x0000000100dcd684 _ZNKSt3__18functionIFvvEEclEv + 24 18 MyApp 0x0000000100e89324 _ZN2ME7Console9UseMemoryERKNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEENS1_8functionIFvvEEE + 44 19 MyApp 0x0000000100ec4568 _Z8ios_mainv + 108 20 MyApp 0x00000001013ddfb4 _ZL13ios_app_entryPv + 44 21 libsystem_pthread.dylib 0x000000021d7927d0 _pthread_start + 136 22 libsystem_pthread.dylib 0x000000021d792480 thread_start + 8 Trying to set delaysTouchesBegan to NO on a system gate gesture recognizer - this is unsupported and will have undesired side effects 1594: „Éï„Ç©„É≥„Éà„ÅÆÂàùÊúüÂåñ„ÇíË°å„ÅÑ„Åæ„Åô 1615: „Éï„Ç©„É≥„Éà„ÅÆÂàùÊúüÂåñ„ÅØÊ≠£Â∏∏„Å´ÁµÇ‰∫Ü„Åó„Åæ„Åó„Åü 1769:DX library initialization processing end 2003:Effekseer_Init : 48752KB (47MB) 2004:ÁîªÈù¢„É¢„ɺ„Éâ§âÊõ\Âá¶ÁêÜ„ÇíÈñãÂßã„Åó„Åæ„Åô 2007:ÁîªÈù¢„É¢„ɺ„Éâ§âÊõ\Âá¶ÁêÜ„ÅØÊ≠£Â∏∏„Å´ÁµÇ‰∫Ü„Åó„Åæ„Åó„Åü 2118:MainGraph : 26624KB (26MB) 2166:FontData : 79952KB (78MB) 2259:Graph : 45968KB (44MB) 2259:DivGraph : 0KB (0MB) 2314:ModelAnim : 17808KB (17MB) 3032:Model : 272912KB (266MB) 5395:Sound : 131104KB (128MB) 5400:Effect : 0KB (0MB) 5400:InitTotal : 650208KB (634MB) Message from debugger: killed
メンテ
Re: iOS版で画面全体のGLESテクスチャバッファを取得したい ( No.9 )
名前:管理人 日時:2025/02/21 01:41

> 確認したところ、AndroidはMV1と通常の描画いずれも正常に描画できましたがiOSは描画されませんでした > MV1のテクスチャは正常に反映されていましたが、 > 通常の描画では0以上の正常な値を返し、DrawGraph等の描画では0を返しましたが何も映りませんでした。 私の手元の iOSエミュレーター環境では以前アップしていただいた splash.dds は正常に表示されましたが、 みこさんの環境では splash.dds も正常に表示されないでしょうか? > 一見問題なさそうですがスレッド関連の警告もありましたので念のためxcodeで取得したログも載せておきます。(文字化けだらけですが) ありがとうございます こちらはこちらで根が深そうなのでちょっと今回は保留とさせてください m(_ _;m
メンテ
Re: iOS版で画面全体のGLESテクスチャバッファを取得したい ( No.10 )
名前:みこ 日時:2025/02/22 06:53

>私の手元の iOSエミュレーター環境では以前アップしていただいた splash.dds は正常に表示されましたが、 >みこさんの環境では splash.dds も正常に表示されないでしょうか? ソースコード、.xcodeproj、ライブラリ(.a)を別のプロジェクトにコピーして再確認したところなぜか正常に描画されました。(ディレクトリ名を変えただけではだめでした) 元のプロジェクトでは相変わらず表示されませんでしたが、mipmapを除いたddsで試したら正常に描画されました。 Clean Build Folder... も実行して確認したのでキャッシュクリアもできていると思うのですが謎です、、 とは言え容量的にもmipmapを含まないddsの方が都合が良く、それを使う事にしたので、 私的にはこの問題は解決しました(原因不明なのは気持ち悪いですが) 【GIOS.Device.Screen.SubBackBufferTexture についての問題点】 こちらのテクスチャを使用する以外に本件の解決策が無さそうでしたのでこのテクスチャを持ってきて使用するよう進めていますが、iOS版で問題がありました。 現在Effekseer様とコンタクトを取っているのですが、歪みエフェクトにノイズが写ってしまう問題があり確認したところ、 GIOS.Device.Screen.SubBackBufferTexture が未初期化ではないかとご指摘を頂き以下プログラムで確認してみました。 ``` #if defined(__ANDROID__)   glBindTexture(GL_TEXTURE_2D, DxLib::GANDR.Device.Screen.SubBackBufferTexture); #elif defined(__APPLE__)   glBindTexture(GL_TEXTURE_2D, DxLib::GIOS.Device.Screen.SubBackBufferTexture); #endif GLenum error = glGetError(); // Android環境では GL_NO_ERROR(正常) を返し、歪み機能が正常に動作します // iOS環境では GL_INVALID_ENUM(エラー) を返し、歪み機能にノイズが写ります ``` こちらiOS環境でGL_NO_ERROR(正常)を返すようになれば恐らくノイズは消えるのではないかと考えているのですが、 GL_NO_ERRORを返すように対応は可能でしょうか? 【関数追加の要望について】 現在 SubBackBufferTexture を取得するためにDxLib全てのヘッダーをインクルードして使用しており、 容量もそれなりに大きいのでビルド時間を短縮するために本来のインクルードすべきヘッダーファイルのみを使用したいと思っています。 お忙しい中何度も申し訳ないですが、お手隙で構いませんので可能であればこのような関数があると助かりますm(_ _)m  画面全体のGLESテクスチャバッファを取得する関数  ※Android版は GANDR.Device.Screen.SubBackBufferTexture を取得する  ※iOS版は GIOS.Device.Screen.SubBackBufferTexture を取得する  ※Windows版は不要 お手数をお掛けしますが何卒よろしくお願いいたします。
メンテ
Re: iOS版で画面全体のGLESテクスチャバッファを取得したい ( No.11 )
名前:管理人 日時:2025/02/23 00:27

> GLenum error = glGetError(); > // Android環境では GL_NO_ERROR(正常) を返し、歪み機能が正常に動作します > // iOS環境では GL_INVALID_ENUM(エラー) を返し、歪み機能にノイズが写ります 私の手元でも確認してみたところ、確かに GL_INVALID_ENUM が返ってくるのですが、 GIOS.Device.Screen.SubBackBufferTexture を生成している箇所でも GL_INVALID_ENUM が 返ってきていて、どうも iOS の環境では glGetError が正常に動作していないのではないかと思いました というのも DxGraphicsiOS.cpp の 2753行目付近のこの処理で GIOS.Device.Screen.SubBackBufferTexture を初期化しているのですが、 glGenTextures( 1, &GIOS.Device.Screen.SubBackBufferTexture ) ; glBindTexture( GL_TEXTURE_2D, GIOS.Device.Screen.SubBackBufferTexture ) ; glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE ) ; glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE ) ; glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR ) ; glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR ) ; glTexImage2D( GL_TEXTURE_2D, 0, GIOS.Device.Screen.SubBackBufferTextureInternalFormat, GIOS.Device.Screen.SubBackBufferTextureSizeX, GIOS.Device.Screen.SubBackBufferTextureSizeY, 0, GIOS.Device.Screen.SubBackBufferTexturePixelFormat, GIOS.Device.Screen.SubBackBufferTexturePixelType, 0 ) ; glGenTextures の直後に glGetError を実行しても GL_INVALID_ENUM が返ってくるのですが、 GIOS.Device.Screen.SubBackBufferTexture には問題なく新しいテクスチャオブジェクトが 格納されていて、且つ iOS の画面の描画には GIOS.Device.Screen.SubBackBufferTexture は 欠かせないものなので、 glGenTextures( 1, &GIOS.Device.Screen.SubBackBufferTexture ) ; ↑ こちらの行をコメントアウトして実行すると画面には何も描画されなくなるので、間違いなく glGenTextures は成功しています なので、glGenTextures や glBindTexture が失敗しているのではなく、glGetError が正常に 動作していないというのが実際のところだと思います > 【関数追加の要望について】 > 現在 SubBackBufferTexture を取得するためにDxLib全てのヘッダーをインクルードして使用しており、 > 容量もそれなりに大きいのでビルド時間を短縮するために本来のインクルードすべきヘッダーファイルのみを使用したいと思っています。 > お忙しい中何度も申し訳ないですが、お手隙で構いませんので可能であればこのような関数があると助かりますm(_ _)m >  画面全体のGLESテクスチャバッファを取得する関数 >  ※Android版は GANDR.Device.Screen.SubBackBufferTexture を取得する >  ※iOS版は GIOS.Device.Screen.SubBackBufferTexture を取得する 了解です SubBackBufferTexture を取得するための関数を追加したバージョンをアップしましたので、 よろしければこちらをダウンロードしてください m(_ _)m https://dxlib.xsrv.jp/temp/DxLibAndroidTest.zip // Android版 https://dxlib.xsrv.jp/temp/DxLibMakeTest.zip // ソース (中身を既存のライブラリのファイルに上書きして『リビルド』をして下さい) 以下の関数を追加しました // サブバックバッファテクスチャのテクスチャオブジェクトを取得する unsigned int GetSubBackbufferOpenGLESTextureObject( void ) ; 関数の注釈の通り、SubBackBufferTexture の値を返します よろしければお使いください m(_ _)m 因みに GIOS.Device.Screen.SubBackBufferTexture を使う目的でしたら DxGraphicsiOS.h をインクルードするだけで使えます
メンテ
Re: iOS版で画面全体のGLESテクスチャバッファを取得したい ( No.12 )
名前:みこ 日時:2025/02/24 02:15

GetSubBackbufferOpenGLESTextureObject 関数の快速な実装ありがとうございます! GIOS.Device.Screen.SubBackBufferTextureについても調査ありがとうございます! こちらでもglCopyTexSubImage2Dで使用していたテクスチャバッファ(ノイズが発生しない方法)の方も確認してみたところGL_INVALID_ENUMが返ってきましたので、GL_INVALID_ENUMは関係なさそうですね となると後怪しいのはフレームバッファあたりになりますが、DxLib自体は正常に動いていそうなので難しい問題です 他の解決策となるとDxLibがMetalに対応するくらいしか思いつかず、もう少し調査してみて難しそうなら今回は歪み機能の実装を見送ろうと思います ※EffekseerはMetalに対応している且つ、現時点でiOS公式でもMetalへの移行が推奨されていますがDxLibを対応させるとなるととんでもないタスク量になりそうですよね >・法線マップを使用した3DモデルをAndroid版、iOS版で描画すると真っ黒になります >・SetKeyInputStringFont で縁有りのフォントハンドルを設定した場合、キー入力の文字列の縁の周りに文字色が少しはみ出ています 大変お手数をお掛けしますがお手隙の際にこちらも対応頂けると幸いです。 よろしくお願いいたします。
メンテ
Re: iOS版で画面全体のGLESテクスチャバッファを取得したい ( No.13 )
名前:管理人 日時:2025/02/25 00:39

> ※EffekseerはMetalに対応している且つ、現時点でiOS公式でもMetalへの移行が推奨されていますがDxLibを対応させるとなるととんでもないタスク量になりそうですよね そうですね iOS版は Android版の OpenGL ES 2 の実装がほぼそのまま使えるというのがかなり助かっているので ( 片方のバグを修正するともう片方のバグも直る… ) Metal に対応するのは OpenGL ES 2 が iOS上で全く使用できなくなったときになるかと思います m(_ _;m > >・法線マップを使用した3DモデルをAndroid版、iOS版で描画すると真っ黒になります > >・SetKeyInputStringFont で縁有りのフォントハンドルを設定した場合、キー入力の文字列の縁の周りに文字色が少しはみ出ています > 大変お手数をお掛けしますがお手隙の際にこちらも対応頂けると幸いです。 こちらの内の『・法線マップを使用した3DモデルをAndroid版、iOS版で描画すると真っ黒になります』を 修正したバージョンをアップしましたので、よろしければお試しください m(_ _)m https://dxlib.xsrv.jp/temp/DxLibAndroidTest.zip // Android版 https://dxlib.xsrv.jp/temp/DxLibMakeTest.zip // ソース (中身を既存のライブラリのファイルに上書きして『リビルド』をして下さい) > ・SetKeyInputStringFont で縁有りのフォントハンドルを設定した場合、キー入力の文字列の縁の周りに文字色が少しはみ出ています 手元で以下のようなプログラムを使用して試してみたのですが、縁の周りに文字色が少しはみ出るということはありませんでした #include "DxLib.h" int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { // ウインドウモードで起動 ChangeWindowMode( TRUE ); // 背景色をセット SetBackgroundColor( 255,255,255 ) ; // DXライブラリの初期化 if( DxLib_Init() < 0 ) return -1; // 描画対象を裏画面に変更 SetDrawScreen( DX_SCREEN_BACK ) ; // フォントハンドルを作成 int FontHandle = CreateFontToHandle( NULL, 48, 8, DX_FONTTYPE_ANTIALIASING_EDGE, -1, 4 ) ; // 文字列入力の表示で使用するフォントハンドルに設定 SetKeyInputStringFont( FontHandle ) ; // 入力文字列の色を設定 SetKeyInputStringColor2( DX_KEYINPSTRCOLOR_NORMAL_STR, GetColor( 0, 0, 0 ) ) ; SetKeyInputStringColor2( DX_KEYINPSTRCOLOR_NORMAL_STR_EDGE, GetColor( 0, 255, 255 ) ) ; // 文字列入力ハンドルを作成 int KeyInputHandle = MakeKeyInput( 100, FALSE, FALSE, FALSE, FALSE ) ; // 文字列入力ハンドルをアクティブに設定 SetActiveKeyInput( KeyInputHandle ) ; // メインループ while( ProcessMessage() == 0 ) { // 画面をクリア ClearDrawScreen() ; // 入力中の文字列を描画 DrawKeyInputString( 100, 100, KeyInputHandle ) ; // 裏画面の内容を表画面に変更 ScreenFlip() ; } // DXライブラリの後始末 DxLib_End() ; return 0 ; } <スクリーンショット> https://dxlib.xsrv.jp/temp/SetKeyInputStringFontTest.png よろしければ件の現象が発生する条件を詳しく教えていただけないでしょうか? m(_ _;m
メンテ
Re: iOS版で画面全体のGLESテクスチャバッファを取得したい ( No.14 )
名前:みこ 日時:2025/02/25 04:24

快速な対応ありがとうございます! SetKeyInputStringFontの問題の条件が分かりましたので共有いたします。 共有頂きましたサンプルコードに加え、下記コードを使う事で縁の周りに文字色がはみ出ている事が確認できるかと思います。 // バイニリアを有効化 SetDrawMode(DX_DRAWMODE_BILINEAR); // 入力中の文字列を描画 (拡大機能付きを使用する) DrawKeyInputExtendString(100, 100, 2, 2, KeyInputHandle); モバイル版の法線マップについてもこれから確認しますのでまたご連絡させて頂きます。 お手数をお掛けしますが何卒よろしくお願いいたします
メンテ
Re: iOS版で画面全体のGLESテクスチャバッファを取得したい ( No.15 )
名前:みこ 日時:2025/02/25 06:29

モバイル版の法線マップの件、 Android、iOSの両方で正常に描画されていました! 対応ありがとうございます!
メンテ
Re: iOS版で画面全体のGLESテクスチャバッファを取得したい ( No.16 )
名前:管理人 日時:2025/02/26 02:34

法線マップ付きモデル、正常に描画されたようで何よりです m(_ _)m > SetKeyInputStringFontの問題の条件が分かりましたので共有いたします。 > 共有頂きましたサンプルコードに加え、下記コードを使う事で縁の周りに文字色がはみ出ている事が確認できるかと思います。 ありがとうございます、手元の環境でも現象を確認できました 文字色がはみ出ないように修正してみましたので、よろしければ こちらの修正版をお試しください m(_ _;m https://dxlib.xsrv.jp/temp/DxLibVCTest.zip // Windows版 VisualC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCCTest.zip // Windows版 BorlandC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCC2Test.zip // Windows版 C++ Builder 12 用 https://dxlib.xsrv.jp/temp/DxLibGCC_MinGWTest.zip // Windows版 MinGW 用 https://dxlib.xsrv.jp/temp/DxLibDotNet.zip // Windows版 .NET用 https://dxlib.xsrv.jp/temp/DxLibMakeTest.zip // ソース (中身を既存のライブラリのファイルに上書きして『リビルド』をして下さい)
メンテ
Re: iOS版で画面全体のGLESテクスチャバッファを取得したい ( No.17 )
名前:みこ(解決) 日時:2025/02/27 06:46

いつも快速な対応ありがとうございます! 確認したところ文字色の問題が修正されていました!
メンテ

Page: 1 |

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

   クッキー保存