ShaderLab 使用默认的 unity 天空盒
ShaderLab use default unity skybox
所有反射测试都使用 属性 设置立方体贴图,例如:
Properties {
_Cube("Reflection Map", Cube) = "" {}
}
但我想对所有着色器使用 "Lighting" 中的天空盒。
怎么做?
使用 unity_SpecCube0,这里是使用 unity 的辅助函数进行采样的简单版本
half3 GetCube(half3 _vector, half _smoothness) {
half mip = _smoothness * 6.0;
half4 rgbm = UNITY_SAMPLE_TEXCUBE_LOD(unity_SpecCube0, _vector, mip);
return DecodeHDR(rgbm, unity_SpecCube0_HDR);
}
所有反射测试都使用 属性 设置立方体贴图,例如:
Properties {
_Cube("Reflection Map", Cube) = "" {}
}
但我想对所有着色器使用 "Lighting" 中的天空盒。 怎么做?
使用 unity_SpecCube0,这里是使用 unity 的辅助函数进行采样的简单版本
half3 GetCube(half3 _vector, half _smoothness) {
half mip = _smoothness * 6.0;
half4 rgbm = UNITY_SAMPLE_TEXCUBE_LOD(unity_SpecCube0, _vector, mip);
return DecodeHDR(rgbm, unity_SpecCube0_HDR);
}