2022-09-19 18:05:01 +08:00

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);
}