【JMF】Java Media APIs【JOGL】
225 :
216:2010/02/17(水) 01:20:35
JOGL2に移行したら、なんかかなり変わってて驚いた。
GLinterfaceにGL2とかGL3とかできてるし。
またガイドとソース読みながらコード書くことになるのか・・・。
OpenGL3.xとOpenGL ES対応とGLSLがらみがパッケージにまとめられたのがメインぽいね。
JOGLを使ったアップレットを設置してMacで開くと、
GLCanvasを生成するところで落ちてしまいます。
Windowsだとなんともない。
こんな現象についてどなたか知りません?
マカってホント情報弱者だな。
JMFって640x480以上のキャプチャサイズを扱うのは無理?
JMStudioの設定で640x480以上が設定できなくて、
jmfregistryでキャプチャデバイスを認識し直しても、
Capture Device Detailsには640x480までしか認識されてない.
Webカメラ自体はフルHDまで対応してるんだけど…
OpenCVでも似たような話が上がってるな
231 :
デフォルトの名無しさん:2010/06/14(月) 09:56:11
JMFで、2つの動画を横に並べてマージすることって出来ますか?
任意の動画の切り出しが出来ると嬉しいな。
x264/h264コーデックって積んでたっけ?
全部自分でやればできる
JMCも音沙汰無いし、もうJavaに動画再生期待するのは
やめた方がいいのかなあ。
x264が本当に必要になる場面て少ないぞ。
MPEGでこと足りることの方が多い。
JMFはARプログラミングで必須だからまだ生き残る。
最近OpenCVのブリッジが出てきて用途かぶってるJAIなんて涙目だぞ。
googleが採用している標準規格がh264なんだよwebmだけどな。
mpegのほうがむしろ不要。dvd見たい訳じゃな一子。
mpag2-psしかないと思ってんじゃないの?
tsやmpage4はDVDには使わんだろ
JOGLでGL_BLENDを有効にしているとき、
ライトを
gl.glLightfv(GL.GL_LIGHT0, GL.GL_AMBIENT, new float[]{1, 1, 1, 1}, 0);
gl.glLightfv(GL.GL_LIGHT0, GL.GL_DIFFUSE, new float[]{0, 0, 0, 1}, 0);
マテリアルを
gl.glMaterialfv(GL.GL_FRONT, GL.GL_AMBIENT, new float[]{1, 1, 1, alpha}, 0);
と設定しても、alphaの値は無視され、代わりに
gl.glMaterialfv(GL.GL_FRONT, GL.GL_DIFFUSE, new float[]{r, g, b, beta}, 0);
のbetaの値が使われて気持ち悪い。
JOGL 1.1.1a
239 :
デフォルトの名無しさん:2010/09/22(水) 22:25:48
JOGLを使ったプログラムをJUnit4でテストしたいのですが、どうにもうまくいきません。
@BeforeClassの中でJFrame, GLEventListner, GLCanvasを作って、setVisible(true) しても
一瞬ウィンドウが表示されるもののイベントリスナーのinit, display, reshapeが呼ばれず
OpenGLコマンドも多分使えません。
ユニットテストの@Test関数の中でOpenGLコマンドを呼びたいのですが、
どうすればいいですか?
JOGLで再描画(glutPostRedisplay)に相当する関数って何ですか
アニメーションしたいのですが方法がわからん
JOGLのユーザーマニュアルに載ってました。
OpenGL applications usually behave in one of two ways:
either they repaint only on demand, for example when mouse input comes in,
or they repaint continually, regardless of whether user input is coming in.
In the repaint-on-demand model, the application can merely call GLAutoDrawable.display()
俺天才
242 :
デフォルトの名無しさん:2010/10/02(土) 11:03:08
GLEventListenerのコールバック関数(init, display, reshape, displayChanged)の外で
OpenGL関数を呼ぶとエラーも出ずにまったく無視されるんだけどこれは反則?
呼べるけど準備がいる
void doSomethingWithGL() {
if (Threading.isSingleThreaded() && !Threading.isOpenGLThread()) {
Threading.invokeOnOpenGLThread(new Runnable(){ public void run(){ doSomethingWithGL(); } };
} else {
int err = glcanvas.getContext().makeCurrent();
try {
// ここでGL使う処理
} finally {
glcanvas.getContext().release();
}
}
}
コンテキストの差し替え関連もマニュアルに載ってるぞ天才くん。
245 :
デフォルトの名無しさん:2010/10/23(土) 01:04:59
ただいまJOGLを扱っていてこれの
gluLookAt
なのですが
物体に対して見る位置をだんだん遠ざけていくと物体が消えてしまします。
物体自体を合わせて大きくしていってもやはり何も表示されなくなります。
そこでふと、JOGL自体にスケールが存在するのかと思い投稿させていただきました。
詳しいかたよろしくお願いいたします。
>>245 glFrustumとかgluPerspectiveはどう設定してる?
nearクリップ面とfarクリップ面の外に出ただけだな
他のスレにマルチですでに解決済み。
joglって遅くね?
使いやすいとは思うけど
サンプルにあったペンギン5、6個表示させただけで処理落ちする
描画範囲を狭めたりして色々やってみたけど
テクスチャを含んだモデルデータを読み込ませるとやっぱ遅い
APIコールがJNI越しで遅いから、VBOやディスプレイリストが必要
とりあえずテクスチャ小さくしたら、ちょいマシになった
まぁ使えなくもないかな
フリーだし文句言っちゃ悪いよね
251 :
デフォルトの名無しさん:2011/01/01(土) 22:37:01
JMFカメラ認識しない件について
Androidエミュレータ上でARToolkitを動かすためにJMFを使ってカメラデバイスとして動かすというような記事を見たのでJMFをダウンロードインストールをしてみたのですがイメージングデバイスのUSB2.0cameraを認識してくれません。
JMF Registry EditorでCapture Devicesのタブを選択しDetect Capture Devicesのボタンを押してもカメラを拾ってくれません。
何か考えられる原因はありますでしょうか?
一度ドライバを削除して再インストールも行ってみました。
他PCでも試してみましたがだめでした。
メインPC
OS vista SP2 64bit
ためしにやってみた他のPC
OS XP SP3
カメラ
elecom ucam-dlu130hsv
自動でドライバをインストールするタイプです。
Skypeなどの他ソフトでカメラの起動は確認済みです。
ちなみにDetect Capture Deviceのボタンを押すと
Message Errorのダイアログがでて、内容が
Capture device query unsuccesful!
と出るのでキャプチャデバイスがうまく見つけられていないのはわかるのですがなぜ見つけられないのか対策の検討がつきません。
ご教授よろしくお願いします。
joglっていまサイト移動してる上にバイナリ配布されてないよね?
どうなってるの?
依存プロジェクトのANTLRのサイトに繋がらない
254 :
デフォルトの名無しさん:2011/03/02(水) 23:34:06.36
AWTTextureIOみたいな便利なもんが出来てよかったぜ。
ついでにJMFTextureIO作ってくれよ。
JogAmpが提供してるJOGLのビルドを使ってもOK?
java.netからJogAmpに移ったからJogAmpにホストされてるのが今の公式だが
JOGL2.xから全部入りになったから普通は自分でビルドするもんだけどいいんじゃね?
了解
慣れてきたら自前ビルドに挑戦する
https://sites.google.com/site/justinscsstuff/jogl-tutorial-2 に書かれているAWTとNEWTでOpenGLのキャンバスを持つウィンドウを表示する
コードを実行してみたら、AWTだと確かに何も描かれてないウィンドウが表示されるが
NEWTだと何も表示せずに終了した
Thread.sleepを挟んだらタスクバーにはアプリケーションのタイトルが現れるから
まったく何もしていないわけではなさそう
stderrには
Info: XInitThreads() called for concurrent Thread support
Detected screen size 1280x800
X11Util.Display: Shutdown (close open / pending Displays: false, open (no close attempt): 1/1, open (no close attempt and uncloseable): 1)
X11Util: Open X11 Display Connections: 1
X11Util: [0]: NamedX11Display[:0.0, 0x95429c8, refCount 1, Uncloseable false]
X11Util: Pending X11 Display Connections: 1
X11Util: [0]: NamedX11Display[:0.0, 0x95429c8, refCount 1, Uncloseable false]
と出力される
0x95429c8の部分は起動する度に変わるから何かのアドレスだと思う
スタックトレースが見あたらないから例外は起きてないだろうけれど
文面からすると正常なウィンドウの終了処理が即座に呼ばれているように見える
自分ではここまでしかわからなかった
原因や対処法を知っていたら教えてください
javawじゃなくてjavaコマンドから実行してみるとかエスパー
>>259 念の為symlinkを辿ったけど
/usr/lib/jvm/java-6-openjdk/jre/bin/java
だったから多分違うと思う
でもバージョン違いで動かないことはあり得るなと思って
Sun Javaも試してみたけど同じ結果だった
わざとクラスパスやjava.library.pathを間違えて起動してみたら
ちゃんと例外が起きるから、ライブラリが読み込めていないわけでもなさそうだし
glxinfoの出力やglxgearsが動くことからするとOpenGL環境が存在していないわけでもない
他にチェックすべき点はあるかな
GLWindowのやつなら俺の環境では問題なかった。
エントリポイントのメインスレッドが終了しないように無限ループさせるとどう?
環境依存には違いないけど。
プラットフォームの環境って意味ね
>>261 for (;;) {}を置いてみたら、Thread.sleepを置いた時と同じく
タスクバーにはwindow.setTitleで渡した文字列の項目が現れたし
起動するための端末ウィンドウからフォーカスが外れたけど
肝心のウィンドウはどこにも見えない
見えないだけで指定したサイズのウィンドウが存在しているのは
ウィンドウ切り替えパネルで確認できるし、setVisibleを呼び出し忘れてもいない
無限ループやスリープでjavaコマンドに制御戻らなくなってウィンドウが見えないだけならGUIの問題だろうね。
X11絡みか何かかねぇ。macやwinの環境はないの?仮想環境でもさ。
>>264 Windowsならあるから同じコードを動かしてみる
266 :
265:2011/03/28(月) 19:29:22.70
遅くなったけど、Windowsではウィンドウが表示されるのを確認した
GPUのドライバとXを調べてみる。本当にありがとう
267 :
265:2011/03/29(火) 08:38:17.33
俺の環境ではKMSを有効にするとウィンドウが表示され、無効にすると表示されないことがわかりました
お騒がせしてすみませんでした
古いですがJOGL 1.xを使い始めた者です。
作った作品(Javaアプリケーション)を公開するとき
dll等のネイティブライブラリの配布はどうするべきでしょうか
作品とは別に自分の環境に合ったものをダウンロードし、
Jarと同じディレクトリに置くように説明するしかないのでしょうか。
JavaWebStartを使う方法もある
270 :
デフォルトの名無しさん:2011/05/21(土) 19:41:46.03
JMFを使ってwebカメラから画像を取得するプログラムを作ってるんだが、
取得画像の大きさはどうやったら変えるんだ?
デフォルトで
RGB, 320x240, FrameRate=15.0, Length=230400, 24-bit, Masks=3:2:1, PixelStride=3, LineStride=960, Flipped
素のJMFだと糞めんどくさかった気がするがNyARToolKitとかがそこら辺ラップしてるからソース読んでみれば?
272 :
デフォルトの名無しさん:2011/09/27(火) 00:27:05.39
公式ってどこ?