首页 > 解决方案 > 为什么方向矢量朝向相反的方向?

问题描述

我目前正在学习 OpenGL 中的照明,并且正在阅读 learnopengl.com,当我注意到他们通过将光位置减去片段位置来计算光的方向(漫射照明)时:( vec3 lightDir = normalize(lightPos - FragPos); 我附上了一张图像来显示这个看起来像) 方向矢量图像

为什么他们会得到一个从 Fragment 位置指向 light 位置的向量?如果他们想得到光的方向,难道我们不想得到一个从光位置到片段位置的向量: vec3 lightDir = normalize(FragPos - lightPos);

标签: glsl

解决方案


漫射光是由法线向量和从表面到光源的向量的点积计算的。请参阅光照模型的计算如何在着色器程序中工作?


推荐阅读