これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド cgc です。
プログラム:
NAME
CGC - cg コンパイラ ドライバ
SYNOPSIS
cgc [オプション] ファイル ...
DESCRIPTION
CGC Cg または GLSL プログラムを OpenGL に変換するスタンドアロン Cg コンパイラです。
DirectX シェーダ アセンブリ コード、または OpenGL または DirectX シェーディング言語コード。
OPTIONS
Basic オプション
-エントリ 名
コンパイルするシェーダーのエントリ関数を設定します。 デフォルトは「メイン」です。
-o file
書き込む出力ファイルを設定します。 デフォルトの出力は「stdout」です。
-l file
エラーおよび警告メッセージが書き込まれるリスト ファイルを設定します。 デフォルトは
「標準エラー」。
-プロフィール 名
ターゲット プロファイルを選択し、生成するシェーダ言語を指定します。
-プロファイルオプト オプト1、オプト2、...
-ぽ オプト1、オプト2、...
XNUMX つ以上のプロファイル固有のオプションを設定します。
-立入り禁止
チェックのみモードを設定します。このモードでは、シェーダはコンパイルされませんが、入力ファイル内のすべてのコードがコンパイルされます。
構文が正しいかどうかがチェックされます。
言語 オプション
-ogsl
ソース言語を GLSL に設定します。
-色目
ソース言語を OpneGL/ES GLSL に設定します。
-厳しい
-厳格な
厳密な型チェックを有効または無効にします。最も疑わしい構成要素がチェックされます。
警告としてフラグが立てられます。
-glslWerror
「-strict」と同様ですが、移植できない GLSL 構造にはエラーとしてフラグが立てられます。
-ノワーン
すべての警告を無効にします。
-nowarn=ん、ん、...
XNUMX つ以上の特定の番号付き警告を無効にします。
-FX
-nofx
FX キーワードが認識される FX 解析モードを有効または無効にします。 デフォルトはオン
Cg モードではオフ、GLSL モードではオフになります。
-nostdlib
標準ライブラリを無効にします。
CPコード 世代 オプション
-速算
-nofastmath
下位ビットの精度が変更または失われる可能性がある最適化を有効または無効にします。
「a + (b + c)」の代わりに「(a + b) + c」のような結合変換として。 デフォルトは
「-ファストマス」。
-高速精度
-nofast精度
指定された精度よりも低い精度で操作を実行する最適化を有効または無効にします。
結果が後で低い精度に変換された場合、またはオペランドが
もともと精度が低いです。 デフォルトは「-nofastprecision」です。
-最高の精度
常に可能な限り最高の精度で物事を実行してください。 精度の低い演算のみを使用する
差異の可能性がない場合。 「-nofastmath」を意味し、
「-nofastprecision」。
-すべてを展開|なし|カウント=N
制御ループの展開。 「-unroll all」は、実行可能なすべてのループのアンロールを強制します。
一方、「-unroll none」を指定すると、コードがアンロールできない場合を除き、アンロールが防止されます。
現在のプロファイルで生成されます (したがって、そうでないプロファイルでは効果がありません)
ループをサポートします)。 「アンロール数=N " の推定値が満たされた場合にループが展開されます。
結果のコードは次の値より小さい N 説明書。 見積もりには考慮されていません
展開後にさらに最適化が行われる可能性があるため、かなり複雑になる可能性があります。
不正確です。
-inline all|none|count=N
制御関数のインライン化。 「-inline none」を設定すると、さらにインライン化が無効になります
明示的な「inline」キーワードを持つ関数。それ以外の場合は常にインライン化されます。
「-inline count=0」を設定すると、実行するすべての関数のインライン化が効果的に無効になります。
明示的な「inline」キーワードはありません。
-ifcvt すべて|なし|カウント=N
if 変換の制御 (小さな if/else ブロックを条件付きブロックに置き換える)
割り当て)。
-ON コンパイラの最適化レベルを 0 (最低) から 3 (最高) まで設定します。 より高い
値を指定すると、より良いコードが生成される可能性があり、コンパイル時間が増加します。 デフォルトは
「-O1」。
-ループリミット N
コンパイラがループ数の上限を決定できないと仮定します。
反復は何回でもループする可能性があります N 繰り返し。 これには追加のコードの生成が必要になる場合があります
一部のプロファイルのそのようなループの場合。
-d3d
Direct3D 仕様と互換性のあるコードを生成します。
-MaxInstInBasicBlock N
後で基本ブロックを壊す N 説明書。 これはローカルの最適化に影響します
これは基本ブロックの境界を越えず、コンパイル時の悪影響を回避できる可能性があります。
基本ブロック内の非線形アルゴリズムによる巨大な基本ブロックの存在
サイズ。
-maxunrollcount N
廃止されました。 以上のループを展開しないでください。 N 繰り返し。 -unroll オプションを使用する
代わりに、よりきめ細かい制御が可能になります。
プリプロセッサ オプション
-DMACRO[=VALUE]
プリプロセッサマクロを設定します。 もし VALUE 指定されていない場合は、デフォルトの 1 になります。
-Iディレクトリにジョブを開始します。
「#include」ファイルの検索パスの末尾にディレクトリを追加します。 デフォルト
検索パスが空です。
-E コンパイルは行わず、入力を前処理するだけです。
-P 「-E」を指定すると、出力での「#line」ディレクティブの生成が抑制されます。
-C 「-E」を指定すると、出力内のコメントが保持されます。
-MG 見つからない「#include」ファイルは、エラーを発行せずに無視します。
-M
-んん
-MD
-MMD
-MP
-MF file
-MT ターゲット
-MQ ターゲット
「#include」d ファイルに関する依存関係情報を生成します。 これらのオプションは意図されています
「gcc」のオプションと互換性があるようにします。
その他 オプション
-静かな
-q すべての「ノイズ」出力を抑制します (著作権表示、どのファイルが処理されているかを示す表示)
コンパイルされたものなど)。 -o および -l を使用すると、出力は生成されません。
-nocode
最終的なコード生成を抑制します。 実際にはコンパイラを通して最後まで実行されます
(したがって、存在するエラーを診断する必要があります)、実際の出力コードは生成されません。
-v
- バージョン
コンパイラのバージョン情報をリストに出力します。
-h 短いオプションのヘルプ概要を標準出力に出力して終了します。
-助けて
サポートされているすべてのプロファイルを含む、長いオプション ヘルプの概要を標準出力に出力します。
プロファイル オプションを選択して終了します。
型 タイプ定義
変数のオーバーライド型バインディングを設定します。
-タイプファイル file
ファイルから変数のオーバーライド型バインディングを読み取ります。
-dumpinputbind file
すべての変数の型バインディングをファイルにダンプします。 このファイルは、
「-typefile」を指定したコンパイラ。
デバッギング オプション
-デバッグ
「デバッグ」組み込み関数を有効にして、シェーダの操作を即座に中止します。
値を出力します。
-デバッグラスト
「-debug」と同様ですが、シェーダが中止されない点が異なります。 代わりに継続して出力します。
最後に呼び出された「デバッグ」関数の値。
-デバッグデフォルト=値
「-debug」と同様、「debug」呼び出しに到達しない場合を除き、出力は次のように設定されます。
シェーダーが通常計算する値の代わりに指定された値。
-非推奨
使用されている非推奨の機能については、警告ではなくエラーが発行されます。
プロフィール
A プロフィール cg コンパイラ (シェーダ アセンブリのいずれか) の出力言語を指定します。
方言、または陰影言語)。 各プロファイルには独自のセットがあります。 プロフィール オプション ができる
ただし、多くの関連プロファイルには同様または同一のオプションがあります。 プロフィール
プログラム タイプ、API、または GPU 世代ごとにグループ化できます。
DirectX プロファイル
ds_5_0、gs_4_0、gs_5_0、hlslf、hlslv、hs_5_0、ps_1_1、ps_1_2、ps_1_3、ps_2_0、ps_2_x、
ps_3_0, ps_4_0, ps_5_0, vs_1_1, vs_2_0, vs_2_x, vs_3_0, vs_4_0, vs_5_0
OpenGLプロファイル
arbfp1、arbvp1、fp20、fp30、「fp30unlimited」、fp40、「fp40unlimited」、glslf、glslg、
glslv、gp4fp、gp4gp、gp4vp、gp5fp、gp5gp、gp5tcp、gp5tep、gp5vp、vp20、vp30、vp40
フラグメントプロファイル
arbfp1、fp20、fp30、「fp30unlimited」、fp40、「fp40unlimited」、glslf、gp4fp、gp5fp、
hlslf、ps_1_1、ps_1_2、ps_1_3、ps_2_0、ps_2_x、ps_3_0、ps_4_0、ps_5_0
ジオメトリプロファイル
glslg、gp4gp、gp5gp、gs_4_0、gs_5_0
頂点プロファイル
arbvp1、glslv、gp4vp、gp5vp、hlslv、vp20、vp30、vp40、vs_1_1、vs_2_0、vs_2_x、vs_3_0、
vs_4_0、vs_5_0
GeForce 3/4 シリーズのプロファイル
FP20、VP20
GeForce 5 シリーズのプロファイル
FP30、VP30
GeForce 6/7 シリーズのプロファイル
FP40、VP40
GeForce 8/9/100/200/300 シリーズ、OpenGL 3.x Quadro プロファイル
gp4fp、gp4gp、gp4vp
GeForce 400 シリーズ、OpenGL 4.x Quadro プロファイル
gp5fp、gp5gp、gp5tcp、gp5tep、gp5vp
プロフィール オプション
すべてのプロファイルとそれに対応するプロファイル オプションの完全なリストは次のとおりです。
arbfp1
対象となるのは、 ARB_フラグメント_プログラム OpenGL拡張機能
"-po" "ARB_draw_buffers"
ARB_draw_buffers 複数のレンダーバッファターゲット (MRT) のオプション。 これは
デフォルト
"-po" "ATI_draw_buffers"
ATI_draw_buffers 複数のレンダーバッファターゲット (MRT) のオプション。
"-po" "MaxDrawBuffers="N
レンダーバッファターゲットの最大数を設定します。 デフォルトは1です
"-po" "MaxLocalParams="N
使用可能な均一パラメータ スロットの最大数を設定します。 デフォルトは32です
"-po" "MaxTexIndirections="N
出力プログラムで許可されるテクスチャ間接参照の最大数を設定します。
デフォルトは1024です
"-po" "NumstructionSlots="N
出力プログラム内の命令の最大数を設定します。 デフォルトは1024です
"-po" "NumMathstructsSlots="N
出力プログラム内の非テクスチャ命令の最大数を設定します。
デフォルトは1024です
"-po" "NumTemps="N
出力プログラム内の TEMP レジスタの最大数を設定します。 デフォルトは32です
"-po" "NumTexstructsSlots="N
出力プログラム内のテクスチャ命令の最大数を設定します。 デフォルトは
1024
arbvp1
対象となるのは、 ARB_頂点_プログラム OpenGL拡張機能
"-po" "MaxAddressRegs="N
出力プログラム内の ADDRESS レジスタの最大数を設定します。 デフォルトは1です
"-po" "MaxOrders="N
出力プログラム内の命令の最大数を設定します。 デフォルトは1024です
"-po" "MaxLocalParams="N
使用可能な均一パラメータ スロットの最大数を設定します。 デフォルトは96です
"-po" "NumTemps="N
出力プログラム内の TEMP レジスタの最大数を設定します。 デフォルトは32です
「-po」「PosInv」
POSITION 出力用の位置不変コード (固定関数と同じ) を生成します。
fp20
対象となるのは、 NV_register_combiners2 NV_テクスチャーシェーダー OpenGL拡張機能
fp30
対象となるのは、 NV_フラグメント_プログラム OpenGL拡張機能
"-po" "NumstructionSlots="N
出力プログラム内の命令の最大数を設定します。 デフォルトは256です
"-po" "NumTemps="N
出力プログラム内の一時変数の最大数を設定します。 デフォルトは32です
「FP30アンリミテッド」
fp30 と同じですが、レジスタと命令のさまざまなハードウェア制限が解除されています
"-po" "NumstructionSlots="N
出力プログラム内の命令の最大数を設定します。 デフォルトは4194304です
"-po" "NumTemps="N
出力プログラム内の一時変数の最大数を設定します。 デフォルトは512です
fp40
対象となるのは、 NV_フラグメント_プログラム2 OpenGL拡張機能
「-ぽ」「appleKilWAR」
OSX-tiger 実装の KIL 命令によるさまざまなバグを回避します。
NV_フラグメント_プログラム2
"-po" "ARB_draw_buffers"
ARB_draw_buffers 複数のレンダーバッファターゲット (MRT) のオプション。 これは
デフォルト
"-po" "ATI_draw_buffers"
ATI_draw_buffers 複数のレンダーバッファターゲット (MRT) のオプション。
"-po" "MaxLocalParams="N
使用可能な均一パラメータ スロットの最大数を設定します。 デフォルトは無限です
"-po" "NumstructionSlots="N
出力プログラム内の命令の最大数を設定します。 デフォルトは
無限
"-po" "NumTemps="N
出力プログラム内の TEMP レジスタの最大数を設定します。 デフォルトは
無限
"-po" "OutColorPrec="N
If N 3 または 4 の場合、出力を fp16 精度に強制します。 もし N 2 の場合、出力を fp32 に強制します
精度。
「FP40アンリミテッド」
fp40 と同じですが、レジスタと命令のさまざまなハードウェア制限が解除されています
「-ぽ」「appleKilWAR」
OSX-tiger 実装の KIL 命令によるさまざまなバグを回避します。
NV_フラグメント_プログラム2
"-po" "ARB_draw_buffers"
ARB_draw_buffers 複数のレンダーバッファターゲット (MRT) のオプション。 これは
デフォルト
"-po" "ATI_draw_buffers"
ATI_draw_buffers 複数のレンダーバッファターゲット (MRT) のオプション。
"-po" "MaxLocalParams="N
使用可能な均一パラメータ スロットの最大数を設定します。 デフォルトは1024です
"-po" "NumstructionSlots="N
出力プログラム内の命令の最大数を設定します。 デフォルトは4194304です
"-po" "NumTemps="N
出力プログラム内の TEMP レジスタの最大数を設定します。 デフォルトは512です
"-po" "OutColorPrec="N
If N 3 または 4 の場合、出力を fp16 精度に強制します。 もし N 2 の場合、出力を fp32 に強制します
精度。
"ジェネリック"
プログラムのダンプを実行不可能な形式で生成します
glslf、glslg、glslv
OpenGL シェーディング言語 (GLSL) v1.10 をターゲットとします。 glslf はフラグメント プログラムをターゲットとしています
glslv は頂点プログラムをターゲットとしていますが、
バージョン=ヴァル
ターゲットとなる GLSL のバージョン。 サポートされているバージョンは、 100, 110, 120, 130, 140 150.
ユーザーテックス座標
代わりにユーザー定義の可変値を使用します。 gl_TexCoord.
ATI_draw_buffers
ATI_draw_buffers MRTの延長線。
EXT_gpu_shader4
EXT_gpu_shader4 便利な場合は拡張機能を使用します。
gp4fp
対象となるのは、 NV_gpu_プログラム4 NV_フラグメント_プログラム4 OpenGL 拡張機能。
「~ぽ」「ファスティムル」
整数乗算入力の有効ビット数は最大 24 であると仮定します。
"-po" "NV_shader_buffer_load"
NV_shader_buffer_load OpenGL拡張機能。
"-po" "NV_parameter_buffer_object2"
NV_パラメータ_バッファ_オブジェクト2 OpenGL拡張機能。
「-ぽ」「PaBO2」
NV_パラメータ_バッファ_オブジェクト2 OpenGL拡張機能。
"-po" "ARB_draw_buffers"
ARB_draw_buffers 複数のレンダーバッファターゲット (MRT) のオプション。 これは
デフォルト
"-po" "ATI_draw_buffers"
ATI_draw_buffers 複数のレンダーバッファターゲット (MRT) のオプション。
「-po」「pixel_center_integer」
整数のピクセル中心を使用します。
"-po" "origin_upper_left"
左上のピクセル原点を使用します。
gp4gp
対象となるのは、 NV_gpu_プログラム4 NV_ジオメトリ_プログラム4 OpenGL 拡張機能。
「~っぽ」「ポイント」
「~ぽ」「LINE」
「-ぽ」「LINE_ADJ」
「~ぽ」「トライアングル」
「-ぽ」「TRIANGLE_ADJ」
ジオメトリ プログラムの入力プリミティブ タイプを設定します。
「-ぽ」「POINT_OUT」
「-ぽ」「LINE_OUT」
「-ぽ」「TRIANGLE_OUT」
ジオメトリ プログラムの出力プリミティブ タイプを設定します。
"-po" "頂点"N
ジオメトリ プログラムによって出力される頂点の数を設定します。
gp4vp
対象となるのは、 NV_gpu_プログラム4 NV_頂点_プログラム4 OpenGL 拡張機能。
「-po」「PosInv」
POSITION 出力用の位置不変コード (固定関数と同じ) を生成します。
gp5fp
対象となるのは、 NV_gpu_プログラム5 OpenGL拡張機能。
「~ぽ」「ファスティムル」
整数乗算入力の有効ビット数は最大 24 であると仮定します。
"-po" "NV_shader_buffer_load"
NV_shader_buffer_load OpenGL拡張機能。
"-po" "NV_parameter_buffer_object2"
NV_パラメータ_バッファ_オブジェクト2 OpenGL拡張機能。
「-ぽ」「PaBO2」
NV_パラメータ_バッファ_オブジェクト2 OpenGL拡張機能。
"-po" "ARB_draw_buffers"
ARB_draw_buffers 複数のレンダーバッファターゲット (MRT) のオプション。 これは
デフォルト
"-po" "ATI_draw_buffers"
ATI_draw_buffers 複数のレンダーバッファターゲット (MRT) のオプション。
「-po」「pixel_center_integer」
ARB_fragment_coord_conventions 整数ピクセルを指定する OpenGL 拡張機能
センター。
"-po" "origin_upper_left"
ARB_fragment_coord_conventions 左上を指定するOpenGL拡張子
ピクセル原点。
"-po" "NV_early_fragment_tests"
フラグメント プログラムを呼び出す前に、深度テストとステンシル テストを実行します。
gp5gp
対象となるのは、 NV_gpu_プログラム5 OpenGL拡張機能。
「~っぽ」「ポイント」
「~ぽ」「LINE」
「-ぽ」「LINE_ADJ」
「~ぽ」「トライアングル」
「-ぽ」「TRIANGLE_ADJ」
ジオメトリ プログラムの入力プリミティブ タイプを設定します。
「-ぽ」「POINT_OUT」
「-ぽ」「LINE_OUT」
「-ぽ」「TRIANGLE_OUT」
ジオメトリ プログラムの出力プリミティブ タイプを設定します。
"-po" "頂点"N
ジオメトリ プログラムによって出力される頂点の数を設定します。
gp5tcp
対象となるのは、 NV_テッセレーション_プログラム NV_gpu_プログラム5 OpenGL 拡張機能。
gp5tep
対象となるのは、 NV_テッセレーション_プログラム NV_gpu_プログラム5 OpenGL 拡張機能。
gp5vp
対象となるのは、 NV_gpu_プログラム5 OpenGL拡張機能。
「-po」「PosInv」
POSITION 出力用の位置不変コード (固定関数と同じ) を生成します。
hlslf hlslv
Microsoft High-Level Shading Language (HLSL) をターゲットとします。 hlslf はピクセル プログラムをターゲットとしています
一方、hlslv は頂点プログラムをターゲットにしています
ps_1_1 ps_1_2 ps_1_3
DirectX ピクセル プログラムを対象とします。
"-po" "MaxPixelShaderValue="N
ピクセル シェーダで表現できる最大絶対値。 デフォルトは 1 です。
ps_2_0 ps_2_x
DirectX ピクセル プログラムを対象とします。
"-po" "MaxDrawBuffers="N
レンダーバッファターゲットの最大数を設定します。 デフォルトは1です
"-po" "NumstructionSlots="N
出力プログラム内の命令の最大数を設定します。 デフォルトは96または
512
"-po" "NumTemps="N
出力プログラム内の一時変数の最大数を設定します。 デフォルトは12または32です
ps_3_0
DirectX ピクセル プログラムを対象とします。
"-po" "MaxDrawBuffers="N
レンダーバッファターゲットの最大数を設定します。 デフォルトは1です
"-po" "MaxLocalParams="N
使用可能な均一パラメータ スロットの最大数を設定します。 デフォルトは224です
"-po" "NumstructionSlots="N
出力プログラム内の命令の最大数を設定します。 デフォルトは32768です
"-po" "NumTemps="N
出力プログラム内の一時変数の最大数を設定します。 デフォルトは32です
"-po" "OutColorPrec="N
If N 3 または 4 の場合、出力を fp16 精度に強制します。 もし N 2 の場合、出力を fp32 に強制します
精度。
vp20
対象となるのは、 NV_頂点_プログラム OpenGL拡張機能
"-po" "MaxLocalParams="N
使用可能な均一パラメータ スロットの最大数を設定します。 デフォルトは96です
「-po」「PosInv」
POSITION 出力用の位置不変コード (固定関数と同じ) を生成します。
vp30
対象となるのは、 NV_頂点_プログラム2 OpenGL拡張機能
"-po" "MaxLocalParams="N
使用可能な均一パラメータ スロットの最大数を設定します。 デフォルトは256です
「-po」「PosInv」
POSITION 出力用の位置不変コード (固定関数と同じ) を生成します。
vp40
対象となるのは、 NV_頂点_プログラム3 OpenGL拡張機能
"-po" "MaxAddressRegs="N
出力プログラム内の ADDRESS レジスタの最大数を設定します。 デフォルトは2です
"-po" "MaxOrders="N
出力プログラム内の命令の最大数を設定します。 デフォルトは2048です
"-po" "MaxLocalParams="N
使用可能な均一パラメータ スロットの最大数を設定します。 デフォルトは544です
"-po" "NumTemps="N
出力プログラム内の TEMP レジスタの最大数を設定します。 デフォルトは32です
「-po」「PosInv」
POSITION 出力用の位置不変コード (固定関数と同じ) を生成します。
vs_1_1
DirectX 頂点プログラムをターゲットとする
「-ぽ」「dcls」
dx9 スタイルの dcls ステートメントを出力する
"-po" "MaxLocalParams="N
使用可能な均一パラメータ スロットの最大数を設定します。 デフォルトは96です
"-po" "NumstructionSlots="N
出力プログラム内の命令の最大数を設定します。 デフォルトは128です
"-po" "NumTemps="N
出力プログラム内の一時変数の最大数を設定します。 デフォルトは12です
vs_2_0 vs_2_x
DirectX 頂点プログラムをターゲットとする
「-ぽ」「dcls」
dx9 スタイルの dcls ステートメントを出力する
"-po" "MaxLocalParams="N
使用可能な均一パラメータ スロットの最大数を設定します。 デフォルトは256です
"-po" "NumstructionSlots="N
出力プログラム内の命令の最大数を設定します。 デフォルトは256です
"-po" "NumTemps="N
出力プログラム内の一時変数の最大数を設定します。 デフォルトは12です
vs_3_0
DirectX 頂点プログラムをターゲットとする
「-ぽ」「dcls」
dx9 スタイルの dcls ステートメントを出力する
"-po" "MaxLocalParams="N
使用可能な均一パラメータ スロットの最大数を設定します。 デフォルトは256です
"-po" "NumstructionSlots="N
出力プログラム内の命令の最大数を設定します。 デフォルトは32768です
"-po" "NumTemps="N
出力プログラム内の一時変数の最大数を設定します。 デフォルトは32です
ENVIRONMENT
onworks.net サービスを使用して CGC オンラインを使用する