Introduction to Shading
Introduction to Shading 1 What is Shading: Light-Matter Interaction 在本篇博客中,我们会首次了解到“shading”的含义,以及影响物体外观的因素,例如光线强度、光线方向、物体表面相对于光源的朝向、物体的颜色等等。当我们理解了这些基础概念后,我们将会探讨一些用于计算着色的基本技巧,并在后续探讨更深层次的东西,例如反射与...
Introduction to Shading 1 What is Shading: Light-Matter Interaction 在本篇博客中,我们会首次了解到“shading”的含义,以及影响物体外观的因素,例如光线强度、光线方向、物体表面相对于光源的朝向、物体的颜色等等。当我们理解了这些基础概念后,我们将会探讨一些用于计算着色的基本技巧,并在后续探讨更深层次的东西,例如反射与...
1 Phong Mode and Concepts of Illumination Models and BRDF 1.1 The Phong Model 在之前的博客中,我们了解了如何模拟镜面/漫反射材质,那光滑表面的着色要如何实现呢?如下图所示,现实中的绝大多数物体同时具备漫反射与镜面反射: 材质具有这种双重性质的原因比较复杂。某些材质本身就是多种材质的复合构成物,而有些物质则...
1 Motivation 传统的方形纹理平铺通常会带来很明显的纹理重复的视觉问题,尤其是在地形渲染的情况下,如下图所示: 通过Hex Tiling的手段,则可以在很大程度上减弱该问题,如下图所示: 传统的纹理平铺基于方形网格),而 Hex Tiling 使用六边形网格。在六边形的边缘区域,通过计算像素到相邻六边形中心的距离,动态混合多个纹理变体,实现平滑过渡。 此外,使用...
[Homogeneous Coordinates, Clip Space, and NDC WebGPU Carmen’s Graphics Blog](https://carmencincotti.com/2022-05-02/homogeneous-coordinates-clip-space-ndc/) Fragment Shader中的SV...
Blending in Detail 1. 法线贴图 在了解法线混合之前,我们首先需要了解法线贴图自身的含义:法线贴图通过 RGB 通道的三个分量存储表面法线的方向信息,这些分量直接决定了光照计算的细节表现。 1.1 切线空间 法线贴图通常基于 切线空间(Tangent Space),而非模型或世界空间。也就是说,RGB通道分别表示切线空间中的三个轴向的向量: R通道 → ...
Triplanar Mapping 实现思路 在常规的纹理映射中,我们用于采样纹理的UV来自于网格体。但某些情况下,网格体中并没有可用的UV,例如程序化几何体,或者实时生成的地形系统。此时,我们需要其他的方法来实现纹理映射,一种常见的思路是使用三面映射。 三面映射的核心思路是利用片段的世界空间坐标来生成UV,并在不同的轴向加以不同的权重,从而生成合适的UV。 实现细节 简...
1 Theory 一个PBR光照模型需要满足下面三个条件才能被认为是“基于物理”的: 基于微表面模型 满足能量守恒 使用基于物理的BRDF 1.1 Microfacet Model 在微表面理论中,所有的表面在微观层面上都可以通过一些“微小”、“完美镜面反射”的微表面进行描述。根据表面的粗糙度不同,这些微表面的朝向也会有所区别: 如上图所示,表面越粗糙,那么微表...