2011-12-21 10 views
0

アップルのOpenGLシェーダビルダでは、頂点(またはフラグメント)シェーダをドロップしてリンクして検証し、そのシェーダに使用されているGL_RENDERERを教えます。 Appleソフトウェアレンダラー(シェーダが遅くなることを意味するので赤で表示)またはAMD Radeon HD 6970M OpenGLエンジン(通常はシェーダを実行したい私のgpuのレンダラ)が表示されます。どのレンダラーが頂点シェーダに使用されるのかを確認する

私はこれを実行時に私自身のソフトウェアでどうやって判断することができますか?

編集:私のCPUのコードで 照会GL_RENDERERは関係なく、常に私はOpenGLのシェーダBuilderが実行されていると言うシェーダを使用しているにもかかわらずドローループにそれを置く場所のAMDのRadeon HD 6970M OpenGLのエンジンを返すように見えますアップルソフトウェアレンダラーで(それは非常に遅いので、私はそれを信じています)。適切なタイミングでGL_RENDERERに問い合わせるのですか?もしそうなら、いつ?

答えて

0

使用されているレンダラーはOpenGLコンテキストに関連付けられており、適切なOpenGL実装ではレンダラーを間で切り替えるべきではありません。もちろん、バックエンドレンダラ間を動的に切り替えるインフラストラクチャ上にOpenGL実装を構築することもできますが、これを識別するレンダラ文字列のフロントエンドコンテキストに反映する必要があります。

あなたがしていることは確かに正しい方法です。

関連する問題