OpenGL 2.0 専用スレ。
ここでは、OpenGL の猛者のみが生き残る―――
探検
OpenGL 2.0 専用スレ
2005/09/09(金) 21:25:59
122デフォルトの名無しさん
2005/11/05(土) 11:37:28 そか。その程度の所しか触ってないならそれはそれで幸せだと思うぞ。
123デフォルトの名無しさん
2005/11/05(土) 11:56:03 人間楽な道に行くとバカなことしか言わなくなるし
ロクなこともできない
ロクなこともできない
124デフォルトの名無しさん
2005/11/05(土) 11:58:12 貧乏人って苦労してるからどんどんバカじゃなくなっていくね
じっと手をみる
じっと手をみる
125デフォルトの名無しさん
2005/11/05(土) 14:23:18 カーマックがDXボーイだったら、多分今頃落ちぶれてたであろう。
126デフォルトの名無しさん
2005/11/06(日) 00:45:31 結局のところGLは実装依存になってるんだよなぁ
DXと何が違うのやら
DXと何が違うのやら
127デフォルトの名無しさん
2005/11/06(日) 01:09:19 DXが使える環境の人はそれを使えばいいだけ
128デフォルトの名無しさん
2005/11/07(月) 21:50:15 こっちのスレまで不毛な論争が入ってきたな。
どうなろうがここはOpenGL関連のスレなんだからOpenGLの価値否定ばっかしてもしょうがないだろ。
実際の2.0関連の話を粛々とすればいいんじゃないの?
どうなろうがここはOpenGL関連のスレなんだからOpenGLの価値否定ばっかしてもしょうがないだろ。
実際の2.0関連の話を粛々とすればいいんじゃないの?
129デフォルトの名無しさん
2005/11/07(月) 23:28:17 粛々とする対象の話がない。
できるレベルに達している人が集まってない。
できるレベルに達している人が集まってない。
130デフォルトの名無しさん
2005/11/08(火) 09:27:10 価値否定も何も事実を述べてるまでじゃん
131デフォルトの名無しさん
2005/11/08(火) 12:56:34 でも、DirectXの話ははっきり言ってうざいだけ。
どうしてもやるならOpenGL vs DirectXみたいなスレでも立てて
そちらへ隔離してほしい。
どうしてもやるならOpenGL vs DirectXみたいなスレでも立てて
そちらへ隔離してほしい。
132デフォルトの名無しさん
2005/11/08(火) 13:04:15133デフォルトの名無しさん
2005/11/09(水) 01:35:15 OpenGL2.0の達人の方々に質問です。
FBOに対してFSAAをかける方法解る人いますか?
拡張命令を目を皿にして眺めてもよくわかんなかったれす。
FBOに対してFSAAをかける方法解る人いますか?
拡張命令を目を皿にして眺めてもよくわかんなかったれす。
134デフォルトの名無しさん
2005/11/09(水) 02:48:50 >>133
EXT_framebuffer_object の Issues 41 は読んだ?
EXT_framebuffer_object の Issues 41 は読んだ?
135デフォルトの名無しさん
2005/11/09(水) 15:13:48 久しぶりに来てみたら。なんだ。お前らまだOpenGLなんかやってやがる。
ダメじゃん。全然未来が見えてないジャン。
やっていることは。種子島の鉄砲伝来以来。変わってないジャン。
ま。そういう民族ってことなんだろうけど。
お前らには悪いが。私は一足お先に未来へと行かせてもらうよ。
ダメじゃん。全然未来が見えてないジャン。
やっていることは。種子島の鉄砲伝来以来。変わってないジャン。
ま。そういう民族ってことなんだろうけど。
お前らには悪いが。私は一足お先に未来へと行かせてもらうよ。
136デフォルトの名無しさん
2005/11/09(水) 15:52:35 >>135
両方のスレへコピペご苦労。はやく未来とやらに逝ってください。
両方のスレへコピペご苦労。はやく未来とやらに逝ってください。
137デフォルトの名無しさん
2005/11/09(水) 16:32:12 コピペをコピペであると指摘するのはアホ
コピペにマジスレするのが知識人
コピペにマジスレするのが知識人
138デフォルトの名無しさん
2005/11/09(水) 16:34:19 マジスレ
139デフォルトの名無しさん
2005/11/09(水) 16:45:06 スジマン
140デフォルトの名無しさん
2005/11/09(水) 16:46:09 ジンマシン
141デフォルトの名無しさん
2005/11/09(水) 16:48:07 マンマシンインターフェース
142デフォルトの名無しさん
2005/11/09(水) 16:59:47 マンコマシンイヤンフェラチオ
143デフォルトの名無しさん
2005/11/09(水) 17:03:07 ママノマンコペロペロ
144デフォルトの名無しさん
2005/11/09(水) 17:06:11 ペペロンチーノマンマミーヤ
145デフォルトの名無しさん
2005/11/09(水) 18:53:22 ペロペロチロチロマンマンヌレヌレ
146デフォルトの名無しさん
2005/11/09(水) 18:55:46 最後の希望、OpenGL2.0専用スレも、もはや死に体同然だな。
147デフォルトの名無しさん
2005/11/09(水) 23:07:07148デフォルトの名無しさん
2005/11/10(木) 00:42:30149デフォルトの名無しさん
2005/11/10(木) 00:56:25 >>148
一言で言えば「まだできない」だと思う。各ベンダの独自拡張までは調べてないけど。
一言で言えば「まだできない」だと思う。各ベンダの独自拡張までは調べてないけど。
150デフォルトの名無しさん
2005/11/10(木) 01:18:58 >>149
マジカ!折角pbufferの呪縛から逃れて新たにFBOで仕切りなおしかと思いきや
FSAAで拡張地獄に付き合わなきゃあかんのか。DX Boyがシャカリキになるのも
うなづけるってもんだ。
ってか、GLスレでちゃんとレス貰えると思わなかった。サンクス。
マジカ!折角pbufferの呪縛から逃れて新たにFBOで仕切りなおしかと思いきや
FSAAで拡張地獄に付き合わなきゃあかんのか。DX Boyがシャカリキになるのも
うなづけるってもんだ。
ってか、GLスレでちゃんとレス貰えると思わなかった。サンクス。
151デフォルトの名無しさん
2005/11/10(木) 09:45:35 JavaのJOGLならpbufferの違いを隠蔽してくれるみたいだぞ
152デフォルトの名無しさん
2005/11/25(金) 16:45:49 GLSLでマルチテクスチャができねぇ
フラグメントシェーダで二つ目のテクスチャがサンプリングされない
つーか全てのレンダリングステートを意識するのが疲れる
glActiveTextureARB( GL_TEXTURE0_ARB ) / glActiveTextureARB( GL_TEXTURE1_ARB )とか
glEnable( GL_TEXTURE_2D ) / glDisable( GL_TEXTURE_2D )とか
BindTextureとか
とかいつどの順番でどう呼べばいいのかわからんボケ(`')
フラグメントシェーダで二つ目のテクスチャがサンプリングされない
つーか全てのレンダリングステートを意識するのが疲れる
glActiveTextureARB( GL_TEXTURE0_ARB ) / glActiveTextureARB( GL_TEXTURE1_ARB )とか
glEnable( GL_TEXTURE_2D ) / glDisable( GL_TEXTURE_2D )とか
BindTextureとか
とかいつどの順番でどう呼べばいいのかわからんボケ(`')
153デフォルトの名無しさん
2005/11/25(金) 22:11:27 GLSL
uniform sampler2D tex0, tex1;
↓
glUniform1i(glGetUniformLocation(prog, "tex"), 1); // GL_TEXTURE1
↓
glActiveTexture( GL_TEXTURE1)の後、glBindTexture
GLSLの時、glEnable/glDisableいらない(かも
↓
寝る
uniform sampler2D tex0, tex1;
↓
glUniform1i(glGetUniformLocation(prog, "tex"), 1); // GL_TEXTURE1
↓
glActiveTexture( GL_TEXTURE1)の後、glBindTexture
GLSLの時、glEnable/glDisableいらない(かも
↓
寝る
154152
2005/11/25(金) 23:46:18 くそっできねー
>>153
寝ないでくれ。
そんな感じでやってるのだがやっぱりダメできない。
テクスチャの読み込み時にもglActiveTextureARBは必要なのだろうか。どっちにしろできなかったけど。
VBO使ってるのは関係あるんかな。
今環境マッピングやってて、一つ目のテクスチャUVはVBOで、二つ目のテクスチャUVはフラグメントシェーダ中で計算してるのだけど。
今から非VBOでやってみる。
GLSL+マルチテクスチャできた人でつまづいたところとかあったら教えてくで。
>>153
寝ないでくれ。
そんな感じでやってるのだがやっぱりダメできない。
テクスチャの読み込み時にもglActiveTextureARBは必要なのだろうか。どっちにしろできなかったけど。
VBO使ってるのは関係あるんかな。
今環境マッピングやってて、一つ目のテクスチャUVはVBOで、二つ目のテクスチャUVはフラグメントシェーダ中で計算してるのだけど。
今から非VBOでやってみる。
GLSL+マルチテクスチャできた人でつまづいたところとかあったら教えてくで。
155デフォルトの名無しさん
2005/11/25(金) 23:59:26 http://marina.sys.wakayama-u.ac.jp/~tokoi/?date=20051008
156デフォルトの名無しさん
2005/11/25(金) 23:59:32 >>154
テクスチャ読み込むときもバインド必要だよ。
読み込み
glBindTexture(...
gluBulid2DMipmaps(...
描画
glActiveTexture(...
glBindTexture(...
テクスチャ読み込むときもバインド必要だよ。
読み込み
glBindTexture(...
gluBulid2DMipmaps(...
描画
glActiveTexture(...
glBindTexture(...
157デフォルトの名無しさん
2005/11/26(土) 00:17:45 まず152はテクスチャフェッチとテクスチャユニットの関係から勉強するべき。
ていうか実際にシェーダ書く前にシェーダパイプラインの構造を勉強するべき。
そんなんやってらんねーよ、とか言うなら素直にDirectXに行くべき。
ていうか実際にシェーダ書く前にシェーダパイプラインの構造を勉強するべき。
そんなんやってらんねーよ、とか言うなら素直にDirectXに行くべき。
158152
2005/11/26(土) 00:29:27 非VBO(glMultiTexCoord2fARB)でもダメだった。一つ目のテクスチャしか表示されねぇ。
gl_FragColor = texture2DProj( tex1, gl_TexCoord[0] ) * texture2DProj( tex2, gl_TexCoord[1] );
>>155
そこは既に見ている、のだけど・・・
>>156
読み込み
glActiveTexture ←不要?
glGenTextures
glBindTexture
glTexImage2D
描画
glActiveTexture
glBindTexture
glTexParameteri
//ここで描画
>>157
了解、勉強してくる。たぶん中途半端な理解だから。
gl_FragColor = texture2DProj( tex1, gl_TexCoord[0] ) * texture2DProj( tex2, gl_TexCoord[1] );
>>155
そこは既に見ている、のだけど・・・
>>156
読み込み
glActiveTexture ←不要?
glGenTextures
glBindTexture
glTexImage2D
描画
glActiveTexture
glBindTexture
glTexParameteri
//ここで描画
>>157
了解、勉強してくる。たぶん中途半端な理解だから。
159デフォルトの名無しさん
2005/11/26(土) 01:25:48 UVがおかしいのかテクスチャがおかしいのかをはっきりさせろ。
ためしに、
gl_FragColor = texture2DProj( tex2, gl_TexCoord[0] );
とか、
gl_FragColor = texture2DProj( tex1, gl_TexCoord[1] );
とか、やってみろ。
ためしに、
gl_FragColor = texture2DProj( tex2, gl_TexCoord[0] );
とか、
gl_FragColor = texture2DProj( tex1, gl_TexCoord[1] );
とか、やってみろ。
160デフォルトの名無しさん
2005/11/26(土) 01:32:46 マジレスすると、
シェーダはテクスチャユニットからテクスチャをフェッチしてくるので
テクスチャユニットにテクスチャが何もバインドされていなければ
シェーダはテクスチャユニットからテクスチャをフェッチできない。
したがってシェーダでテクスチャをフェッチする場合は必ず
テクスチャユニットにテクスチャをバインドしてテクスチャユニットを
アクティブにしなければならない。
シェーダはテクスチャユニットからテクスチャをフェッチしてくるので
テクスチャユニットにテクスチャが何もバインドされていなければ
シェーダはテクスチャユニットからテクスチャをフェッチできない。
したがってシェーダでテクスチャをフェッチする場合は必ず
テクスチャユニットにテクスチャをバインドしてテクスチャユニットを
アクティブにしなければならない。
161デフォルトの名無しさん
2005/11/26(土) 01:40:28 マジレスすると、
シェーダはテクスチャをバインドしてテクスチャユニットから
テクスチャをテクスチャユニットにテクスチャがフェッチしてくるので
テクスチャユニットにテクスチャがテクスチャユニットをアクティブに
何もバインドされていなければテクスチャユニットからテクスチャをフェッチ
シェーダはテクスチャユニットからテクスチャをフェッチできない。
したがってテクスチャユニットにシェーダでテクスチャをフェッチする場合は必ず
テクスチャユニットにテクスチャユニットをアクティブにテクスチャをバインドして
テクスチャユニットをテクスチャユニットからテクスチャをテクスチャユニットに
テクスチャアクティブにしなければならない。
シェーダはテクスチャをバインドしてテクスチャユニットから
テクスチャをテクスチャユニットにテクスチャがフェッチしてくるので
テクスチャユニットにテクスチャがテクスチャユニットをアクティブに
何もバインドされていなければテクスチャユニットからテクスチャをフェッチ
シェーダはテクスチャユニットからテクスチャをフェッチできない。
したがってテクスチャユニットにシェーダでテクスチャをフェッチする場合は必ず
テクスチャユニットにテクスチャユニットをアクティブにテクスチャをバインドして
テクスチャユニットをテクスチャユニットからテクスチャをテクスチャユニットに
テクスチャアクティブにしなければならない。
162デフォルトの名無しさん
2005/11/26(土) 01:47:38 なんかテクテクスチャスチャうるさいなぁ
163デフォルトの名無しさん
2005/11/26(土) 01:56:02 正直こんなところでつまづくならDirectXのほうが理解が早いぞ。
DirectX10でまた色々強化されるし乗り換えておいたほうがいいんじゃね?
DirectX10でまた色々強化されるし乗り換えておいたほうがいいんじゃね?
164デフォルトの名無しさん
2005/11/26(土) 02:01:24 Windowsじゃないから。
165デフォルトの名無しさん
2005/11/26(土) 03:33:56 それで理解や習得に時間かかってちゃアホだよ。
166152
2005/11/26(土) 04:01:43 やっとできた!
glUseProgramObjectARBでハンドルを指定する前にglUniform1iARBしていたのが原因だったようだ。
読み込み時にglActiveTextureする必要はなかった。
同じUV値で>>159の方法で悩んだり、なんかどんどん小さいエンバグしていって、もうn
レスしてくれた人、一緒に考えてくれた人、ありがとう。
アホだけど、やっぱり好きです。
glUseProgramObjectARBでハンドルを指定する前にglUniform1iARBしていたのが原因だったようだ。
読み込み時にglActiveTextureする必要はなかった。
同じUV値で>>159の方法で悩んだり、なんかどんどん小さいエンバグしていって、もうn
レスしてくれた人、一緒に考えてくれた人、ありがとう。
アホだけど、やっぱり好きです。
167デフォルトの名無しさん
2005/11/26(土) 08:10:13 プログラミングなんて、所詮は経験ですよ。
168デフォルトの名無しさん
2005/11/27(日) 00:12:24 そうでもないよ
169デフォルトの名無しさん
2005/11/27(日) 00:13:06 経験は大事
170デフォルトの名無しさん
2005/11/27(日) 00:25:03 趣味pgですが2kなのでglでう。
171デフォルトの名無しさん
2005/11/27(日) 00:37:15172デフォルトの名無しさん
2005/11/27(日) 02:48:25 OpenGL2.0は圧縮テクスチャ使える?
173デフォルトの名無しさん
2005/11/27(日) 02:50:44 >>172
OpenGL 1.3以降なら標準機能だす。無論2.0でも使える。
OpenGL 1.3以降なら標準機能だす。無論2.0でも使える。
174デフォルトの名無しさん
2005/11/27(日) 18:15:13 Xbox360大盛況でどうみてもDirectXの圧勝です。
OpenGLは終了致しました。
ご声援ありがとうございました。
今後はDirectXをお使いください。
OpenGLは終了致しました。
ご声援ありがとうございました。
今後はDirectXをお使いください。
175デフォルトの名無しさん
2005/11/27(日) 19:40:07 それは自虐ネタにしか見えないんだが・・・w
176デフォルトの名無しさん
2005/11/27(日) 23:30:15 フリーズしまくる
177デフォルトの名無しさん
2005/11/27(日) 23:34:55 まだだ! まだ我々にはOpenGL2.1がある!!
178デフォルトの名無しさん
2005/11/30(水) 01:34:52 glUniform1iARBって言えば、俺もハマッた記憶あるな。1時間ぐらい悩んだ。
つか、DX-Boyの俺にはサンプラ変数にシェーダ内に値が持てないのがまず理解できない。
cgでもつかえって事か。
つか、DX-Boyの俺にはサンプラ変数にシェーダ内に値が持てないのがまず理解できない。
cgでもつかえって事か。
179デフォルトの名無しさん
2005/12/01(木) 06:58:22 CgはCgで色々ある
コンパイラに任せとくと実行速度が1/2になることも
コンパイラに任せとくと実行速度が1/2になることも
180デフォルトの名無しさん
2005/12/03(土) 02:18:43 Cgは遅いから気をつけろよ。
無駄な変数を定義せず無駄なセットをしないこと。
シェーダーが切り替わると共有変数とか関係なしに
全変数(未使用も含む)が再セットされるのでコストがでかい。
無駄な変数を定義せず無駄なセットをしないこと。
シェーダーが切り替わると共有変数とか関係なしに
全変数(未使用も含む)が再セットされるのでコストがでかい。
181デフォルトの名無しさん
2005/12/03(土) 14:20:24 Cg はライブラリは使わず、コンパイラとしてのみ使うのが吉だな。
182デフォルトの名無しさん
2005/12/04(日) 02:14:13 DirectXのHLSLも同じくアセンブラにコンパイルして使ったほうがいいな。
184デフォルトの名無しさん
2005/12/04(日) 14:26:42 GLSLはよく知らないけど、CgやHLSLはアセンブラの知識が必須。
特にピクセルシェーダ1.x系列の場合は。
シェーダを書くときは一度コンパイル結果をアセンブラに落として
中身を確認した方がいい。特に従属テクスチャ命令なんかは命令の
制限が解ってないと、きちんとアセンブラの命令に落ちてくれない。
まあ、ピクセルシェーダ2.x以降は適当に書いててもコンパイル
できちゃうんだけどね。それはそれでまずいんだけど。
特にピクセルシェーダ1.x系列の場合は。
シェーダを書くときは一度コンパイル結果をアセンブラに落として
中身を確認した方がいい。特に従属テクスチャ命令なんかは命令の
制限が解ってないと、きちんとアセンブラの命令に落ちてくれない。
まあ、ピクセルシェーダ2.x以降は適当に書いててもコンパイル
できちゃうんだけどね。それはそれでまずいんだけど。
185デフォルトの名無しさん
2005/12/04(日) 15:25:47 GLSLはループ回してる時に動的分岐入れるとまずコンパイルできない。
いや、コンパイルはできるんだがリンクできない。
「ループ時にブランチするな」とはどこにも書いてないので、恐らくコンパイラのバグなんだろう。
(ちなみにnVIDIAのCgコンパイラ経由)
かと言ってARB_vertex/fragment_programはループもブランチも実装されてないから
アセンブラでチマチマ書こうにも書けない。
結局、ベンダがコンパイラの質を上げてくれるのを待つしかない。
いや、コンパイルはできるんだがリンクできない。
「ループ時にブランチするな」とはどこにも書いてないので、恐らくコンパイラのバグなんだろう。
(ちなみにnVIDIAのCgコンパイラ経由)
かと言ってARB_vertex/fragment_programはループもブランチも実装されてないから
アセンブラでチマチマ書こうにも書けない。
結局、ベンダがコンパイラの質を上げてくれるのを待つしかない。
186デフォルトの名無しさん
2005/12/04(日) 16:14:40 川瀬氏が今Cgいろいろやってるが、苦労してるようだ
187デフォルトの名無しさん
2005/12/04(日) 16:17:14 投稿日 11月22日(火)04時29分 投稿者 Masa 削除
参照しているプログラムどころか、
使っている/いないに全く関係無しに、
エフェクト内の全ての uniform 変数は
エフェクト内の全てのプログラムに
連結されているみたいです。
結果、全く使われない無駄な連結が何百とあったので、
それを cgDisconnectParameter するだけでも
テストプログラム全体の速度が倍以上速くなりました。
…
ありえない…。
参照しているプログラムどころか、
使っている/いないに全く関係無しに、
エフェクト内の全ての uniform 変数は
エフェクト内の全てのプログラムに
連結されているみたいです。
結果、全く使われない無駄な連結が何百とあったので、
それを cgDisconnectParameter するだけでも
テストプログラム全体の速度が倍以上速くなりました。
…
ありえない…。
188デフォルトの名無しさん
2005/12/04(日) 16:33:31189デフォルトの名無しさん
2005/12/04(日) 17:01:45 つーかPCもビデオカードなんて捨ててGPUコアをCPUみたく直接M/Bに乗せるアーキテクチャにするべき。
で、広帯域のメモリをCPU/GPUで共有。勿論、各種バッファ(頂点、フレーム、ステンシルetc)にCPU側からアクセス可能、と。
正直RTVBなんかやってられないわけですよ。
で、広帯域のメモリをCPU/GPUで共有。勿論、各種バッファ(頂点、フレーム、ステンシルetc)にCPU側からアクセス可能、と。
正直RTVBなんかやってられないわけですよ。
190デフォルトの名無しさん
2005/12/04(日) 17:04:54 まぁ、Shader1.x世代のコードを書いてた人にはHLSLはちょっとアレかも
知れないが実際には意外と予想した通りのコードを吐き出してくれる。
どのみちペアリング実行とかテクスチャレイテンシーは仕様制定されて
ないから中間コードをドライバが最適化してくれるのを期待するしかないしね。
つか同じボードで同じ処理をしてもGLSLの方が2〜3割減ぐらいでパフォーマンス
出ない。特に動的/静的分岐周りは意味不明なパフォーマンスになる。
FBOのバインドにはms単位でコストかかるし、本当にこれでゲーム作れるのか…
と疑問に思うよ。
セガのアーケードボードはLinux+OpenGL2.0なんだっけ?バーチャ5とか凄い映像
なんだけどやっぱドライバとか専用にカスタマイズしてもらってるんだろうね。いいなぁ。
知れないが実際には意外と予想した通りのコードを吐き出してくれる。
どのみちペアリング実行とかテクスチャレイテンシーは仕様制定されて
ないから中間コードをドライバが最適化してくれるのを期待するしかないしね。
つか同じボードで同じ処理をしてもGLSLの方が2〜3割減ぐらいでパフォーマンス
出ない。特に動的/静的分岐周りは意味不明なパフォーマンスになる。
FBOのバインドにはms単位でコストかかるし、本当にこれでゲーム作れるのか…
と疑問に思うよ。
セガのアーケードボードはLinux+OpenGL2.0なんだっけ?バーチャ5とか凄い映像
なんだけどやっぱドライバとか専用にカスタマイズしてもらってるんだろうね。いいなぁ。
191デフォルトの名無しさん
2005/12/04(日) 17:21:56 >>190
>GLSLの方が2〜3割減ぐらいでパフォーマンス出ない
頂点の描画方法に問題があるかと
OpenGLはIMだとドライバのオーバーヘッドありまくりで激遅
DLも結局ドライバ内部で命令のスイッチが起こるのでVBOが最適
>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 なんでもそうだが、コンパイラ任せでそのまんま
ってのはダメだ
ってのはダメだ
194デフォルトの名無しさん
2005/12/04(日) 20:02:41 う〜ん、でもコンパイラトリッキーなコードはそれはそれで問題だからなぁ。
>>191
OpenGL(というかNVIDIAドライバ)はOpenGLになると急に頂点能力落ちるね。
ハードで効率よく扱える頂点ストリームに特定の法則があるっぽいんだが意味不明。
>>191
OpenGL(というかNVIDIAドライバ)はOpenGLになると急に頂点能力落ちるね。
ハードで効率よく扱える頂点ストリームに特定の法則があるっぽいんだが意味不明。
195デフォルトの名無しさん
2005/12/04(日) 20:13:51 Lockかけてもだめなものなの?
196デフォルトの名無しさん
2005/12/04(日) 20:32:05 uniform変数の連結ポリシーもそうなんだけど、
そこら辺何も言わないしどこにも書いてないから困る
書かれてあれば、自分でディスパッチしたり切断したりできるのに
そこら辺何も言わないしどこにも書いてないから困る
書かれてあれば、自分でディスパッチしたり切断したりできるのに
197デフォルトの名無しさん
2005/12/04(日) 22:05:38 >>194
VBO使えば、1つのバッファ・1つのデータ配列で頂点も法線もUVもカラーもマルチUVも一挙に流し込めるからマジお奨め。
しかもそのデータ配列の構造も自由に構成できるから(例えばGL_FLOATの頂点3/UV2/法線2)柔軟性が非常に高い。
まぁ、DirectXは知らんが。
VBO使えば、1つのバッファ・1つのデータ配列で頂点も法線もUVもカラーもマルチUVも一挙に流し込めるからマジお奨め。
しかもそのデータ配列の構造も自由に構成できるから(例えばGL_FLOATの頂点3/UV2/法線2)柔軟性が非常に高い。
まぁ、DirectXは知らんが。
198197
2005/12/04(日) 22:06:53 法線3ですた。
199デフォルトの名無しさん
2005/12/04(日) 22:17:23 ていうか商用のOpenGLゲームでアニメーションをどのように描画しているのか
激しく謎なんだけど誰かknow-how知りませんかね?
やっぱglDrawElementsでバッチしてるんだろうか。
しかし頂点座標はボーンの計算後に生成されるわけだしなぁ…。
激しく謎なんだけど誰かknow-how知りませんかね?
やっぱglDrawElementsでバッチしてるんだろうか。
しかし頂点座標はボーンの計算後に生成されるわけだしなぁ…。
200デフォルトの名無しさん
2005/12/04(日) 22:28:15 >>199
glLockArraysEXTやってなければ大丈夫なんじゃないか?
glLockArraysEXTやってなければ大丈夫なんじゃないか?
201デフォルトの名無しさん
2005/12/05(月) 01:08:38 >199
GPUかCPUのどっちか暇そうなほうにやらせる。
GPUでやる場合は頂点シェーダ。
CPUでやる場合は描画前に頂点座標を計算してバッファに貯めとく。
GPUかCPUのどっちか暇そうなほうにやらせる。
GPUでやる場合は頂点シェーダ。
CPUでやる場合は描画前に頂点座標を計算してバッファに貯めとく。
202デフォルトの名無しさん
2005/12/05(月) 01:11:18 DirectXだと頂点シェーダをCPUで実行させるのが簡単なんだよね。
正直言ってこの機能だけはうらやましい。
正直言ってこの機能だけはうらやましい。
203デフォルトの名無しさん
2005/12/05(月) 01:25:31 >>201
うーん、やっぱ動的に計算する時は頂点シェーダでスキニングってことになるのか。
うーん、やっぱ動的に計算する時は頂点シェーダでスキニングってことになるのか。
204デフォルトの名無しさん
2005/12/05(月) 01:28:08 >川瀬氏が今Cgいろいろやってるが、苦労してるようだ
何をいまさらって書き込みだよな。
Cgが遅いなんて使ってみればすぐ気づくだろうに。
俺はレジスタ256個分を変数で予約したら劇的に遅くなって気づいた。
何をいまさらって書き込みだよな。
Cgが遅いなんて使ってみればすぐ気づくだろうに。
俺はレジスタ256個分を変数で予約したら劇的に遅くなって気づいた。
205デフォルトの名無しさん
2005/12/05(月) 01:38:26 Cgが遅いんじゃなくてCgFXの話ですよね?
CgFXって誰も使ってないっぽい
cgGetFirstTechniqueをググって3hitだし...
今自分もCgからCgFXにするかGLSLにするか悩み中。
CgFXって誰も使ってないっぽい
cgGetFirstTechniqueをググって3hitだし...
今自分もCgからCgFXにするかGLSLにするか悩み中。
206デフォルトの名無しさん
2005/12/05(月) 01:38:55 >204
PS3のゲーム開発でCgやる必要が出てきたとか。
でも今はシリコンスタジオ勤務らしいからそれはないか。
つか個人的には早くGeometry Shaderでウハウハしたいんだが
きっとOpenGLだとベンダ拡張で出るだけで標準になるには1年以上かかるだろうな・・・。
ところでOpenGL2.1っていつ出るの?
PS3のゲーム開発でCgやる必要が出てきたとか。
でも今はシリコンスタジオ勤務らしいからそれはないか。
つか個人的には早くGeometry Shaderでウハウハしたいんだが
きっとOpenGLだとベンダ拡張で出るだけで標準になるには1年以上かかるだろうな・・・。
ところでOpenGL2.1っていつ出るの?
207デフォルトの名無しさん
2005/12/05(月) 02:07:03 PS3だからってCg使わなくてもいいだろ。
コンパイルだけさせてレジスタへのパラメータ設定は
ARBの命令使えばいいし。
GLSLも遅いみたいだしそうしたほうが良くね?
コンパイルだけさせてレジスタへのパラメータ設定は
ARBの命令使えばいいし。
GLSLも遅いみたいだしそうしたほうが良くね?
208デフォルトの名無しさん
2005/12/05(月) 12:40:57 NVIDIAもわからんところだ。
あれだけ、シェーダのスペシャリスト中のスペシャリストばかり揃ってて
なんでこんな仕様&コンパイラになるんだ。
あれだけ、シェーダのスペシャリスト中のスペシャリストばかり揃ってて
なんでこんな仕様&コンパイラになるんだ。
209デフォルトの名無しさん
2005/12/05(月) 13:42:54 だから Cg はコンパイラとして使って、アセンブラで埋め込めって。
ライブラリの出来が悪いのはCgFXがマイクロソフトと共同開発だから。
ライブラリの出来が悪いのはCgFXがマイクロソフトと共同開発だから。
210デフォルトの名無しさん
2005/12/05(月) 21:13:45 >>208
まーく・じぇい・きるがーど先生のフォースが衰えてきてるから。
まーく・じぇい・きるがーど先生のフォースが衰えてきてるから。
211デフォルトの名無しさん
2005/12/05(月) 22:03:32 >>205
CgFXとGLSLを同列に語るのはおかしいんじゃないか?
CgFXはエフェクトファイルだからあえて比べるならAshliか。
Ashliは使ったことはないがな。
CgFXは遅い上に使い勝手も微妙だから自作した方が早いかも。
CgFXとGLSLを同列に語るのはおかしいんじゃないか?
CgFXはエフェクトファイルだからあえて比べるならAshliか。
Ashliは使ったことはないがな。
CgFXは遅い上に使い勝手も微妙だから自作した方が早いかも。
212デフォルトの名無しさん
2005/12/05(月) 22:53:02 ちゅうか、おまえらCg以外にネタないんですかね?
あんましOpenGL2.0とも関係ないし。
あんましOpenGL2.0とも関係ないし。
213デフォルトの名無しさん
2005/12/05(月) 23:30:24 実はマイクロソフトもDirectXのEffectクラスの使用は推奨してない。
ConstantTableなんて最近付いたがおかしいと思ったろ?
シェーダー言語はコンパイルだけして自分でシェーダーを扱う
ヘルパークラスを作ったほうが無難。
うまく行けばOpenGLとDirectXで共通に使える自分クラスが出来て便利。
フレームレートも大幅に向上する可能性あり。
ConstantTableなんて最近付いたがおかしいと思ったろ?
シェーダー言語はコンパイルだけして自分でシェーダーを扱う
ヘルパークラスを作ったほうが無難。
うまく行けばOpenGLとDirectXで共通に使える自分クラスが出来て便利。
フレームレートも大幅に向上する可能性あり。
214デフォルトの名無しさん
2005/12/06(火) 00:35:36 MSはEffectクラスの利用を推奨してますがな。
んだからConstantTableとか拡張してんだよ。
GL2.0にもEffectファイルのレイヤーを実装するとか
予定には上がってたんだけど最近聞かないな…。だめぽ。
んだからConstantTableとか拡張してんだよ。
GL2.0にもEffectファイルのレイヤーを実装するとか
予定には上がってたんだけど最近聞かないな…。だめぽ。
215デフォルトの名無しさん
2005/12/06(火) 01:29:04 ID3DXEffectCompiler::CompileShaderを使ってシェーダーをコンパイルして
その時にConstantTableを受け取るんだそ。これやる時点でEffectクラス
なんざ使用しませんが?おれ何か間違えてる?
その時にConstantTableを受け取るんだそ。これやる時点でEffectクラス
なんざ使用しませんが?おれ何か間違えてる?
216デフォルトの名無しさん
2005/12/06(火) 01:47:17 あってしかるべき機能を追加しただけなんじゃ・・・
217デフォルトの名無しさん
2005/12/06(火) 02:25:52 コンパイル後のシェーダーに名前でデータセットするには
ConstantTableのようなクラスが足りなかったしね。
これでHLSLを使いつつもEffectクラスを使わずに済む。
ConstantTableのようなクラスが足りなかったしね。
これでHLSLを使いつつもEffectクラスを使わずに済む。
218デフォルトの名無しさん
2005/12/06(火) 08:41:29 で、OpenGL2.0の話題は?
219デフォルトの名無しさん
2005/12/06(火) 16:26:28 uniform int numLights;
for (int i=0; i<numLights; ++i)
これでリンク通らんのは仕様ですかそうですか。
プログラマブルなんて上っ面だけで実際は描画前にガチガチに固めた
ある種の固定機能じゃねーかこの野郎。
for (int i=0; i<numLights; ++i)
これでリンク通らんのは仕様ですかそうですか。
プログラマブルなんて上っ面だけで実際は描画前にガチガチに固めた
ある種の固定機能じゃねーかこの野郎。
220デフォルトの名無しさん
2005/12/06(火) 16:50:17 またずいぶんな低脳が沸いてきたな。
汎用CPUと同じことが全部GPUでできるならCPUいらないよ。w
汎用CPUと同じことが全部GPUでできるならCPUいらないよ。w
221デフォルトの名無しさん
2005/12/06(火) 20:25:24 まぁ見るからに釣りなわけだが
222デフォルトの名無しさん
2005/12/07(水) 01:41:07 自分で低脳と評する相手に反応するなんて
俺には恥ずかしくてできない。
俺には恥ずかしくてできない。
レスを投稿する
ニュース
- 中国、日本行き“50万人”キャンセル 渡航自粛でコロナ禍以来最大 ★2 [お断り★]
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 ★6 [ぐれ★]
- 中国外務省局長 「ポケットに手を入れていたのは寒いから」 日本との局長級会談で [お断り★]
- 中国、日本行き“50万人”キャンセル 渡航自粛でコロナ禍以来最大 ★3 [お断り★]
- 【次の一手】台湾問題で小林よしのり氏が私見「まさに戦争前夜」「ただちに徴兵制を敷いて、高市支持者を最前線へ」… ★4 [BFU★]
- 【速報】中国外務省報道官 高市首相発言撤回なければ「断固たる対抗措置」 ★3 [蚤の市★]
- 【実況】博衣こよりのえちえちフログロ学力テスト🧪★2
- 【実況】博衣こよりのえちえちフログロ学力テスト🧪
- 【高市早苗】習近平、本気で激おこ [115996789]
- 3大安倍晋三が言ってないのに聖帝語録みを感じる語録 「やらなきゃ意味ないよ」「出来ないは嘘つきの言葉なんですよ」あと一つは? [731544683]
- 【悲報】高市早苗さん、もう辞職しか選択肢がない… [271912485]
- 【悲報】高市早苗主将、立民岡田に台湾問題を質問されて突然服を脱ぎだし場内騒然 [455031798]
