菲涅耳效应 | 您所在的位置:网站首页 › 泰伯效应实验报告 › 菲涅耳效应 |
菲涅耳效应
当光从一种具有折射率为n1的介质向另一种具有折射率为n2的介质传播时,在两者的交界处(通常称作界面)可能会同时发生光的反射和折射。
菲涅耳反射: 反射比:入射光的功率被界面反射的比例。 折射比:入射光的功率被界面折射的比例。
光的偏振: 光是一种横向电磁波;这意味着电场矢量和磁场的矢量垂直于波的传播方向。当某个波列的所有电场矢量都处于同一平面时,我们可以说这个波是平面偏振或线偏振。这个平面的方向即为偏振方向。如图
入射光和反射光会形成一个平面,如果偏振矢量垂直于该平面,则称为 s 偏振。如果光线的偏振矢量在这个平面内,则称为 p 偏振。反射比和透射比的具体形式还与入射光的偏振有关。
1.s 偏振:
这里的Rs,Rp和R都是反射比,而折射比为:T = 1 - R。这里的R和T是比不是率,所以我们还需要求出率来: 结论: 1.对于给定的折射率和且入射光为p偏振光时,当入射角为某一定值时为零,此时p偏振光被完全透射而无反射光出射。这个角度被称作布儒斯特角,其实就是完全折射角。 2.当光从光密介质向光疏介质传播时(即时),存在一个临界的入射角,对于大于此入射角的入射光,此时入射光完全被界面反射。这种现象称作全内反射,临界角被称作全反射临界角。 菲尼尔计算: factor = bias + scale * (1.0f + I·N)power color = factor * 反射光颜色 + (1 - factor) * 折射光颜色 其中,bias为偏移系数,scale为缩放系数,power为Fresnel指数,I为入射光方向向量,N为发向量。边缘或表面的尖锐程度. (油漆丝绸:1,液体: 2-8)。 Fresnel Effect: #if ENV_MAP == 1 /// 菲涅耳效果 float3 etaRatio = float3(0.7f , 0.8f , 0.6f); float3 I = worldpos - g_vEyeModel; float3 R = reflect(I ,normal); float3 Tred = refract(I , -normal , etaRatio.x); float3 Tgreen = refract(I , -normal , etaRatio.y); float3 Tblue = refract(I , -normal , etaRatio.z); float refFactor = 0.1f + 0.1f * pow(1.0f + dot(I , normal) , 1.0f); float4 reflectedColor = texCUBE(EnvSampler ,R); float4 refractedColor; refractedColor.r = texCUBE(EnvSampler , Tred).r; refractedColor.g = texCUBE(EnvSampler , Tgreen).g; refractedColor.b = texCUBE(EnvSampler , Tblue).b; refractedColor.a = 1; float4 combColor = lerp(refractedColor , reflectedColor , refFactor); color = lerp(color , combColor , 0.8f); #endif
|
CopyRight 2018-2019 实验室设备网 版权所有 |