OpenGL 2.0 専用スレ

2005/09/09(金) 21:25:59
OpenGL 2.0 専用スレ。

ここでは、OpenGL の猛者のみが生き残る―――
2005/12/04(日) 02:14:13
DirectXのHLSLも同じくアセンブラにコンパイルして使ったほうがいいな。
183デフォルトの名無しさん
垢版 |
2005/12/04(日) 13:45:30
>>179
>>180
まじで? CgがそうだってことはHLSLも?
GLSLはどうなんだろう・・・。
184デフォルトの名無しさん
垢版 |
2005/12/04(日) 14:26:42
GLSLはよく知らないけど、CgやHLSLはアセンブラの知識が必須。
特にピクセルシェーダ1.x系列の場合は。

シェーダを書くときは一度コンパイル結果をアセンブラに落として
中身を確認した方がいい。特に従属テクスチャ命令なんかは命令の
制限が解ってないと、きちんとアセンブラの命令に落ちてくれない。

まあ、ピクセルシェーダ2.x以降は適当に書いててもコンパイル
できちゃうんだけどね。それはそれでまずいんだけど。
2005/12/04(日) 15:25:47
GLSLはループ回してる時に動的分岐入れるとまずコンパイルできない。
いや、コンパイルはできるんだがリンクできない。
「ループ時にブランチするな」とはどこにも書いてないので、恐らくコンパイラのバグなんだろう。
(ちなみにnVIDIAのCgコンパイラ経由)

かと言ってARB_vertex/fragment_programはループもブランチも実装されてないから
アセンブラでチマチマ書こうにも書けない。

結局、ベンダがコンパイラの質を上げてくれるのを待つしかない。
186デフォルトの名無しさん
垢版 |
2005/12/04(日) 16:14:40
川瀬氏が今Cgいろいろやってるが、苦労してるようだ
2005/12/04(日) 16:17:14
投稿日 11月22日(火)04時29分 投稿者 Masa 削除

参照しているプログラムどころか、
使っている/いないに全く関係無しに、
エフェクト内の全ての uniform 変数は
エフェクト内の全てのプログラムに
連結されているみたいです。

結果、全く使われない無駄な連結が何百とあったので、
それを cgDisconnectParameter するだけでも
テストプログラム全体の速度が倍以上速くなりました。



ありえない…。
2005/12/04(日) 16:33:31
>>180はCgFXの話だよね?
>>185 GLSLじゃないけど、CgのFP40プロファイルとかはどうだろう。一応ループはコンパイル通って動いたよ。
NVIDIAのボードじゃないと動かないかもしれないけど
2005/12/04(日) 17:01:45
つーかPCもビデオカードなんて捨ててGPUコアをCPUみたく直接M/Bに乗せるアーキテクチャにするべき。
で、広帯域のメモリをCPU/GPUで共有。勿論、各種バッファ(頂点、フレーム、ステンシルetc)にCPU側からアクセス可能、と。

正直RTVBなんかやってられないわけですよ。
2005/12/04(日) 17:04:54
まぁ、Shader1.x世代のコードを書いてた人にはHLSLはちょっとアレかも
知れないが実際には意外と予想した通りのコードを吐き出してくれる。
どのみちペアリング実行とかテクスチャレイテンシーは仕様制定されて
ないから中間コードをドライバが最適化してくれるのを期待するしかないしね。

つか同じボードで同じ処理をしてもGLSLの方が2〜3割減ぐらいでパフォーマンス
出ない。特に動的/静的分岐周りは意味不明なパフォーマンスになる。
FBOのバインドにはms単位でコストかかるし、本当にこれでゲーム作れるのか…
と疑問に思うよ。

セガのアーケードボードはLinux+OpenGL2.0なんだっけ?バーチャ5とか凄い映像
なんだけどやっぱドライバとか専用にカスタマイズしてもらってるんだろうね。いいなぁ。
2005/12/04(日) 17:21:56
>>190
>GLSLの方が2〜3割減ぐらいでパフォーマンス出ない

頂点の描画方法に問題があるかと
OpenGLはIMだとドライバのオーバーヘッドありまくりで激遅
DLも結局ドライバ内部で命令のスイッチが起こるのでVBOが最適
192デフォルトの名無しさん
垢版 |
2005/12/04(日) 17:27:06
うはwいつのまにかOpenGL2.0専用スレらしくなってるw
193デフォルトの名無しさん
垢版 |
2005/12/04(日) 19:39:45
なんでもそうだが、コンパイラ任せでそのまんま
ってのはダメだ
2005/12/04(日) 20:02:41
う〜ん、でもコンパイラトリッキーなコードはそれはそれで問題だからなぁ。

>>191

 OpenGL(というかNVIDIAドライバ)はOpenGLになると急に頂点能力落ちるね。
ハードで効率よく扱える頂点ストリームに特定の法則があるっぽいんだが意味不明。
2005/12/04(日) 20:13:51
Lockかけてもだめなものなの?
2005/12/04(日) 20:32:05
uniform変数の連結ポリシーもそうなんだけど、
そこら辺何も言わないしどこにも書いてないから困る

書かれてあれば、自分でディスパッチしたり切断したりできるのに
2005/12/04(日) 22:05:38
>>194
VBO使えば、1つのバッファ・1つのデータ配列で頂点も法線もUVもカラーもマルチUVも一挙に流し込めるからマジお奨め。
しかもそのデータ配列の構造も自由に構成できるから(例えばGL_FLOATの頂点3/UV2/法線2)柔軟性が非常に高い。

まぁ、DirectXは知らんが。
198197
垢版 |
2005/12/04(日) 22:06:53
法線3ですた。
2005/12/04(日) 22:17:23
ていうか商用のOpenGLゲームでアニメーションをどのように描画しているのか
激しく謎なんだけど誰かknow-how知りませんかね?

やっぱglDrawElementsでバッチしてるんだろうか。
しかし頂点座標はボーンの計算後に生成されるわけだしなぁ…。
2005/12/04(日) 22:28:15
>>199
glLockArraysEXTやってなければ大丈夫なんじゃないか?
2005/12/05(月) 01:08:38
>199
GPUかCPUのどっちか暇そうなほうにやらせる。
GPUでやる場合は頂点シェーダ。
CPUでやる場合は描画前に頂点座標を計算してバッファに貯めとく。
2005/12/05(月) 01:11:18
DirectXだと頂点シェーダをCPUで実行させるのが簡単なんだよね。
正直言ってこの機能だけはうらやましい。
2005/12/05(月) 01:25:31
>>201
うーん、やっぱ動的に計算する時は頂点シェーダでスキニングってことになるのか。
2005/12/05(月) 01:28:08
>川瀬氏が今Cgいろいろやってるが、苦労してるようだ

何をいまさらって書き込みだよな。
Cgが遅いなんて使ってみればすぐ気づくだろうに。
俺はレジスタ256個分を変数で予約したら劇的に遅くなって気づいた。
2005/12/05(月) 01:38:26
Cgが遅いんじゃなくてCgFXの話ですよね?
CgFXって誰も使ってないっぽい
cgGetFirstTechniqueをググって3hitだし...
今自分もCgからCgFXにするかGLSLにするか悩み中。
2005/12/05(月) 01:38:55
>204
PS3のゲーム開発でCgやる必要が出てきたとか。
でも今はシリコンスタジオ勤務らしいからそれはないか。

つか個人的には早くGeometry Shaderでウハウハしたいんだが
きっとOpenGLだとベンダ拡張で出るだけで標準になるには1年以上かかるだろうな・・・。

ところでOpenGL2.1っていつ出るの?
2005/12/05(月) 02:07:03
PS3だからってCg使わなくてもいいだろ。
コンパイルだけさせてレジスタへのパラメータ設定は
ARBの命令使えばいいし。
GLSLも遅いみたいだしそうしたほうが良くね?
208デフォルトの名無しさん
垢版 |
2005/12/05(月) 12:40:57
NVIDIAもわからんところだ。
あれだけ、シェーダのスペシャリスト中のスペシャリストばかり揃ってて
なんでこんな仕様&コンパイラになるんだ。
2005/12/05(月) 13:42:54
だから Cg はコンパイラとして使って、アセンブラで埋め込めって。
ライブラリの出来が悪いのはCgFXがマイクロソフトと共同開発だから。
2005/12/05(月) 21:13:45
>>208
まーく・じぇい・きるがーど先生のフォースが衰えてきてるから。
2005/12/05(月) 22:03:32
>>205
CgFXとGLSLを同列に語るのはおかしいんじゃないか?
CgFXはエフェクトファイルだからあえて比べるならAshliか。
Ashliは使ったことはないがな。

CgFXは遅い上に使い勝手も微妙だから自作した方が早いかも。
2005/12/05(月) 22:53:02
ちゅうか、おまえらCg以外にネタないんですかね?
あんましOpenGL2.0とも関係ないし。
2005/12/05(月) 23:30:24
実はマイクロソフトもDirectXのEffectクラスの使用は推奨してない。
ConstantTableなんて最近付いたがおかしいと思ったろ?
シェーダー言語はコンパイルだけして自分でシェーダーを扱う
ヘルパークラスを作ったほうが無難。
うまく行けばOpenGLとDirectXで共通に使える自分クラスが出来て便利。
フレームレートも大幅に向上する可能性あり。
2005/12/06(火) 00:35:36
MSはEffectクラスの利用を推奨してますがな。
んだからConstantTableとか拡張してんだよ。

 GL2.0にもEffectファイルのレイヤーを実装するとか
予定には上がってたんだけど最近聞かないな…。だめぽ。
2005/12/06(火) 01:29:04
ID3DXEffectCompiler::CompileShaderを使ってシェーダーをコンパイルして
その時にConstantTableを受け取るんだそ。これやる時点でEffectクラス
なんざ使用しませんが?おれ何か間違えてる?
2005/12/06(火) 01:47:17
あってしかるべき機能を追加しただけなんじゃ・・・
2005/12/06(火) 02:25:52
コンパイル後のシェーダーに名前でデータセットするには
ConstantTableのようなクラスが足りなかったしね。
これでHLSLを使いつつもEffectクラスを使わずに済む。
2005/12/06(火) 08:41:29
で、OpenGL2.0の話題は?
2005/12/06(火) 16:26:28
uniform int numLights;
for (int i=0; i<numLights; ++i)

これでリンク通らんのは仕様ですかそうですか。

プログラマブルなんて上っ面だけで実際は描画前にガチガチに固めた
ある種の固定機能じゃねーかこの野郎。
2005/12/06(火) 16:50:17
またずいぶんな低脳が沸いてきたな。
汎用CPUと同じことが全部GPUでできるならCPUいらないよ。w
2005/12/06(火) 20:25:24
まぁ見るからに釣りなわけだが
2005/12/07(水) 01:41:07
自分で低脳と評する相手に反応するなんて
俺には恥ずかしくてできない。
2005/12/07(水) 01:57:00
PS3だとCgなんて使わずに全部CELLでやるんだろうな。
スキニングとかシェーダーじゃつらいし、FSAAとかもSPEがやるとか
言うらしいし。Cgが遅いとかいう問題も関係無いだろうね。
2005/12/07(水) 02:04:19
なんのこっちゃか。
2005/12/07(水) 21:56:59
どうせならもう少しマシな釣りをお願いしたい
226デフォルトの名無しさん
垢版 |
2005/12/09(金) 20:11:31
>>223
テッセレーションとか、一部の処理はCELL側でやる可能性はあるだろうね。
でもGPUシェーダーで十分できる範囲の事はやっぱGPUでやった方がよくね?
空いたSPE他の事に回せるし。
2005/12/10(土) 01:07:24
スキニングはシェーダーに積めるマトリクスに限界があるから
確かにSPEがいいかも。AAはHDRバッファだと掛けられないので
MGS4はSPEでやるらしいね。
2005/12/10(土) 01:49:47
XBOX360ではシェーダーをCPUコードとGPUコードの両方でコンパイル出切るらしいが
まぁ当然SPEはカリカリハンドチューニングなんだろうね。大変だ。
2005/12/12(月) 00:10:59
いまどき全角英数字使ってる奴なんて久しぶりに見たわ

いい加減、恥ずかしくねーの?

ていうか全角英数字キモイよキモイよ
2005/12/12(月) 00:21:34
はい次。
2005/12/12(月) 00:35:11
俺の経験からすると全角英数字使ってる奴は間違いなく頭の弱い馬鹿。
全角数字はスタイルが醜い。そして無駄が多い。

OpenGL Shading Language

OpenGL Shading Language

明らかに後者の方が格段に美しく、かつ、スマート。
1byteで表示出来るもんをわざわざ2byteで書くその神経が信じられない。

否、信じたくもない。
2005/12/12(月) 05:55:51
俺の経験からすると全角カタカナ使ってる奴は間違いなく頭の弱い馬鹿。
全角カタカナはスタイルが醜い。そして無駄が多い。

カスどもがwwwww

カスどもがwwwww

明らかに後者の方が格段に美しく、かつ、スマート。
1byteで表示出来るもんをわざわざ2byteで書くその神経が信じられない。

否、信じたくもない。
2005/12/12(月) 07:28:07
コンピュータといえばWindowsしか知らない精神的視野狭窄
2005/12/12(月) 20:47:08
>>232
ニホンザルお得意のパクリ、すなわち、二番煎じかwww
2005/12/13(火) 01:17:22
さすがに猿だけあって猿真似がお上手なこと
2005/12/13(火) 01:43:05
だからいつも言ってるだろ。全角の方が美しい環境もあるって。
Windowsしか知らんのか。このパソコン素人が。
「俺の経験からすると」ってのが痛々しいぜ。
2005/12/13(火) 01:46:24
半角片仮名と全角英数字は日本の規格屋の恥だと思う。
要するにフォントの指定を文字コードに入れてしまったという先見性のなさ。
2005/12/13(火) 16:24:17
WindowsもLinuxもMacも使用してますが何か。
ていうかプログラミングはもっぱらLinux上ですが何か。

少なくとも「全角英数字の方が美しい環境」なんてもんは
日本語環境に特化された日本でしか通用しない日本語のWebしか見ない視野の狭い日本人向けの
非グロォーバァル・ステェンダァードォな環境ってこった。

自分の環境では全角が美しい→全角にこだわる→(プッ何こいつ全角使ってやがるw)

まさに自分しか見えない超視野狭窄のオナニストだなw
2005/12/13(火) 16:25:51
とりあえず、オナニストはさっさと童貞捨てて世界を知れw
2005/12/13(火) 16:57:18
なんだよもうちょっと遊べる奴かと思ったのに全然面白くないや
相手して損した
2005/12/13(火) 21:12:02
おまえらネタはいいからOpenGL2.0の話題を出せ
242デフォルトの名無しさん
垢版 |
2005/12/15(木) 01:49:48
OpenGL|ES系の話はここでしちゃだめ?
2005/12/15(木) 01:57:00
>>238
自分の価値観を絶対として他人をこき下ろす。
お前ともだち少ないだろ?
2005/12/15(木) 02:09:03
ス急低参
2005/12/15(木) 02:17:57
>>242
少なくとも全角半角の話題よりはこのスレにふさわしい。
つまり全く問題ない。
2005/12/15(木) 03:05:24
>>232
うまいね。

>>238
日本語環境ですが何か?
2005/12/15(木) 03:58:17
DirectXの進化と比べると悲しくなってくるな。やっぱ金の賭け方が半端に違うからなぁ。
クロスプラットフォームというDirectXにはあり得ない利点があるのが唯一の支えだな。
2005/12/15(木) 15:56:05
かつてOpenGLで名を馳せたあの人やあの人、さらにはあの人・あの人までもが
続々とDirectXに移行している(あるいは移行予定)という事実。
先見性のないお前らはいつまでOpenGLなんて使ってるんでしょうね。
2005/12/15(木) 17:45:24
>>248
そんなこと言ってる暇があったらLinux版とMacOS版のDirectXを作ってくれ。
2005/12/15(木) 18:08:59
>>248
その4人は誰か書けよー嘘くせー
と煽る
2005/12/15(木) 19:20:57
そもそも、他人は関係ないだろ。
252デフォルトの名無しさん
垢版 |
2005/12/15(木) 22:11:21
>>251
今251が良いこと言った
253248
垢版 |
2005/12/16(金) 00:19:44
今日の収穫:

 4匹 サイズ小
2005/12/16(金) 02:09:06
あー、釣れたとか言うのと同じ負け犬の遠吠えですな。
気は済んだかい?
255248
垢版 |
2005/12/16(金) 04:01:54
しょうがない、以下知的なウィットを理解できないバカのための解説。

>>248で「OpenGLの識者たちがDirectXへ軒並み移行」というネタをでっち上げる
  ↓
そこで一言:「先見性のないお前らはいつまでOpenGLなんて使ってるんでしょうね」
  ↓
見事に劣等感を刺激されたバカたちが早々に脊髄反射。

権威主義の日本人の弱点を巧みに突いた俺の明らかな圧勝。
バカは「負け犬の遠吠え」ときたもんだ。あっぱれ。
2005/12/16(金) 09:30:22
海外フォーラムではD3D10で沸き立つところに
OpenGL勢が茶々を入れるという図式になっております。
2005/12/16(金) 12:14:10
OpenGLってオレオレ・グレート・ライブラリに改名したほうがいいと思う
2005/12/17(土) 02:10:34
Dx10のシェーダーのレジスタ数がはんぱじゃないほど増設されてる。
なんかまったくの別物になった。Dx9やOpenGLと親和性は無いかもな。
2005/12/18(日) 14:14:27
FBOマジ糞。バックバッファからのコピーの方が速いとかマジ氏ね。
何がRTTだと。コピー挟む方が直接RTTするより速いってどーなっとんねん。
しかもカラーバッファとデプスバッファの同時RTTもできねーし。
こりゃpbufferのコンテキストスイッチ地獄よりも最悪だわ。

さ〜て、わいは今のうちからD3D10に乗り換える準備するで。
2005/12/18(日) 14:56:51
>>259
どの環境か詳しく
2005/12/18(日) 15:48:41
新しいhumusさんのデモ、すごいね。トータルなデモになってる
2005/12/18(日) 17:40:25
あの程度で驚いて、しかも自分でも作れない>>261は明らかにGL2.0の猛者では無いので
然るべきスレに行こうね。
~~~~~~~~~~~~
2005/12/18(日) 21:41:01
いや、あのレベルのものを自分で作れる奴なんて元からこのスレにいないだろwww
2005/12/19(月) 04:49:35
てかDirectXと比較して使ってる奴なんているの?Windows上で使ってる奴なんていないやね?
OpenGLの魅力はOpenでクロスプラットフォームなところでDirectXと比較するような話じゃねぇし。
2005/12/19(月) 08:55:36
> OpenGLの魅力はOpenでクロスプラットフォーム

ダウト
2005/12/19(月) 15:56:06
>>259
それは多分早期Zカリング(NVIDAではHyper Z)が効いて無い
んだと思うよ。一部のFBOの組み合わせでは何故か効かなくなる
傾向がある。法則は不明。マジウンコ。

まぁGL2.0のドライバは本当にクズなので最新技術を追いたいのなら
DX10に移行する方が賢いかも。少なくともリファレンスラスタライザ
のお陰でドライババグの洗い出しは楽。

 あのテキストオンリーの読みにくい仕様書からも逃れられるし。
2005/12/20(火) 16:16:34
クロスプラットフォームなんて所詮は戯言ですよ。

PCに限って言えば、本職でUNIX系OSでOpenGL使ってる人なんて極少数だし
NVやらATIのLinuxドライバは怠慢な香りがプンプンしてるし(もちろんソース非公開)
GPUの最大の使用用途である3Dゲームの大半はWindows向けだし
OpenGLの最大の利点だったプログラミングのし易さも拡張だらけでもはやカオスの域に突入した感もあるし
Windows VistaではDirectXの尻に敷かれる(レイヤが挟む)し。

とりあえずハードベンダーはLinuxドライバをオープンソースにして
GPUネイティブのコードまで開発者がタッチできるようにするべき。
そうすれば3Dに極限まで特化したLinux3Dとかでリソース喰いまくりのWindowsと差別化できるのに。
2005/12/20(火) 16:57:47
つーか、Direct3D10がWindowsVistaオンリーってアホとしか思えない。
しかもVista以後はWindowsXPのサポートも早々に打ち切り。

M$、終わったな。

誰もウィンドウが無駄にピョンピョン跳ね回る重いだけのOSなんて欲してない。
次世代PCゲームがVistaでしか動かないとなれば、単にゲーマーの割れを助長するだけ。
2005/12/20(火) 17:02:37
>>268
俺も今まで何度か「MS終わったな」と思ったが、そのたびに裏切られてきた。orz
2005/12/20(火) 17:03:05
ワロス
2005/12/20(火) 17:04:34
>>268
>次世代PCゲームがVistaでしか動かない
ソースは?
どう読んでも開発環境の話にしか見えんのだが
コントローラの話か?
2005/12/20(火) 22:17:27
わざわざソース持って来るまでもないっつーか、
そういう根本的なことすら知らないっつー事実に驚愕。

おめでてーよな。正直。
2005/12/20(火) 22:37:06
なんだかんだ煽ってソースを出さない手法はもう古いと思われ
2005/12/20(火) 23:58:09
なし崩し的にXPでもD3D10がサポートされるに1票。
そんな無理やりな変革なんて通用せんと思うねえ。
しかし今年後半からゲームベンダー側がWin2kをインストーラで弾くものが多くなった。
2kとXPの違いなんて一部フォントの扱いだけじゃねえかウワァァン。
2005/12/21(水) 00:43:48
>>259
環境の問題だろ。
Windows上でGF6800使ってる分には問題無く使えてるぞ。
コピーとどっちが速いかは調べてないが、そんなに遅いと思ったことはない。
カラーバッファとデプスバッファの同時RTTも出来てたはず。

どっちにしろドライバが腐ってたらDirectXでも同じだと思うんだが。
DirectXは使ってないんでよく知らんけどね。
2005/12/21(水) 01:39:46
32bitテクスチャにフィルタ掛けると糞重。当然だけど
2005/12/21(水) 02:03:40
むかしspinにXPでもWGF出るかもって書いてあった気がするけど
それならXPにDX10出る可能性も残ってる。
2005/12/21(水) 02:33:23
お前らって普通に白痴なんだな。
いや、素で釣りだと思ってるほどおめでたい奴らだったとは想定の範囲外。

とりあえず、お前ら情報収集範囲が恐ろしく狭過ぎるよ。もっと世界に目を向けた方がいい。
ttp://www.gamedev.net/reference/programming/features/d3d10overview/
2005/12/21(水) 02:44:06
なんつーか、日本のOpenGL界隈のレベルの低さを改めて実感してゲンナリだよ。
2005/12/21(水) 04:21:32
>>278
誰か翻訳してないの?
2005/12/21(水) 09:22:11
>>275
ちうか、DirectXとクロス環境作って開発してるんだが何かにつけてOpenGLの方が
遅いな。モノによっては2〜3倍近く遅くなる。まぁ組み方が悪いところもあるんだろうが
最適化のヒントがほぼ皆無で試行錯誤で探るしかないってのも素敵。

あと、明らかにドライバ内でメモリリークしてたりとかお話にならない所も多いなぁ。
2005/12/21(水) 14:01:22
コンパイル時にこんなエラーが出たんだけど
Error: 'C:\PROG\GLUT32.LIB' contains invalid OMF record
, type 0x21 (possibly COFF)
どういう意味?
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況