15 lines
502 B
Bash
15 lines
502 B
Bash
precision mediump float;
|
|
uniform samplerCube sTexture;//纹理内容数据
|
|
varying vec3 eyeVary; //接收从顶点着色器过来的视线向量
|
|
varying vec3 newNormalVary; //接收从顶点着色器过来的变换后法向量
|
|
vec4 zs( //根据法向量、视线向量及斯涅尔定律计算立方图纹理采样的方法
|
|
in float zsl //折射率
|
|
){
|
|
vec3 vTextureCoord=refract(-eyeVary,newNormalVary,zsl);//根据斯涅尔定律计算
|
|
vec4 finalColor=textureCube(sTexture, vTextureCoord);
|
|
return finalColor;
|
|
}
|
|
void main(){
|
|
gl_FragColor=zs(0.94);
|
|
}
|