問題タブ [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.
ios - glユニフォーム。フラグメント シェーダーが均一または可変比較でコンパイルに失敗する
GLKViewController のサブクラスを作成して、すべて正常に動作する GLKBaseEffect を使用していくつかの波形をレンダリングしました。
独自の頂点シェーダーとフラグメント シェーダーを使用したいので、デフォルトの OpenGL ゲーム プロジェクトのボイラープレート コードを使用しました。どちらのシェーダーもコンパイル、リンク、および使用可能です。頂点シェーダーで問題なく色を変更できます。
私が抱えている問題は、自分のユニフォームをフラグメント シェーダーに渡すことです。これを頂点シェーダーに渡してそこで使用することはできますが、同じ変数を
コード:
// 頂点シェーダー
// フラグメント シェーダー
好奇心が強い場合は、ユニフォームとシェーダーをセットアップする方法を次に示します
さまざまなフロートを使用して、頂点シェーダーからフラグメント シェーダーに値を渡すという別のアイデアがありました。ここでも、頂点シェーダーで変数を宣言して使用できますが、フラグメント シェーダーで変数をデラリングすると、コンパイルに失敗します。
編集: - - - - - - - - - - - - - - - - - - - - - - - - --
試行錯誤の結果、(フラグメント シェーダーで) if (フラグメント シェーダー) がユニフォームと可変の両方で機能する精度でユニフォーム宣言を修飾することがわかりました (頂点からシェーダーに渡すことができます)。