【发布时间】:2015-12-19 22:57:11
【问题描述】:
我正在开发一款游戏,目前正在编写一个着色器来反射来自对象的光,但我不断收到错误消息:
错误:0:25:'-' 不适用于 'vec3' 和 'vec4'
fragmentShader 文件:
vec3 unitVectorToCamera = normalize(toCameraVector);
vec3 lightDirection = -unitLightVector;
vertexShader 文件:
toCameraVector = (inverse(viewMatrix) * vec4(0.0, 0.0, 0.0, 1.0)).xyz - worldPosition;
版本:
#version 400 core
任何帮助将不胜感激。
【问题讨论】:
-
我们能看到完整的着色器文件吗?您可能会尝试在某处从 vec3 中减去 vec4(反之亦然)。
-
fragmentShader: pastebin.com/YQZdTDWU vertexShader: pastebin.com/CSqs02wS
-
您应该将代码添加到问题中。否则,当 pastebin 被删除时,问题/答案不再有意义。