問題タブ [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.

0 投票する
1 に答える
177 参照

java - JOGL GLCanvas を使用したキー バインディング (java)

openGL GLCanvas でキー バインディングをどのように使用しますか? JPanel (GLPanel に適用) での使用方法は理解していますが、GLCanvas で使用することは可能ですか? 可能であればどのようにしますか?

-ダン

0 投票する
1 に答える
2036 参照

java - JOGL: javax.media.opengl.GLException: AWT-EventQueue-0: スレッドのコンテキストが最新ではありません

私は JOGL でゲームを作成していますが、私の人生では理解できないエラーに遭遇しました。

ゲームでは、2 つの GLCanvases (実際には GLJpanels) を使用しています。1 つはメニュー用で、もう 1 つは実際のゲーム用です。ゲームがメニューから開始されると、メニュー GLCanvas がゲームウィンドウから削除され、ゲーム GLCanvas と交換されるという考え方です。これまでのところ、メニューはほぼ完璧に動作するようになっていますが、ゲーム キャンバスに切り替えようとすると、次のエラーが発生します。

キャンバスを切り替えるために使用しているコードは次のとおりです。

およびスイッチ機能:

私はいくつかのグーグルを行って、この質問を回避しました:どうすれば独自のopenGLコンテキストを作成してGLCanvasにバインドできますか?

しかし、そこに投稿された解決策はどれもうまくいきませんでした。

0 投票する
1 に答える
985 参照

java - JPanel 内の GLCanvas が機能しない

OpenGL コンテンツを含む GLCanvas を JPanel に追加しようとしています。JPanel は JTabbedPane 内にあります。しかし、GLCanvas が JPanel 内にある場合、Panel は灰色になります。GLCanvas を TabbedPane に直接追加すると、すべて正常に動作します。

xxx

ここで作業コード:

動作しないコードは次のとおりです。

では、GPanel 内で GLCanvas を動作させるにはどうすればよいでしょうか?

0 投票する
0 に答える
92 参照

java - 別のフレームから setVisible() を呼び出した後、JOGL GLCanvas のサイズ変更が失敗する

JOGL に問題があります。2 つのウィンドウを作成したいと思います。1 つは GLCanvas を使用し、もう 1 つは何か他のものを使用します。キャンバスを追加したフレームの setVisible() を呼び出す前に、別のフレームの setVisible() を呼び出すたびに。サイズを変更すると、白いウィンドウしか表示されません。

私が変われば

すべてが機能し、再スケーリングした後でも黒いウィンドウが表示されます。

ご協力ありがとうございました

0 投票する
1 に答える
737 参照

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(不明なソース)

0 投票する
0 に答える
92 参照

java - GLCanvas が適切にサイズ変更されない SWT アプリケーション

私はある種の描画プログラムであるアプリケーションを作成しています。そのために、シェルで GLCanvas ウィジェットで SWT を使用しようとしています。これは、私が抱えている問題を示すスニペットです。

このコードからウィンドウのサイズを変更すると、正しく表示されません。GLCanvas がちらつきますが、残りの空白を適切に埋めるためにサイズ変更される前に、GLCanvas を画面に描画するステップが描画にあるかのようにも見えます。これには、たとえば、ウィンドウが左にサイズ変更されている間に、GLCanvas が本来よりも小さいという影響があります。逆に、ウィンドウが右にサイズ変更されている間、GLCanvas は必要以上に大きくなり、ウィンドウの右にはみ出します。

キャンバスのスタイルを SWT.NONE から SWT.NO_BACKGROUND から SWT.DOUBLE_BUFFERED から SWT.NO_REDRAW_RESIZE に設定しようとしましたが、この問題には影響しませんでした。

この動作を修正するにはどうすればよいですか?

0 投票する
0 に答える
104 参照

java - GLCanvas シリアライズ

私のアプリでは、JOGL lib を使用して OpenGL を操作します。

javax.media.opengl.awt.GLCanvas の実装をシリアライズする必要があります。

キャンバスにオブジェクトを書き込もうとしています

しかし、私はエラーがあります:

そのため、GLCanvas のフィールドはシリアライズできません。私に何ができる?