5

http://http.developer.nvidia.com/Cg/TessellationControlShader.html

CGについていくつか質問があります。

CG がサポートする OpenGL のバージョンは? 彼らのサイトで彼らは述べています

OpenGL の機能要件

OpenGL 1.0

これは私には少し奇妙に思えます。私にとってこれは、CG ですべての OpenGL 機能を使用するには、少なくとも OpenGL 1.0 が必要であることを意味します。文字通りすべての新しい OpenGL 機能が欠落しているのでしょうか?

また、計算シェーダーが欠落しているようです

GeometryShader、PixelShader、TessellationEvaluationShader、VertexShader、FragmentProgram、GeometryProgram、TessellationControlProgram、TessellationEvaluationProgram、VertexProgram

CG は現在、GLSL 4.x を置き換える実行可能な代替手段ですか? GLSL 4.3 で記述できるすべてのシェーダーを CG で記述できますか?

4

3 に答える 3

4

Cg は NVidia によってサポートが終了したため、今後は開発されません

Cg Toolkit は、アクティブな開発やサポートが行われていない従来の NVIDIA ツールキットです。Cg 3.1 は私たちの最後のリリースです。引き続き開発者が利用できるようにしますが、将来のハードウェア機能がサポートされない可能性があるため、新しい開発プロジェクトで使用することはお勧めしません。

したがって、最良の答えはNoだと思います。

于 2014-07-30T21:22:53.953 に答える
4

CG は現在、GLSL 4.x を置き換える実行可能な代替手段ですか? GLSL 4.3 で記述できるすべてのシェーダーを CG で記述できますか?

いいえ。テッセレーションなどの一部の OpenGL 4.x 機能は Cg 3.1 の時点で公開されていますが、公開されていないものもあります。

Cg 3.1 (およびその OpenGL 名) で欠落している注目すべき機能は次のとおりです。

  • 計算シェーダー
  • 原子カウンター
  • シェーダー書き込み可能ストレージ ブロック (シェーダー ストレージ ブロック)
  • シェーダー書き込み可能なテクスチャ (画像の読み込み/保存)
  • ランタイム シェーダー関数の選択 (シェーダー サブルーチン)

一般に、Cg は最新の OpenGL リリースから 2 ~ 3 年遅れる傾向があります。

于 2013-11-30T19:23:07.020 に答える
3

OpenGL-1.0はタイプミスだと確信しています。DirectX-11 は、OpenGL-4.0で得られる機能レベルに関するものです。次に、テンキーの4のすぐ下にあるキーを見てください。

実際、OpenGL-1.0 と同じくらい低い OpenGL プロファイルのみをサポートする単一の NVidia GPU はこれまでありませんでした。OpenGL-1.0 は 20 年前にさかのぼります。


CG は現在、GLSL 4.x を置き換える実行可能な代替手段ですか?

個人的には、一般的なシェーダー セットで OpenGL と DirectX の両方をサポートする場合を除いて、Cg を使用する理由がわかりません。しかし、なぜ API 間の互換性が必要なのでしょうか? 移植性を目指すなら、OpenGL は DirectX より明らかに優れています。

私見 Cg を使用し続ける主な理由は、既に Cg を使用しているレガシー製品を維持する必要がある場合です。Cg が導入されたのは、OpenGL に高レベルのシェーディング言語が導入されるずっと前だったことを思い出してください。

GLSL 4.3 で記述できるすべてのシェーダーを CG で記述できますか?

はい。

于 2013-01-20T02:24:59.677 に答える