给定光位置(x,y,z)和像素(x,y,z)的位置,如何找到局部照明方程的漫射项的光矢量L?这是用于phong照明模型。
答案 0 :(得分:0)
你不能只做矢量减法吗?确保您的矢量位于相同的坐标系中,然后执行vec3 L = lightPos - pixelPos
。
假设你的两个矢量都在眼睛坐标中,你通常会做
float diffuseLight = I_d * k_d * max(L * vec(0,0,1), 0)
然后从灯光中获得贡献。
你应该给你一些更多的背景问题,理解你的问题并不容易。
答案 1 :(得分:0)
两个向量必须位于相同的坐标系中。
对于点光源,光的位置是有限的(w != 0
),光矢量是
vec4 L = normalize (light - point);
对于定向光,光的位置是无限的(w == 0
),光矢量是光本身的位置
vec4 L = light;