問題タブ [openglcontext]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
windows - 既に GDI+ を使用しているウィンドウで OpenGL を使用することは可能ですか?
基本的に、GDI+ を使用するように設定されているオフスクリーン DC にレンダリングするように呼び出されています (方法はわかりません)。OpenGL コンテキストを DC に関連付けようとすると、失敗します (つまり、ゼロを返しますが、エラーはありません)。SetPixelFormat も失敗します (おそらく、既に設定されているためでしょうか?)、ここでもエラーではなくゼロが返されます。
そのような状況 (つまり、他の誰かが GDI+ を使用しているウィンドウのオフスクリーン コンテキスト) を考慮して、OpenGL コンテキストを作成し、自分のレンダリングに OpenGL を使用することが可能かどうかは誰でも知っていますか? (可能であれば、なぜ wglCreateContext が失敗するのでしょうか?)
python - Pythonで上位互換のOpenGL3.xコンテキストを作成する
wxPythonを使用していて、OpenGLベースのキャンバスを使用したいのですが、コンテキストが非推奨の機能をサポートすることを望んでいません。Eclipseでpyopenglとpygletをナビゲートしましたが、これをサポートしているようには見えませんでした。これは、AMDによるこのホワイトペーパーのように、コンテキストへの属性の割り当てに使用されるWGL関数が見つからなかったためです。コンテキストの構成を指定するときの互換性ステータスパラメーターについてのpylgetのドキュメントにも言及されていませんでした。私は何かを見落としていますか?「Python」ソリューションはありますか、それともctypesのようなものを見始める必要がありますか?
編集:さらにいくつかのドキュメントを読んだ後、このモジュールからのみ、非推奨のエントリポイントをフィルタリングする、と呼ばれるOpenGL
pyopenglモジュールのフラグがあるようです。これについては、以前は気づかなかったOpenGL3.xDeprecationsセクションのpyopenglサイトにも記載されています。これがGLSLの非推奨も防止されることを意味する場合、これは解決策のように見えます。FORWARD_COMPATIBLE_ONLY
OpenGL.GL
opengl - OpenGL Viewer コントロールとレンダリング コンテキスト
Windows フォーム (設計時) に簡単にドロップでき、OpenGL 表示リスト (実行時) を割り当てることができる OpenGL ビューアー コントロールを作成しました。
ビューアー コントロールは、ナビゲーション、表示オプション (背景色など) などを処理します。また、必要に応じて、レンダリングとデバイス コンテキストの作成と破棄も行います。
明らかに、各ビューア コントロール インスタンスには、画像が描画される「ウィンドウ」という独自のデバイス コンテキストがあります。
質問:
- 各ビューア コントロール インスタンスはレンダリング コンテキストをどのように管理する必要がありますか?
- 各インスタンスは独自のコンテキストを持つべきですか、それともグローバル レンダリング コンテキストを共有するべきですか?
これが WGL フォントの作成 ( wglUseFontBitmaps および wglUseFontOutlines ) にどのように影響するか、特に懸念しています。これには、レンダリング コンテキスト (現在のコンテキストが何であれ) とデバイス コンテキストが必要です。
- レンダリングとデバイス コンテキストの組み合わせごとに WGL フォントを作成する必要がありますか?
おそらく私のアプローチには欠陥があります。
iphone - EAGLContext が openGLES 1 iPhone OS で動作しない
Apple の EAGLView の例に基づく 3D プロジェクトがあります。
私はコンテキストに非常に奇妙なバグがあります(私は思う)、私のコンテキストは次を使用して作成されます:
[コンテキスト renderbufferStorage:GL_RENDERBUFFER_OES fromDrawable:(CAEAGLLayer*)self.layer];
3Dビューの初期化では機能し、レイアウトサブビューでは、frameBufferが破棄されて再び作成されます。ただし、場合によっては、フレームバッファが作成されません。デバッガーで検索したところ、コンテキスト「作成」から問題が発生していることがわかりました。
なぜそれが機能しているかどうかはわかりません。このバグが発生したとき、強制的にlayoutSubviewを実行するようにiPhoneをオンにすると、うまくいきます。とても奇妙です。
コンテキストが 2 番目に作成されない理由は何ですか。直後は問題ありません。
windows - コンテキスト/スレッド間でopenglフレームバッファオブジェクトを共有することは可能ですか?
シーンを1つのスレッドでレンダリングしてから、別のスレッドが所有するウィンドウで結果をブリットしたいと思います。フレームバッファがCPUメモリに読み込まれないようにするために、フレームバッファオブジェクトを使用したいと思います。これまでのところ、これを機能させることができませんでした(白いテクスチャ)。これは、openglではサポートされていないと思われます。
- 異なるコンテキスト間でフレームバッファオブジェクトを共有することは可能ですか?
- オブジェクトが一度に1つのスレッドによってのみバインドされる場合、異なるスレッド間でフレームバッファーオブジェクトを共有することは可能ですか?
誰かがこれがドキュメントのどこに記載されているかを私に指摘できれば、それはボーナスになります。
opengl - gluUnproject はどこで呼び出せますか?
これは本当に簡単な質問です。
gluUnproject はどこで呼び出せますか? ある種の現在の openGL コンテキストが必要ですか?
ここで関数を調べましたが、何らかの前提条件があるかどうかはわかりません。
私はこれをしたい:
レンダーノードに渡す代わりに、サーバーノードで結果を返してもらいます。サーバーには openGL コンテキストがありません。gluUnproject を呼び出すことはできますか?
c++ - ubuntuを使用してさまざまなディスプレイでopenglコンテキストを共有する
3枚のグラフィックカードを使用して、異なる画面に複数のウィンドウがあるアプリケーションがあります。各ウィンドウはopenglを使用してフォント、画像などをレンダリングします。これは、リソースの共有を除いて、これまでのところ非常にうまく機能しています。このようなものを実装しようとしました(fensterは、コンテキストなどの情報を格納するためのカスタムクラスです...):
これは正常にコンパイルされますが、実行時に次のエラーが発生します。
同じデスクトップに複数のウィンドウを作成しようとすると、コードが機能します(display:0.0を使用)。
システムはubuntu10.10で、独自のATIドライバーを使用しています。
何か案は?それも可能ですか?
cocoa - 非描画目的の NSOpenGLContext
NSOpenGLContext
描画用ではなく、ベンダー、バージョンなどの OpenGL 情報を取得するために、システムに依存しない Cocoa を作成する方法???
android - OpenGL コンテキストがまだ null を返すのはなぜですか?
Android用のopengl-esでコンテキストを作成しようとしていますが、少し混乱しています。レンダラーや起動アクティビティとは完全に別のクラスでコンテキストを初期化しました。
私のアプリは、起動時に画面に 2 つの正方形を描画する単純なものです。一方はランダムな方向に移動し、もう一方はその場にとどまって回転します。理論的には、ユーザーは画面に触れることができ、固定された正方形は画面に触れた場所に移動する必要があります。しかし、UnProject メソッド (座標を変換する必要がある) が呼び出されると、おそらく私のコンテキストが原因で、アプリがクラッシュします。
(これは UnProject クラスの引数です) null を返します (アプリがクラッシュすると NullPointerException がスローされます)。
コンテキストが正しく初期化されていないため、null が返されますか、それとも問題は別の場所にあると思いますか?