OpenGLスレ Part7
■ このスレッドは過去ログ倉庫に格納されています
0001前スレ992
2005/06/07(火) 22:46:19質問、雑談何でもいいから書き込め!
- 前スレ -
OpenGLスレ Part6
http://pc8.2ch.net/test/read.cgi/tech/1105612993/
- 関連サイト -
http://www.opengl.org/
http://www.mesa3d.org/
http://developer.nvidia.com/
http://www.ati.com/developer/
http://developer.3dlabs.com/
- 過去スレ -
Part 5: http://pc5.2ch.net/test/read.cgi/tech/1100085657/
Part 4: http://pc5.2ch.net/test/read.cgi/tech/1091724463/
Part 3: http://pc5.2ch.net/test/read.cgi/tech/1067529308/
Part 2: http://pc2.2ch.net/test/read.cgi/tech/1039984523/
Part 1: http://pc3.2ch.net/tech/kako/981/981044659.html (dat落ち)
0655デフォルトの名無しさん
2005/08/08(月) 00:12:59nVidiaもATIも2.0ドライバ出たですよ。
確かに一時期放置状態だったけど、また最近盛り上がってきてると思うよ。
0656デフォルトの名無しさん
2005/08/08(月) 00:15:29うーむ。ドライバがwglSwapIntervalEXTをサポートしてないのでは仕方ないなぁ。
おそらく最新ドライバを入れれば大丈夫だと思うが。
0657デフォルトの名無しさん
2005/08/08(月) 00:52:05最新のドライバインストしてみましたが結果は同じでした
素直にlwjgl使うことにします
ありがとうございました
0658デフォルトの名無しさん
2005/08/08(月) 01:53:33OpenGL、終わったなw
0659デフォルトの名無しさん
2005/08/08(月) 02:00:11ま、マジだとしても全然終わらないけどね
0660デフォルトの名無しさん
2005/08/08(月) 02:09:50Windowsのディスプレイ関係自体がすべてDX3Dになるわけだからなぁ
0661デフォルトの名無しさん
2005/08/08(月) 02:22:55で?
0662デフォルトの名無しさん
2005/08/08(月) 02:26:07オレが「で?」って言いたいよwwww
0663デフォルトの名無しさん
2005/08/08(月) 02:30:58lwjglはあまり使ってないので勘違いしてるかもしれないけど、
lwjglではwglSwapIntervalEXTがエラーにならないの?
それとも別の方法で設定できるのかな?
joglのほうでwglSwapIntervalEXTを呼んでる場所が悪いってことないかな?
(なんか逆質問ばっかで申し訳ないが、ちょっと気になるので)
0664デフォルトの名無しさん
2005/08/08(月) 02:34:21つか、大分前からDirectXの上で動いてねえ?
0665デフォルトの名無しさん
2005/08/08(月) 02:37:310666デフォルトの名無しさん
2005/08/08(月) 02:38:18Windowsという一つのOSの上のOpenGLの実装が(おそらく良い方向に)変わる
というのがなぜ「OpenGL、終わったな」なのか全く意味不明。
それに正しくはWGF2.0上にWGF1.0(=DirectX)とOpenGLのAPIが実装されるという
言い方のほうが実際に近い。(それでも正確ではないけれど)
0667デフォルトの名無しさん
2005/08/08(月) 02:40:04Microsoftに移ったからなんだよね。
0668デフォルトの名無しさん
2005/08/08(月) 02:59:08いやいや、全然正しくないからw
WGF2.0はそれ自体が独立したAPIであって、OpenGLがWGF1.0で走るっつー話。
そもそも悪の温床はエアロ(ryとかいうコンポジットデスクトップであって
これがonになってる環境でOpenGLを「ウィンドウモード」で走らすと
ICDでいくらハッスルハッスルしようがOpenGL1.4の機能しか使用できず、
一切の拡張も利用できず、しかもそれがDirectXでラッパされてるって話。
っちゅーのは、ウィンドウそれ自体がDirectXで描画されるから。要は、
OpenGLアプリ(←「ウィンドウモード」)
↓
Windows Vista
↓
Microsoft-implemented OpenGL ICD(←ここ重要)
↓
[OpenGLの命令をDirectX命令に変換]
↓
WGF1.0
↓
エアロ(ry
↓
ウィンドウ
↓
0669デフォルトの名無しさん
2005/08/08(月) 03:09:03今のβ1の実装はともかくとして、最終的にGPUベンダが適切なICDを提供すれば
大丈夫なんでないの? それに「最低限の実装」がDirectXベースになれば、現状
のGDI genericよりはマシということになるかもしれないね。
0670デフォルトの名無しさん
2005/08/08(月) 03:31:46この書き方を見るだけで、この人あまりOpenGLに詳しくないのがわかる。
OpenGL 1.4=かなり色々な拡張が標準で使えるという意味なのだが。
http://www.asahi-net.or.jp/~yw3t-trns/opengl/version/index.htm
0671デフォルトの名無しさん
2005/08/08(月) 03:39:15一切ベンダ拡張が使えないってこと?
何だかVoodooみたいだな。いと懐かし。
0672デフォルトの名無しさん
2005/08/08(月) 03:56:25いや、いずれにせよエアロはDirectXであって
例えばその機能のひとつであるウィンドウの透明化とかは
OpenGLで描画したウィンドウとDirectXで描画したウィンドウをどう合成するのかと。
つーか、そもそもエアロなんざいらねーんだよボケが、とM$に言いたい。
派手なGUIでしか次期OSの付加価値を創造できないなんて、M$必死だな。
0673デフォルトの名無しさん
2005/08/08(月) 03:58:19馬鹿か?つーか、馬鹿だなお前。
だからWGF1.0でOpenGL1.4固定でIHVの拡張も使えないと言ってるだろうが。
馬鹿はすっこんでね。
0674デフォルトの名無しさん
2005/08/08(月) 04:09:44もはや拡張機能でなく標準機能
0675デフォルトの名無しさん
2005/08/08(月) 04:19:48MSがLDDMの仕様を変更しない限り、
ATIやらNVやらのIHVがどう頑張ろうがどうにもならないと思われ。
>>674
ワラタw
0676デフォルトの名無しさん
2005/08/08(月) 08:36:580677デフォルトの名無しさん
2005/08/08(月) 11:47:50てめーら、いつまでもWindowsの天下が続くと思うなよ。
・・・・続くのかなぁ。(ちょっと弱気)
0678デフォルトの名無しさん
2005/08/08(月) 12:53:420679デフォルトの名無しさん
2005/08/08(月) 14:49:48……趣味でやる分には新たな道はないですがね。
0680デフォルトの名無しさん
2005/08/08(月) 19:02:590681デフォルトの名無しさん
2005/08/08(月) 20:49:57wglSwapIntervalEXT()
ELSAのGeforce4ti4200だと、ドライバのバージョンによらず、制御できたと記憶してる。
今まで経験したこと。
1. wglGetProcAddress()での、関数名が違ってた。
2. 呼び出すタイミングによっては、エラーになったり、効果なかったりする。
3. 親Windowがgl制御Windowだった場合、親を、wglSwapIntervalEXT(0)してからじゃないと、
子Windowでは効果なかったことがあった
2は、toolkit使ってたりすると、割とあるかも。つまり、toolkit で glwin を作成する処理を
しても、実はtoolkit内で遅延処理を行っていて、glwin作成ルーティンを呼んだ時点では、
該当Windowの実態は作成されていなかったり、SetPixelFormat()されてなかったりする。
こういう場合では、wglSwapIntervalEXT()を呼んでも、効果なかったり、エラーになる。
デバッグ目的で、描画直前に、wglSwapIntervalEXT(0)を呼んだほうがいいと思う。
これで駄目なら、3のケースに該当すると思う。
0682デフォルトの名無しさん
2005/08/08(月) 22:21:52lwjglでは、特に設定しなくてもフル回転してくれるので大丈夫でした
また、lwjglではwglSwapIntervalEXTではなく、リフレッシュレートと同期させるかどうか
のメソッドが用意されているようです
・・・・呼びだすタイミングでした(詳しくは下記)
>>681
呼びだすタイミングでした(T_T)
Animatorをstart()して initが呼ばれたとき、その中でwglSwapIntervalEXT(0)をすると
エラーが発生せずうまくいきました
Animatorをstart()してすぐ呼び出したり、startする前に呼び出したりすると
ダメでした
内部でどのようにやっているのか良く分かりませんが、そういう仕様らしいです
教えていただいた方、ありがとうございました〜〜
0683デフォルトの名無しさん
2005/08/08(月) 22:43:520684デフォルトの名無しさん
2005/08/08(月) 23:04:18おお。タイミングの問題であったか。よかっった、よかった。
基本的に GLEventListener に登録したメソッド( init() とか display() とか)の
実行中以外では OpenGL の関数は呼ばないほうが良いと思うよ。
0685デフォルトの名無しさん
2005/08/09(火) 00:12:11LWJGLを利用しているのなら、リフレッシュレートと同期させるかアプリが設定できるぞ。
Display#setVSyncEnabled
0686デフォルトの名無しさん
2005/08/09(火) 00:43:31>カスどもがwwwwww
とも、思うが、このあたりは、とっしょり(おっさん、年寄り)の役目でもあると認識する此の頃
0687デフォルトの名無しさん
2005/08/09(火) 00:56:44nVidiaとかATIのボードを使ってる場合は変化ねーだろ。
0688デフォルトの名無しさん
2005/08/09(火) 01:06:22妄想ですよ。妄想ですから。
0689デフォルトの名無しさん
2005/08/09(火) 01:07:39実装できると聞いている。今までみたいな抽象化層を通さなくてもいい分、無駄なコストが発生しないとか。
0690デフォルトの名無しさん
2005/08/09(火) 14:28:24レスありがとうございます。
たしかに、僕の考え方が悪かったようです・・・。
Offset行列でも、表示がおかしいです。
行列の優先順位などが結構ごっちゃになっていたりするのですが・・、
また、それ以前に、Z反転の仕方がまだよくわかっていません。
どれを、Z反転すればいいのでしょうか?
教えてください。
結果が(いまのでは)正しくないので、Z反転があっているのかさえわからないです。
頂点はZ反転はわかるのですが、
アニメーション行列がわからないです。
0691デフォルトの名無しさん
2005/08/09(火) 14:37:120692デフォルトの名無しさん
2005/08/09(火) 17:28:45(゚Д゚)ハァ?
と言っておくか。
0693デフォルトの名無しさん
2005/08/09(火) 19:24:29(ノ∀`)アチャー(ノ∀`)アイター
0694デフォルトの名無しさん
2005/08/10(水) 09:04:15座標はZ反転させています。
ほかの行列関係がよくわかりません。
>>621の行列をかけると聞いたのですが、アニメーション行列は、回転、拡大、移動の行列を反転させてから
1つの行列にするのでしょうか、それとも1つの行列にするのでしょうか?
0695デフォルトの名無しさん
2005/08/10(水) 09:40:24・行列の積は可換だったり非可換だったり。よって行列をかける順序。
・視点。
・右手左手座標を取り間違え。本当に合っているかチェック。
・行列スタックの使い方。
・参考書が間違ってたり。
0696デフォルトの名無しさん
2005/08/10(水) 10:39:29おそらく、ここもしくはアニメーション行列の作成、Z反転で間違っていると思うのですが・・。
>・視点。
モデルのほうを見れているので問題ないかと。
(正しい動きをしていないから・・)
>・右手左手座標を取り間違え。本当に合っているかチェック。
OpenGLは右手座標、LightWaveは左手座標であっていると思います。
>・行列スタックの使い方。
行列スタック(glPop、glPush)は使っていません。
親子関係はないので・・。
>・参考書が間違ってたり。
参考にしたサイトは
ttp://www.nk.rim.or.jp/~jun/3d_info/quaternion.html
です。
0697デフォルトの名無しさん
2005/08/12(金) 15:14:170698デフォルトの名無しさん
2005/08/12(金) 18:20:55んなこたぁない。
0699デフォルトの名無しさん
2005/08/12(金) 18:23:18ドライバによるかもね
0700デフォルトの名無しさん
2005/08/12(金) 21:17:260701デフォルトの名無しさん
2005/08/12(金) 21:24:530702デフォルトの名無しさん
2005/08/13(土) 08:25:44OpenGL ES 2.0が出たのは無視ですか。そうですか。
Begin,Endは勿論のこと、PushMatrixやPopMatrixとかマトリックス関連も
なくなってるよ。
マトリックスはテメエで計算してシェーダーに渡せやということらしい。
頂点配列やディスプレイリストもない。
本当にシェーダーセントリックになってしまったな。
もうこうなると、3DAPIなんて状態と各種リソースを管理するためだけの
ものになりつつあるね。
0703デフォルトの名無しさん
2005/08/13(土) 08:39:00そのnVidiaやATiがOpenGLを口に出さなくなったのは悪い兆候じゃないのか?
0704デフォルトの名無しさん
2005/08/13(土) 09:52:20なにもWindowsだけがOpenGLのプラットホームじゃないしな。
それに、OpenGLはウィンドウシステムと直接結合してるわけじゃないし
変わりようもないだろう。
WGLの部分が変わったりするんじゃないの?
0705デフォルトの名無しさん
2005/08/13(土) 14:43:47別に何も言わないが、いろいろと追加してきている
0706デフォルトの名無しさん
2005/08/13(土) 21:06:010707デフォルトの名無しさん
2005/08/14(日) 02:59:08いやnVidiaやATiがサポートしなくなったら即死じゃないかと。
0708デフォルトの名無しさん
2005/08/14(日) 03:57:10ここが潰れててglsetup.exeが実行できないんだけど
今はどうやってインストールするんですか?
OSリカバリーしたもんで
0709デフォルトの名無しさん
2005/08/14(日) 09:16:59ES2.0はすごくすっきりしたよね。
MaterialとかLightとかのシェーダですべきことがAPIから全部なくなってるし、
頂点はVertexもNormalもColorもTexcoordも無しでAttribだけ。
こうなるとフラグメントシェーダ以降の処理の
アルファテスト・デプステスト・ステンシルテストとかが
プログラマブルにならず固定機能として取り残されているのが
不自然に思えてくるよ。
0710デフォルトの名無しさん
2005/08/14(日) 15:57:58GLで表示させたポリゴンデータをクリックしたときに
そのオブジェクト上の点の3次元座標を知りたいんです。
0711デフォルトの名無しさん
2005/08/14(日) 16:18:56何かの方法(セレクションモードなど)で射影後のZ値を調べて、
あとはgluUnProject様にお願いする。
0712710
2005/08/14(日) 16:48:40gluUnProjectでググったら、俺のしたいことと全く同じのが出てきますた。
とってもサンクスです。
卒業研究の謝辞のところに>>711様とでも書いときますw
0713デフォルトの名無しさん
2005/08/15(月) 19:27:310714デフォルトの名無しさん
2005/08/18(木) 09:00:360715デフォルトの名無しさん
2005/08/19(金) 00:53:51Win2kだと正常に動作するものの、
WinXPだと終了時のwglDeleteContext関数の呼び出しで
ハンドルされていない例外 は test.exe (NVOGLNT.DLL) にあります: 0xC0000005: Access Violation。
となってしまいます。
これは何が原因なのでしょうか?
0716デフォルトの名無しさん
2005/08/19(金) 00:57:15バージョンが違うとかXPに対応してないとか
0717デフォルトの名無しさん
2005/08/19(金) 01:04:52NVOGLNT.DLLはC:\WINDOWS\system32にあって
パスも通ってるみたいです。
MSDNに特別な記述がなかったので
WinXPでも使用できると考えていいとすると、
バージョンが怪しそうですね。
ちょっと調べてみます。
ありがとうございました。
0718デフォルトの名無しさん
2005/08/19(金) 15:51:090719デフォルトの名無しさん
2005/08/19(金) 16:19:18http://www.kanazawa-it.ac.jp/
('A`)?
0720デフォルトの名無しさん
2005/08/19(金) 21:36:090721デフォルトの名無しさん
2005/08/19(金) 21:49:50http://hidebbs.net/bbs/dainashi?sw=7
0722デフォルトの名無しさん
2005/08/20(土) 04:30:03破棄するような関数を探しても見当たらないのですが。
0723デフォルトの名無しさん
2005/08/20(土) 05:39:360724デフォルトの名無しさん
2005/08/20(土) 11:25:30>>723の言うように、
glDeleteTexturesでテクスチャナンバーは削除できる。
だが、一度OpenGLへ転送したテクスチャイメージ自体を削除することはできない。
大抵のドライバは、wglDeleteContextを呼び出すとテクスチャイメージを解放してくれる。
>>717
テクスチャナンバーを正常に破棄しないと、例外が発生することがあるってのを聞いたことがある。
wglDeleteContextを呼び出す前に、glDeleteTexturesできれいに掃除するとよいかも。
0725722
2005/08/20(土) 13:22:26やってみます。
0726デフォルトの名無しさん
2005/08/21(日) 01:32:44ローダを作ってるんだが、面が三角形のみじゃない場合はどうすればいい?
例えば四角形が混じっていたら、単純に二つの三角形に分割してしまえばOK?
glDrawElementsを使いたいんで、三角形以外が混じっていると面倒なんだ。。。
0727デフォルトの名無しさん
2005/08/21(日) 01:57:02四角形以上は三角形に分解。さらに飛び部分に面積0の三角形を挟んででも
全体をTriangleStrip化して一発描画するのが高速化の常套手段。
0729デフォルトの名無しさん
2005/08/21(日) 02:36:290730デフォルトの名無しさん
2005/08/21(日) 03:56:17glDrawElementsのようなインデックス化されたプリミティブ描画の場合は、
現在のビデオカードでは頂点キャッシュの恩恵が受けられるので、
インデックスの順序をうまく最適化しておけば、三角形リストでもストリップと大差なくなるね。
というか、下手に組んだ縮退だらけの長〜いストリップより速い場合もあるし。
0731726
2005/08/21(日) 13:20:22マジで?
よく考えたらまだ高速化も必要ないし、最適化は後回しにする。
最適化の前にまだまだやることがあるんでな。3Dゲームの道は遠い。。。
0732デフォルトの名無しさん
2005/08/21(日) 16:43:32時代錯誤も甚だしい
ま、すぐに時代を知ることになるだろうが
0733デフォルトの名無しさん
2005/08/21(日) 16:57:21遊びをわかってない連中が使いたがってる気がする。
0734デフォルトの名無しさん
2005/08/21(日) 17:07:35グラフィクス、AI、物理、ネットワーク、マップ、モデル、アニメーション、テクスチャ、サウンド…。
チーム組むにしても、よっぽどの物好きでない限り
ボランティアでは参加せんだろ。
0735デフォルトの名無しさん
2005/08/21(日) 17:24:280736726
2005/08/21(日) 17:31:082Dと比べると必要な知識量が段違いでが気が遠くなりそう。
だが、来年からプログラマーとして働くために必要なんだ。
俺にはまだモデルを表示する程度しかできんがな!
0737715
2005/08/21(日) 18:29:14プログラムのバグにより
glDeleteListsの第2引数に-1を渡すケースが
あったのですが、ここを修正したら
正しく終了するようになりました。
glDeleteLists関数などは各ビデオカードの
メーカーが実装しているのでしょうか?
Win2kの方はIntelの82865で、
WinXPの方はNVIDIAのGeForce4なのですが、
さすがIntelと思いましたw
0738デフォルトの名無しさん
2005/08/21(日) 23:15:01nVidia>ATI>>>Intel
って感じかな。(他は知らん)
0739デフォルトの名無しさん
2005/08/21(日) 23:30:13キルガードクオリティは、他社の追随を許さない。
0740デフォルトの名無しさん
2005/08/21(日) 23:37:07つまり遂に大のDirectX嫌いカーマックが大のDirectX好きになったということ
XBOX360の開発環境は本当に素晴らしいとベタ褒めしてたし
0741デフォルトの名無しさん
2005/08/21(日) 23:58:07how things are going to turn out where whether I can say something is my fault,
the driver’s fault, or the hardware’s fault.
So it’s been pretty refreshing to actually come down and work on the xbox 360 platform,
where you’ve got a very, very thin API layer that lets you talk pretty directly to the
hardware. You can say “this is the memory layout”, “this call is going to result in these
tokens going into the command buffer”, and so on. The intention is I’m probably going
to be spending the next six months or so focusing on that as a primary development
platform, where I’ll be able to get the graphics technology doing exactly what I want,
to the performance that I want, on this platform where I have minimal interface between
me and the hardware, and then we’ll go back and make sure that all the PC vendors
have their drivers working at least as well as the console platform on there.
0742741
2005/08/22(月) 00:08:20「XBOX360は、俺の言うことちゃんと聞いて思い通りに動く奴隷なのさ!」
とカーマックタソはおっしゃられてるわけだ。ただ、最後のほうで、
「そしたら、今度は全てのPCベンダが最低でもこのコンソールと同様以上に
融通の利くドライバ書いてるかチェックしに戻るからな!」
とも言ってるわけだ。
要するに、
「現状ではXBOX360は統合型シェーダやら何やらで先進的で、
ハードウェアに対してローレベルアクセスできるから俺のやりたいことができるんだ!
けど、時が経てばそれも陳腐化するから、またPCに戻ってくるべよ」
っつーことをおっしゃられてるわけだ。
0743デフォルトの名無しさん
2005/08/22(月) 00:27:130744デフォルトの名無しさん
2005/08/22(月) 00:31:460745デフォルトの名無しさん
2005/08/22(月) 03:00:11アルマジロはただの金食い虫だし、子供生まれたばかりだし。
0746デフォルトの名無しさん
2005/08/22(月) 04:10:47つか、彼には一生働かずとも食っていけるだけの大金があるわけで。
具体的な金額は知らんけどね。
それに、
ttp://money.cnn.com/2004/09/08/commentary/game_over/column_gaming/index.htm
民間宇宙産業は金のなる木だとも言ってるから、
ゲーム業界辞めてもロケットに集中すればまだまだ儲けられると考えているようだし。
0747デフォルトの名無しさん
2005/08/23(火) 07:06:380748デフォルトの名無しさん
2005/08/23(火) 10:50:360749デフォルトの名無しさん
2005/08/23(火) 11:58:32みんな分かってることを、そんなにムキになって言わなくたって……。
0750デフォルトの名無しさん
2005/08/23(火) 17:55:41$ make linux
と入力したところ、以下のようなエラーがでてコンパイルできませんでした。
どのような原因が考えられるでしょうか?アドバイスよろしくお願いします。
make[4]: *** [drivers/x11/glxapi.o] エラー 1
make[4]: ディレクトリ `/home/download/Mesa-6.3.2/src/mesa' から出ます
make[3]: *** [default] エラー 2
make[3]: ディレクトリ `/home/download/Mesa-6.3.2/src/mesa' から出ます
make[2]: *** [subdirs] エラー 1
make[2]: ディレクトリ `/home/download/Mesa-6.3.2/src' から出ます
make[1]: *** [default] エラー 1
make[1]: ディレクトリ `/home/download/Mesa-6.3.2' から出ます
make: *** [linux] エラー 2
0751デフォルトの名無しさん
2005/08/23(火) 19:31:540752デフォルトの名無しさん
2005/08/23(火) 19:59:04そんなところを引用されても困る。
ただインストールしたいだけなら別の板に行った方がいい。
0753750
2005/08/23(火) 20:02:090754デフォルトの名無しさん
2005/08/23(火) 23:24:44アホみたいにまじめに物理演算するよりも安価に構築できるゲームエンジンの素晴らしさを
思い知れこの豚野郎。
SIGGRAPHでもゲームエンジンが注目されてるつーのに時代錯誤とは何だ。あーん?
テメーは未来からきた豚型ロボットかこのやろう!
ファック!
■ このスレッドは過去ログ倉庫に格納されています