問題タブ [cg]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - ModelViewProjection は WorldViewProjection と同じですか?
一部のコードを HSLSL および XNA から CG および OpenGL に変換しています。
このコードは、ボリューム データをレンダリングするためのものです。ただし、ボリューム データは、各次元で同じ距離 (0.9f、1f、1f) を使用してサンプリングされることもありません。そのため、倍率を適用する必要があります。
XNA と HLSL の例では、次のことを行います。
WorldViewProj がシェーダーに渡される場所。
OpenGL では、glstate.matrix.mvp は ModelViewProjection であり、ModelView は World * View であるという印象を受けました。次のようにすると、何も描画されないため、明らかに間違っています。
ボリュームは、GL_MODELVIEW に設定された glMatrixMode でレンダリングされています。独自のマトリックスを作成する必要がありますか? もしそうなら、良いチュートリアルはありますか?:D
c++ - CGシェーダーをGLおよびD3D9に統合するためのチュートリアル?
CGシェーダーの作成に関するチュートリアルはたくさんありますが、D3DまたはGLシーンに統合する方法を示すチュートリアルはありません。CGがこれらにどのように統合されるかを示すチュートリアルはありますか?
math - 与えられたエッジポイントからメッシュを構築する方法は?
エッジ(左の画像)にいくつかのポイントがあり、メッシュ(右)を作成したいのですが、それを実現するための優れたアルゴリズムはありますか?どうもありがとう!
画像はこちらhttp://ww3.sinaimg.cn/large/6a2c8e2bjw1dk8jr3t7eaj.jpgでご覧いただけます
semantics - OpenGL 3.x での CG シェーダー セマンティクス?
以前は OpenGL 2.x で頂点配列を操作する CG シェーダーを使用していましたが、OpenGL 3.x で VBO と VAO を使用するように更新したところ、POSITION を除いてセマンティクスが機能していないようです。CG はコンパイル エラーをスローしませんが、フラグメント シェーダーの出力カラーを入力の通常値に設定すると、真っ黒になります。使用するように言っているページにリンクする別の回答がありますcgGLEnableClientState
(それ自体は何もしませんでした)およびcgGLSetParameterPointer
(すでにOpenGLにデータを送信しているので、CGを介して別のコピーを送信するのはおかしいようです)。それで、私は何が欠けていますか?
頂点シェーダー:
フラグメント シェーダー:
これらを のインデックスとしてリストしている場所を見つけましたglVertexAttribPointer
が、簡単に間違っている可能性があります (これらはShader::POSITION
、Shader::NORMAL
VBO セットアップ関数の 、 などです)。
以下の VBO セットアップ関数:
以下のシェーダーバインド関数:
selection - Cg で効率的な並列 SIMD 比較および選択をどのように実装しますか?
並列選択を効率的に行うにはどうすればよいですか?
たとえば、このスカラー コードが与えられた場合、Cg コンパイラがコードを並列 / SIMD で実行するように記述する方法はありますか (ブランチフリー選択を使用する可能性もあります)。
memory-leaks - CG 3.0 はリークしますか?
CG にメモリ リークがあるようです。nvidia.com 経由でレポートを送信しましたが、ここでこれを試してみると:
という行を削除すると
漏れが止まります。
CG 3.0 は本当にリークしますか?
ATI Radeon 5850 GPU / Windows 7 64 ビットを使用。
maya - Maya Cg シェーダで Photoshop psd ファイルのアルファ チャネルが失われる
3D アーティストの 1 人のために、シェーダーを Unity3D から Maya に移植して拡張しました。Unity3D のシェーダーは、PSD ファイルをテクスチャの入力として使用し、テクスチャの 1 つのアルファ チャネルを高さマップとして使用します。
Maya では、常に 1 であるため、アルファ チャネルが失われたように見えます。これを PSD および PNG ファイルでテストしました。ただし、TGA ファイルを使用すると、高さマップは意図したとおりに使用でき、シェーダーは正しく機能しました。
私が何を意味するかを説明するためにいくつかの Cg コードの下に:
上記のコードでは、PSD テクスチャを使用する場合、bottomColor.aaaa は常に (1.0, 1.0, 1.0, 1.0) ですが、TGA テクスチャを使用する場合はそうではありません。
注: すべてのテクスチャを TGA に変換することは (残念ながら) オプションではありません。
reference - CGシェーダー言語のリファレンスはどこにありますか?
私はシェーダーを初めて使用します。CGシェーダーを作成するために使用できるすべての(または最も/一般的な)関数、変数のリストを見つけたいと思います。
prolog - BProlog で CG グラフィックを実行していますか?
私は最近 B-prolog をインストールし、ここから CG グラフィックスの例を試しましたhttp://www.probp.com/
彼らのマニュアルによると、私はC:/ドライブにBプロローグをインストールし、適切にコンパイルしましたが、実行していません。
これは cuba.pl です
実行しようとするたびに、このエラーが発生しますか?
ここで何が問題なのですか?
opengl - CgFx のような効果システムを作成するには?
CryEngine3、Unreal Engine 3 などの本格的なグラフィック エンジンには、カスタマイズされたシェーダー言語とエフェクト システムがあります。私の小さなグラフィックス フレームワーク用のエフェクト システムを見つけようとしているときに、nvidia CgFx が唯一の選択肢のようです (Khronos には glFx というプロジェクトがあったようですが、プロジェクト ページは現在 404 です)。
独自のエフェクト システムを作成する理由はいくつかあります。
- シェーダー パラメーターを渡す方法とタイミングをさらに制御する必要があります。
- シェーダー スニペットを再利用するために、C++ マクロのようなメカニズムを作成したいと考えています。マクロを使用して条件付きコンパイルを行うことも有用であり、CryEngine がさまざまな効果を生成するために使用していた方法です。
- GLSLにはそのようなエフェクトシステムがないようです
だから私は効果システムを作成する方法を疑問に思っています? 文法パーサーをゼロから作成する必要がありますか?それとも、これを実行できるコード/ツールが既にいくつかありますか?
PS: GLSL と CG の両方で OpenGL を使用しています。