頂点シェーダーからフラグメントシェーダーにいくつかのベクトルを送信しようとしています。例:
vec3 N = (view*model*vNormal).xyz
フラグメントシェーダーで到達しようとすると、次のようになります。
Link errorERROR: Input of fragment shader 'N' not written by vertex shader
何か案は?
頂点シェーダーからフラグメントシェーダーにいくつかのベクトルを送信しようとしています。例:
vec3 N = (view*model*vNormal).xyz
フラグメントシェーダーで到達しようとすると、次のようになります。
Link errorERROR: Input of fragment shader 'N' not written by vertex shader
何か案は?
シェーダーステージ間で値を渡すには、いわゆる変数を使用する必要があります。キーワードはvarying
またはout
およびin
– GLSL 1.20から1.40の間にキーワードの変更がありましたが、特別な型修飾子が必要であるという基本的な要点があります。詳細について は、 http://www.opengl.org/wiki/GLSL_Type_Qualifiers#Shader_stage_inputs_and_outputsを参照してください。