-1

给定光的位置 (x,y,z) 和像素的位置 (x,y,z),如何为局部照明方程的漫反射项找到光矢量 L?这是针对 phong 照明模型的。

4

2 回答 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 回答