【nVIDIA】 Cg 【シェーディング】
■ このスレッドは過去ログ倉庫に格納されています
0145デフォルトの名無しさん
NGNGDirectX : Microsoft社のマルチメディア用API群
HLSL : DirectXのシェーダー制御(GPU制御)を、今までのアセンブル風の物からC言語ライクに使えるようにした物
Cg : nVidia社のシェーダー制御(GPU制御)言語、HLSLと互換性がある
基本だが、HLSLやCg単体では機能しない。
CやC++とWinAPIやDirectXを使ったアプリのシェーダー部分(GPU制御)にHLSLやCgを使うんだよ。
でだ、HLSLってのは結局コンパイルされてアセンブリを吐いてるんだよ。そこで吐かれたコードが
m4x4 oPos, v0, c0
だったとしよう。これはoPosレジスタにv0〜v3レジスタで表す行列とc0〜c3レジスタで表す行列の積を格納する
しかし、m4x4(これはマクロだが)命令はshader2.0以降しかない。それ以下で同じ動きをするコードは
dp4 oPos.x, v0, c0
dp4 oPos.y, v0, c1
dp4 oPos.z, v0, c2
dp4 oPos.w, v0, c3
こうなる。これは2.0以前のVerでも動く。
つまり各社がうたってる簡単に出来るって事以上を求めるなら
普通にシェーダアセンブラ程度の理解は必須になってくる。
■ このスレッドは過去ログ倉庫に格納されています