给定光的位置 (x,y,z) 和像素的位置 (x,y,z),如何为局部照明方程的漫反射项找到光矢量 L?这是针对 phong 照明模型的。
问问题
273 次
2 回答
0
两个向量必须在同一个坐标系中。
对于点光源,光的位置是有限的 ( w != 0
),光向量是
vec4 L = normalize (light - point);
对于定向光,光的位置是无限的(w == 0
),光矢量是光本身的位置
vec4 L = light;
于 2012-11-23T14:25:31.910 回答
0
你不能只做一个向量减法吗?确保您的向量在同一个坐标系中,然后执行vec3 L = lightPos - pixelPos
.
假设您的两个向量都在眼睛坐标中,您通常会这样做
float diffuseLight = I_d * k_d * max(L * vec(0,0,1), 0)
之后得到光的贡献。
您应该为您的问题提供更多背景信息,要理解您的问题并不容易。
于 2012-11-23T08:43:20.823 回答