本文最后更新于130 天前,其中的信息可能已经过时,如有错误请发送邮件到2939296129@qq.com
菲涅尔
菲涅尔现象

边缘光的效果
菲涅尔实现

float NdotV = dot(normalWS,viewWS);
float fresnel = pow(1 - NdotV, _FresnelPow);
Matcap
什么是MatCap

连连看

代码


float3 normalVS = normalize(TransformWorldToView(normalWS));
float2 matcapUV = normalVS.rg * 0.5 + 0.5;
float3 matcap = SAMPLE_TEXTURE2D(_Matcap,sampler_Matcap,matcapUV);
//颜色混合
float3 envSpecLighting = matcap * fresnel * _EnvIntensity;
CubeMap
什么是CubeMap?

连连看

代码


//变量定义
_CubeMap("环境贴图",Cube) = "_Skybox" {}
_CubeMip("环境贴图Mip",Range(1,7)) = 1
samplerCUBE _CubeMap;
float _CubeMip;
//片元着色器
float3 viewReflectWS = reflect(-viewWS,normalWS);
float3 cubeMap = texCUBElod(_CubeMap,float4(viewReflectWS,_CubeMip)).rgb;
作业

