在Unity中实现三面映射Shader
Triplanar Mapping 实现思路 在常规的纹理映射中,我们用于采样纹理的UV来自于网格体。但某些情况下,网格体中并没有可用的UV,例如程序化几何体,或者实时生成的地形系统。此时,我们需要其他的方法来实现纹理映射,一种常见的思路是使用三面映射。 三面映射的核心思路是利用片段的世界空间坐标来生成UV,并在不同的轴向加以不同的权重,从而生成合适的UV。 实现细节 简...
Triplanar Mapping 实现思路 在常规的纹理映射中,我们用于采样纹理的UV来自于网格体。但某些情况下,网格体中并没有可用的UV,例如程序化几何体,或者实时生成的地形系统。此时,我们需要其他的方法来实现纹理映射,一种常见的思路是使用三面映射。 三面映射的核心思路是利用片段的世界空间坐标来生成UV,并在不同的轴向加以不同的权重,从而生成合适的UV。 实现细节 简...
1 Theory 一个PBR光照模型需要满足下面三个条件才能被认为是“基于物理”的: 基于微表面模型 满足能量守恒 使用基于物理的BRDF 1.1 Microfacet Model 在微表面理论中,所有的表面在微观层面上都可以通过一些“微小”、“完美镜面反射”的微表面进行描述。根据表面的粗糙度不同,这些微表面的朝向也会有所区别: 如上图所示,表面越粗糙,那么微表...