私のグラフィックオブジェクトの透明度を有効にしたい。私は、アルファを0と1の間の値に設定するだけでは不十分であることを知りました。の呼び出しの前にGdx.gl.glEnable(GL20.GL_BLEND)
を呼び出す必要があります。shapeRenderer.end()
のレンダーコールglDisable(GL20.GL_BLEND)
を呼び出してください。しかし、私の質問は、レンダリングではなく、このメソッドGdx.gl.glEnable(GL20.GL_BLEND)
をcreateメソッドで呼び出すことができ、それをゲームランタイムで有効にすることですか?私は一度それを無効にしようとしましたが、私はエラーやパフォーマンスの問題に直面していません。では、ユースケースは何ですか?また、このglDisable(GL20.GL_BLEND)
を使用する必要がありますか、またはGL関数を呼び出さずにシェイプにアルファを設定する別の方法がありますか?作成時にGL_BLENDを一度呼び出すといいですか?
1
A
答えて
1
OpenGLでのブレンドは、オーダーとは無関係ではありません。また、凸でないオブジェクトではうまく動作しません。そのため、一般的には、GPUにオブジェクトを投げつけてブレンドするだけではありません。
また、ブレンディングを有効にすると、パフォーマンスコストが発生します。通常、モバイルハードウェアはデスクトップよりも多くありますが、デスクトップハードウェアであってもまったく無料ではありません。
したがって、一般的な規則は、すべての不透明なサーフェスを最初にレンダリングし、透明なものを背面から前面にソートし、次に透明なものをその順序でレンダリングすることです。また、ブレンドされたレンダリングを行うときは、奥行きの書き込みをオフにする必要があります。深さテストはまだ必要ですが、書き込みによって問題が発生します。
関連する問題
- 1. "viewDidLayoutSubviews"に一度しか呼び出されないのと同じですか?
- 2. 一時テーブルにストアドプロシージャを呼び出す
- 3. AngularJSディレクティブは、一度に呼び出すのではなく、複数の時間を呼び出します。
- 4. 一度しか呼び出されない関数をもう一度呼び出すと、どのような引数を投げるべきですか?
- 5. VBA:一度作成して配列をExcelで複数回呼び出す
- 6. メソッドを一度呼び出す方法
- 7. ファクトリ関数を一度呼び出す
- 8. アクティビティオブジェクトの作成時にonCreateが呼び出されますか?
- 9. 作成時にListViewのRefreshCommandが呼び出されていますか?
- 10. スレッドごとに関数を一度呼び出す方法
- 11. この関数をもう一度呼び出すと、子divが再び作成されます。
- 12. ノックアウトPureComputed再作成時にサブスクライバーを呼び出す
- 13. フレームごとに呼び出す必要があり、一度しか呼び出せないOpenGL関数をどのように知っていますか?
- 14. 呼び出しを呼び出すとパラメータの数が一致しない
- 15. 一度に複数のRESTサービスを並列に呼び出すにはどうすればいいですか?
- 16. アンドロイドで一度だけブロードキャストレシーバを呼び出すには?
- 17. GridView onTapは作成時にのみ呼び出されます
- 18. PDO :: fetchAll()をもう一度呼び出すことは可能ですか?
- 19. 2インシデントが作成されたときに同時にビジネスルールを呼び出す
- 20. フォームで呼び出されないアクションを作成する
- 21. 一度に1つのスレッドでしか呼び出せないメソッド
- 22. ondrawの呼び出し後にキャンバスをリセットしてから、アンドロイドでもう一度呼び出す
- 23. hellofromというパッケージを作成します。 Proc_1はProc_2、Proc_2を呼び出し、Proc_3を呼び出します。
- 24. Pythonはインスタンス作成時にインスタンスメソッド__init __()を呼び出さないのに対し、クラス提供の__init __()を代わりに呼び出すのはなぜですか?
- 25. 一度に複数の連絡先をグループに呼び出す
- 26. スレッドの作成と終了時に関数を呼び出す方法は?
- 27. 実行時にファクトリをいつどこに呼び出すか?
- 28. 非同期呼び出しは常に新しいスレッドを作成/呼び出しますか?
- 29. Railsサービスは一度も呼び出されていません
- 30. UITextViewデリゲートは一度も呼び出されていません
よろしくお願いします。 – Kapparino