0
我试图从顶点着色器的一些载体发送到片段着色器: 例如:通行证到片段着色器
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。
OFC向量着色器我用 '出VEC3 N' 并在VEC3 N' FS'但它不利于 – mjanisz1
@ mjanisz1:你说你的代码是'VEC3 N = ...'。在这段代码中,'N'是一个* local *变量。您需要全局声明着色器阶段输入/输出*。 –