OpenGL 2.0 専用スレ (873レス)
OpenGL 2.0 専用スレ http://mevius.5ch.net/test/read.cgi/tech/1126268759/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
595: デフォルトの名無しさん [sage] 2008/01/26(土) 04:19:35 cg のループ回数(もしくは行数)についてなのですが。 fragment shader (CG_PROFILE_ARBFP1): GeForce7900GS で void main(out float4 color : COLOR){ float i; float4 totalCol = 0; for(i = 0; i < 200; i++){ totalCol += 0.001; } color = totalCol; } だとちゃんと動くのですが、ループの回数を200から300に増やすと、 CG_COMPILER_ERROR になるのです。なにか制限とかってあるのでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1126268759/595
600: 595 [sage] 2008/01/26(土) 15:54:22 ありがとうございます。 やっぱり制限数があるのですね。 他のプロファイルを試してみます。 http://mevius.5ch.net/test/read.cgi/tech/1126268759/600
606: 595 [sage] 2008/01/26(土) 21:12:47 Cg 2.0 をインストールし(1.1だった)、CG_PROFILE_FP40 プロファイルを使用したら 動的ループができるようになりました。 ちなみに、CG_PROFILE_FP30では、動的ループは無理でした。 ただ、別の問題が出てきました。 void main(uniform float size, out float4 color : COLOR){ float i; float4 totalCol = 0; for(i = 0; i < size; i++){ totalCol += 1; } color = totalCol / size; } だと、sizeをいくつにしても、色が白になるはずなのですが、 size 250以上になるとだんだん色が薄くなっていきます。ループの中が 250までしか展開できてないようです。 http://mevius.5ch.net/test/read.cgi/tech/1126268759/606
607: 595 [sage] 2008/01/26(土) 21:18:47 続き で、以下のようにループ部分を分割し、試しにsize=400にして実行したら、 void main(uniform float size, out float4 color : COLOR){ float i; float4 totalCol = 0; for(i = 0; i < size - 200; i++){ totalCol += 1; } for(i = 200; i < size; i++){ totalCol += 1; } color = totalCol / size; } 見事に白色になりました。 GeForce8800 だったら、こういうでかいループも処理できるんでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1126268759/607
611: 595 [sage] 2008/01/27(日) 20:05:20 256まででしたか。 とりあえず分割ループでごまかすことにしました。 8800欲しい・・・ ちなみに、GPGPUなプログラムです。 http://mevius.5ch.net/test/read.cgi/tech/1126268759/611
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.036s