問題タブ [glkbaseeffect]

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.

0 投票する
0 に答える
502 参照

ios - glユニフォーム。フラグメント シェーダーが均一または可変比較でコンパイルに失敗する

GLKViewController のサブクラスを作成して、すべて正常に動作する GLKBaseEffect を使用していくつかの波形をレンダリングしました。

独自の頂点シェーダーとフラグメント シェーダーを使用したいので、デフォルトの OpenGL ゲーム プロジェクトのボイラープレート コードを使用しました。どちらのシェーダーもコンパイル、リンク、および使用可能です。頂点シェーダーで問題なく色を変更できます。

私が抱えている問題は、自分のユニフォームをフラグメント シェーダーに渡すことです。これを頂点シェーダーに渡してそこで使用することはできますが、同じ変数を

コード:

// 頂点シェーダー

// フラグメント シェーダー

好奇心が強い場合は、ユニフォームとシェーダーをセットアップする方法を次に示します

さまざまなフロートを使用して、頂点シェーダーからフラグメント シェーダーに値を渡すという別のアイデアがありました。ここでも、頂点シェーダーで変数を宣言して使用できますが、フラグメント シェーダーで変数をデラリングすると、コンパイルに失敗します。

編集: - - - - - - - - - - - - - - - - - - - - - - - - --

試行錯誤の結果、(フラグメント シェーダーで) if (フラグメント シェーダー) がユニフォームと可変の両方で機能する精度でユニフォーム宣言を修飾することがわかりました (頂点からシェーダーに渡すことができます)。