問題タブ [jogl]
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 - JNI (jogl) が実行時に利用可能かどうかを判断する方法は?
Processing コア ライブラリを使用するソース コードの視覚化プロジェクトに取り組んでいます。処理ライブラリには、jogl OpenGL ライブラリを使用してグラフィックスをレンダリングするオプションがあり、パフォーマンスが大幅に向上します。ただし、jogl が使用する JNI ファイルは、プロジェクトを使用しているユーザーやプラットフォームによっては、実行時に必ずしも利用できるとは限りません。
現在、OpenGL を使用するかどうかをユーザーに指定してもらうだけですが、デフォルトで OpenGL を使用し、それが利用できない場合にのみソフトウェア レンダリングにフォールバックできれば、明らかにはるかに優れています。処理ライブラリではこれが簡単にできないようです。レンダラーを指定するのは 1 回だけであり、レンダラーを変更すると… 斬新な動作が得られます。
jogl に必要な JNI が利用可能で、実行時に機能しているかどうかを確認する方法はありますか?
web-applications - JOGL-動作しますか?質問+コメントと経験
物語:
ビデオカードからのアクセラレーションを使用して、Web上でコンピュータグラフィックスを表示する方法を探していました(ソフトウェアレンダリングなし)。IE用のActiveXモジュールを作成することは可能ですが、それはかなりの数のユーザー(Firefox + macOSファン)を満足させるため、完全なソリューションではありません。これは私が考えているより少ない例です:
クエリ:
私は最近、 JOGLを使用してブラウザからopengl呼び出しをjavaにバインドできることを発見しました。だから私はいくつかのことを考えていました:
A)JOGLは私のストーリーに最適なソリューションですか?
B) JOGLからopengl拡張機能を照会できますか?
C) JOGLからテクスチャをロードするにはどうすればよいですか?
コメント:
ブラウザからJOGLを使用したことがある場合は、JOGLで発生した問題/経験を教えてください。
java - Java+OpenGL でビルドするには、どの Ubuntu/Debian パッケージが必要ですか?
JOGL を使用したい (Java ではなく Clojure 用)。JDK と OpenGL バインディングにはかなりの組み合わせの選択肢があるようです。私は散弾銃のアプローチを使用して、あまりにも多くの粗悪品をインストールしてマシンを詰まらせたくありません。始めるのを手伝ってください!
- どの Ubuntu/Debian パッケージをインストールする必要がありますか?
sun-java6-jdk
(例えば、で始まる) - JOGL パッケージがないようですが、どのようにインストールするのが一番良いでしょうか? CVS HEAD からビルドする必要がありますか、それともビルド済みの jar ファイルを使用する必要がありますか?
Emacs を IDE として使用するので、Eclipse などをインストールする必要はありません。必要なのは、ant などでビルドできることだけです。
包括的なハウツーを提供するために、回答を(他の回答に基づいて)自由に修正してください。
java - JOGL はどのように OpenGL ライブラリを検索しますか?
JOGL を使用してデスクトップ アプリを作成し、Win/Mac/Linux にデプロイしています。Linux では、インストールされている OpenGL ライブラリが常に機能しているとは限らず、独自のソフトウェア エミュレーション OpenGL を切り替える機能が必要であることがわかりました。当然、ライブラリを/usr/lib の後または / の前に配置できると予想していました。 usr/lib を使用して、私たちのものまたはデフォルトを優先します。
うちのがJOGLに優先的に取り上げられていることがわかりました。JOGl ライブラリが libGL などを探す特別な処理を行っているかどうかを知っている人はいますか? どんな情報でも大歓迎です。
java - JMenus が原因で JOGL GLCanvas キャンバスがちらつく
JMenu オプションをクリックすると、JOGL GLCanvas がちらつきます。
JMenu には、setDefaultLightWeightPopupEnabled が false に設定されています。JGLPanel は実行速度が遅いため、使用したくありません (アプリケーションはフルスクリーン モードで実行する必要があります)。
興味深いことに、コマンド ラインで sun.java2d.opengl=true を設定すると、ちらつきが止まります。しかし、sun がデフォルトでこれを有効にしないという事実は、ユーザーがハードウェアの非互換性で問題を起こすリスクがあるのではないかと心配しています。
メニューをクリックしたときに、他の人が以下のコードでちらつきを見ますか?
JFrame とキャンバスのダブル バッファリング オプションで遊ぶなど、あらゆる種類のことを試しましたが、キャンバスがちらつかないようにすることはできませんでした。
メニューオプションを見たときに、これがちらつかないようにすることはできますか?
ありがとう!
-ダン
java - Jogl シェーダー プログラミング
Shader プログラミング (GLSL) を始めたばかりで、RenderMonkey でいくつか作成しました。今、私は Java コードでこのシェーダーを使用したいと考えています。私がそれを行う方法の簡単な例はありますか?
java - JOGLで画面外に描画する
より大きなプロジェクトの一環として、3Dレンダリングをビットマップ形式にエクスポートするJOGLを使用した機能を実装しようとしています。これを行うには、GLJPanelを作成し、必要なシーンを描画してから、ビットマップを抽出します。これは、システムの画面に少なくとも1つのウィンドウが表示されている限り、すべて正常に機能します。必ずしも、描画先のパネルを含むウィンドウである必要はありません。
ただし、ウィンドウを表示せずにこれを実行しようとすると、GLJPanelは描画しません。JOGLソースをステップスルーすると、有効なピアがない限り、つまりaddNotify()が呼び出されていない限り、描画されないことがわかります。ドキュメントによると、addNotify()は、パネルが表示されているウィンドウ階層の一部になっている場合にのみ呼び出されます。GLCanvasに変更しても、大きな違いはありません。障害モードは異なります。WindowsOnscreenGLDrawable.realizedが設定されていません。これは、lockSurfaceが戻りLOCK_SURFACE_NOT_READY
、makeCurrent()が失敗することを意味します。
ウィンドウを表示せずに3Dシーンを作成およびエクスポートできるJavaアプリを作成する方法についてのヘルプを歓迎します。
opengl - OpenGL displayList サイズの制限
あまりにも多くの OpenGL 呼び出しをディスプレイリストに入れると失敗する可能性があるかどうかは誰にもわかりませんか? もしそうなら、これを行う可能性のある呼び出しの数を見積もっている人はいますか? それはビデオメモリに関連していますか?
私は JOGL から OpenGL を呼び出していますが、それは重要ではないと思います。
opengl - jogl (ストレート OpenGL) を使用して、Processing で PImage をテクスチャにバインドする方法
Processing で画像を PImage にロードした場合、OpenGL 呼び出しを使用して画像をテクスチャにバインドする最良の方法は何ですか? 私は処理レンダリングのものを使用していません。
3d - 手動で読み込まれる、ゲーム内キャラクター モデルの推奨される 3D モデル タイプは?
私は JOGL でゲームを書いており、ゲーム内のキャラクターを表現する必要があります。キャラクターの動きにはスケルタル アニメーションを使用する予定で、もちろんキャラクターはスキンされます。JOGL 用の適切なモデル ローダーが見つからないようなので、仕様などに基づいて自分でファイル タイプをロードする予定です。また、Blender を 3D モデラーとして使用する予定なので、そこにあるタイプが最適です。
どのファイルタイプを使用することをお勧めしますか? 。ブレンド?.x、.3ds、.md2/3/5、...?? ランダムなファイル形式を解読しなくてもローダーを記述できるように、明確に定義された形式が必要であり、前述の機能をサポートする必要があることを思い出してください。なぜそれを選んだのか、なぜそれが最適なのかについて、あなたが提供できる他の情報も非常に役に立ちます!
ありがとう!
編集: Blender MS3D エクスポーターを作成します。完成したら、ここに投稿します。
その間、以下のマーク付きの回答を参照してください。しかし、それ以来、さらに多くのことが行われています。私がやっていることでこれを更新し続けるつもりはありませんが、基本的には jMonkey Engine を見つけました。これには、手書きで書き始めた ms3d インポーターとその他のサブシステムが既に含まれています。シーングラフのようなものがありますが (それが私が Java3D を避けていた理由です)、Java3D と力を合わせることが私の最善の策だと思います。