0

頂点シェーダーからフラグメントシェーダーにいくつかのベクトルを送信しようとしています。例:

vec3 N = (view*model*vNormal).xyz

フラグメントシェーダーで到達しようとすると、次のようになります。

Link errorERROR: Input of fragment shader 'N' not written by vertex shader

何か案は?

4

1 に答える 1

3

シェーダーステージ間で値を渡すには、いわゆる変数を使用する必要があります。キーワードはvaryingまたはoutおよびin– GLSL 1.20から1.40の間にキーワードの変更がありましたが、特別な型修飾子が必要であるという基本的な要点があります。詳細について は、 http://www.opengl.org/wiki/GLSL_Type_Qualifiers#Shader_stage_inputs_and_outputsを参照してください。

于 2012-12-04T23:51:43.667 に答える