libgdxスレッドのFreeTypeFontGeneratorでフォントを読み込もうとすると、フォントが黒くなります(スレッドにロードされていない場合は問題ありません)。私は下の画像を掲載します。どうすればこの問題を回避できますか?私はそれらを私のassetManagerでasynconiouslyロードすることを望みますが、動的に作成する必要があるため、assetManagerを使用してフォントを読み込むことはできません。ありがとう!あなたが見たいコードがあるかどうかを教えてください。Libgdx |スレッドでフォントを作成すると、黒のテクスチャが付いていないフォントが作成されます
0
A
答えて
0
これはlibgdxが構築されているの上に基礎であるのOpenGLの制限です。
OpenGLでは、アセットを現在のrendering contextにロード(リリース)する必要があります。リソース(アセットまたはフォント)を別のスレッドにロードするには、コンテキストを明示的に変更する必要があります。
は
私が作成し、OpenGLコンテキストが入っているものとは別のスレッドでリソースを処分することができOpenGL and multithreadingを参照してください?
コンテキストを最新にする場合(Windowsの場合はwglMakeCurrent)。しかし、それは何かがあれば、あなたにはあまり買わないので、トラブルの価値はありません。
GLコンテキストが別のスレッドの現在のものである場合はwglMakeCurrent(NULL、NULL)を呼び出し、もう一方のスレッドではwglMakeCurrent(dc、glrc)を呼び出すことをお勧めします。
例
Thread_1:
wglMakeCurrent(NULL, NULL);
WaitForThread2(); OrDoSomeCPUJob();
wglMakeCurrent(dc, glrc);
Thread_2:
wglMakeCurrent(dc, glrc);
DoSome_GL_Work();
wglMakeCurrent(NULL, NULL);
TerminateThread2_And_GiveControlToThread1();
AssetManager
の目的は、安全ながら非同期に読み込むことです前述のOpenGLコンテキストスイッチを処理します。したがって、手動で作成したスレッドにそれらをロードする代わりに、を使用する方がはるかに安全で優れた方法です。
手動スレッドを使用する必要がある場合は、上記の手動切り替えも作成する必要があります。実行されていない場合、ロードされたリソースはgpuメモリに正しく転送されない可能性があるため、レンダリングには使用できません(したがって、黒)。
関連する問題
- 1. LibGDX AssetManagerと黒のテクスチャ&フォント
- 2. libGDXフォントがビューポートから引き出されています
- 3. スウィング作成フォント
- 4. 大胆なフォントの作成
- 5. プログラムでフォントを変更するときにLibgdxスキンが更新されない
- 6. グリフコンとフォントがエクスプレスサーバで動作していないため、作成するレスキューアプリのビルド
- 7. document.createElement/document.body.appendChild作成されていないdivが作成されています
- 8. Meshlabテクスチャパラメータツールで黒いテクスチャを作成する
- 9. フォントがロードされていないブラウザ
- 10. Googleのフォントが動作しないときにフォントを定義する方法
- 11. MingliuフォントがLinuxで動作しない
- 12. Javascriptでフォントを作成する
- 13. @ font-face - ブラウザーで要求されていないフォントがブラウザから要求されていないフォント
- 14. CoreData - オブジェクトが作成されているか作成されていない可能性があります
- 15. actionscriptで作成されたテキストフィールドに埋め込まれたフォントが表示されない
- 16. WinFormsでアンチエイリアス処理されていないフォントを生成する
- 17. NotificationListenerServiceが作成されていない
- 18. Libgdxフォントの高さ
- 19. tclで色付きフォントを作成するには
- 20. フォントがロードされていません
- 21. Railsアプリケーションでフォントがロードされない
- 22. Edittextでフォントが変更されない
- 23. IEでレンダリングされていないLatoフォントがChromeでうまく動作しています
- 24. ウェブサイトに添付されているフォントがリンゴのデバイスで動作していません
- 25. サーバーではないローカルでフォントが動作しない
- 26. libgdx GWT。テクスチャをURLから作成
- 27. フォントの顔が認識されない@
- 28. 外字フォントがないうちにinbuiltフォントがhtml内で動作するのはなぜですか?
- 29. FirefoxとIEのフォントがChromeのフォントと異なっています
- 30. AWSで新しいVPCを作成するとルータが作成されます
コードを表示します。 –
FreeTypeFontGeneratorはこれをサポートしていません。誰かがそれを更新してGL以外のものを別のメソッドに分割するのはいいかもしれないので、最初の非同期、GLスレッドの2番目の同期の2つのステージで行うことができます。 – Tenfour04