問題タブ [glcanvas]
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.
java - JOGL GLCanvas を使用したキー バインディング (java)
openGL GLCanvas でキー バインディングをどのように使用しますか? JPanel (GLPanel に適用) での使用方法は理解していますが、GLCanvas で使用することは可能ですか? 可能であればどのようにしますか?
-ダン
java - JOGL: javax.media.opengl.GLException: AWT-EventQueue-0: スレッドのコンテキストが最新ではありません
私は JOGL でゲームを作成していますが、私の人生では理解できないエラーに遭遇しました。
ゲームでは、2 つの GLCanvases (実際には GLJpanels) を使用しています。1 つはメニュー用で、もう 1 つは実際のゲーム用です。ゲームがメニューから開始されると、メニュー GLCanvas がゲームウィンドウから削除され、ゲーム GLCanvas と交換されるという考え方です。これまでのところ、メニューはほぼ完璧に動作するようになっていますが、ゲーム キャンバスに切り替えようとすると、次のエラーが発生します。
キャンバスを切り替えるために使用しているコードは次のとおりです。
およびスイッチ機能:
私はいくつかのグーグルを行って、この質問を回避しました:どうすれば独自のopenGLコンテキストを作成してGLCanvasにバインドできますか?
しかし、そこに投稿された解決策はどれもうまくいきませんでした。
java - JPanel 内の GLCanvas が機能しない
OpenGL コンテンツを含む GLCanvas を JPanel に追加しようとしています。JPanel は JTabbedPane 内にあります。しかし、GLCanvas が JPanel 内にある場合、Panel は灰色になります。GLCanvas を TabbedPane に直接追加すると、すべて正常に動作します。
ここで作業コード:
動作しないコードは次のとおりです。
では、GPanel 内で GLCanvas を動作させるにはどうすればよいでしょうか?
java - 別のフレームから setVisible() を呼び出した後、JOGL GLCanvas のサイズ変更が失敗する
JOGL に問題があります。2 つのウィンドウを作成したいと思います。1 つは GLCanvas を使用し、もう 1 つは何か他のものを使用します。キャンバスを追加したフレームの setVisible() を呼び出す前に、別のフレームの setVisible() を呼び出すたびに。サイズを変更すると、白いウィンドウしか表示されません。
私が変われば
に
すべてが機能し、再スケーリングした後でも黒いウィンドウが表示されます。
ご協力ありがとうございました
swing - Java swing JPanel の例、GLCanvas エラー
}
上記のアクティベーター クラスで、(JPanel) グラフパネルを (JPannel) testFrame.getPanel1() に追加します。次に、testFrame クラスのボタンを使用してremoveAll()メソッドを使用し、静的なグラフパネルを再度追加しましたが、以下のエラーが発生しました。
デバッグすると、 GLcanvas がピアを失っていることがわかります。解決策が見つかりませんでした。
スレッド「Thread-3」の例外 java.lang.RuntimeException: javax.media.opengl.GLException: Jogamp.common.awt.AWTEDTExecutor.invoke(AWTEDTExecutor.java:58) でデバイス コンテキスト 0xffffffffde01148b の一時 OpenGL コンテキストを作成できませんjogamp.opengl.awt.AWTThreadingPlugin.invokeOnOpenGLThread(AWTThreadingPlugin.java:103) javax での jogamp.opengl.ThreadingImpl.invokeOnOpenGLThread(ThreadingImpl.java:205) で.media.opengl.Threading.invoke(Threading.java:191) at javax.media.opengl.awt.GLCanvas.display(GLCanvas.java:449) at grafik.view.grafik.Gcontroller.draw(Gcontroller.java:169) ) で grafik.model.data.Dcontroller.drawAll(Dcontroller.java:272) で grafik.view.Wcontroller.GdataClean(Wcontroller.java:261) で grafik.view.WThread.run(WThread.java:57) 原因: javax.media.opengl.GLException: Jogamp.opengl.windows.wgl.WindowsWGLContext.createImpl(WindowsWGLContext.java:306) でデバイス コンテキスト 0xffffffffde01148b の一時 OpenGL コンテキストを作成できませんjogamp.opengl.GLContextImpl.makeCurrentWithinLock(GLContextImpl.java:572) で jogamp.opengl.GLContextImpl.makeCurrent(GLContextImpl.java:485) で jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:645) で jogamp.opengl. GLDrawableHelper.invokeGL(GLDrawableHelper.java:594) の javax.media.opengl.awt.GLCanvas$8.run(GLCanvas.java:996) の java.awt.event.InvocationEvent.dispatch(不明なソース) の java.awt.EventQueue java.awt.EventQueue.access$300 の .dispatchEventImpl(不明なソース) (java.awt.EventQueue$3 の不明なソース)。java.awt.EventQueue$3 で (不明なソース) を実行します。 java.awt.EventDispatchThread.pumpOneEventForFilters (不明なソース) での dispatchEvent(不明なソース) java.awt.EventDispatchThread.pumpEventsForFilter(不明なソース) での java.awt.EventDispatchThread.pumpEventsForHierarchy(不明なソース) でソース不明) java.awt.EventDispatchThread.pumpEvents(ソース不明) java.awt.EventDispatchThread.run(ソース不明)java.awt.EventQueue.dispatchEvent の doIntersectionPrivilege(不明なソース) java.awt.EventDispatchThread.pumpOneEventForFilters の(不明なソース) java.awt.EventDispatchThread.pumpEventsForFilter(不明なソース) の java.awt.EventDispatchThread.pumpEventsForHierarchy(ソース不明) java.awt.EventDispatchThread.pumpEvents(ソース不明) java.awt.EventDispatchThread.pumpEvents(ソース不明) java.awt.EventDispatchThread.run(ソース不明)java.awt.EventQueue.dispatchEvent の doIntersectionPrivilege(不明なソース) java.awt.EventDispatchThread.pumpOneEventForFilters の(不明なソース) java.awt.EventDispatchThread.pumpEventsForFilter(不明なソース) の java.awt.EventDispatchThread.pumpEventsForHierarchy(ソース不明) java.awt.EventDispatchThread.pumpEvents(ソース不明) java.awt.EventDispatchThread.pumpEvents(ソース不明) java.awt.EventDispatchThread.run(ソース不明)java.awt.EventDispatchThread.pumpEvents(不明なソース) のpumpEvents(不明なソース) java.awt.EventDispatchThread.run(不明なソース)java.awt.EventDispatchThread.pumpEvents(不明なソース) のpumpEvents(不明なソース) java.awt.EventDispatchThread.run(不明なソース)
java - GLCanvas が適切にサイズ変更されない SWT アプリケーション
私はある種の描画プログラムであるアプリケーションを作成しています。そのために、シェルで GLCanvas ウィジェットで SWT を使用しようとしています。これは、私が抱えている問題を示すスニペットです。
このコードからウィンドウのサイズを変更すると、正しく表示されません。GLCanvas がちらつきますが、残りの空白を適切に埋めるためにサイズ変更される前に、GLCanvas を画面に描画するステップが描画にあるかのようにも見えます。これには、たとえば、ウィンドウが左にサイズ変更されている間に、GLCanvas が本来よりも小さいという影響があります。逆に、ウィンドウが右にサイズ変更されている間、GLCanvas は必要以上に大きくなり、ウィンドウの右にはみ出します。
キャンバスのスタイルを SWT.NONE から SWT.NO_BACKGROUND から SWT.DOUBLE_BUFFERED から SWT.NO_REDRAW_RESIZE に設定しようとしましたが、この問題には影響しませんでした。
この動作を修正するにはどうすればよいですか?
java - GLCanvas シリアライズ
私のアプリでは、JOGL lib を使用して OpenGL を操作します。
javax.media.opengl.awt.GLCanvas の実装をシリアライズする必要があります。
キャンバスにオブジェクトを書き込もうとしています
しかし、私はエラーがあります:
そのため、GLCanvas のフィールドはシリアライズできません。私に何ができる?