计算机图形学入门V

Shading 1(Illumination,Shading and Graphics Pipeline)

一、图像深度关系与Z-buffer

  1. 画家算法(Painter’s Algorithm):后画的部分会遮挡先画的部分,但有的情况下无法正确定义深度关系(例如三个三角形互相遮挡),且时间复杂度为O(logn)
  2. 深度缓存(Z-Buffer):在生成图像的同时生成记录深度信息的深度图(规定摄像机位于原点并朝向z轴负方向,因此z越小代表距离视点越近,z越大代表距离越远)
    • frame buffer stores color values
    • z-buffer stores depth

原图与深度图

  1. 深度缓存算法(Z-Buffer Algorithm),时间复杂度为O(n)
    for(each triangle T)
    for(each sample(x,y,z) in T)
    if(z < zbuffer[x,y]) //closest samp;e so far
    framebuffer[x,y] = rgb; //update color
    zbuffer[x,y] = z; //update depth
    else … //do nothing,this sample is occluded

举一栗子

二、着色(Shading)

  1. 漫反射(Diffuse Reflection):光线入射后向各个方向均匀反射
  2. 光衰减(Light Falloff):以点光源为例,以光源为球心的球壳所带有的能量都是相等的,但随着半径增大,球壳表面积增大导致球壳上一点处的能量减小,导致了能量衰减
  3. Lambertian Shading
    • diffusely reflected light 漫反射光
    • diffuse coefficient 扩散系数/吸收系数(0~1,0代表全部吸收观测到为黑色,1代表全部反射观测到为原来的颜色)
    • energy arrived at the shading point 光衰减
    • n·l 法线向量与入射向量内积 代表其夹角cosθ

Lambertian (Diffuse) Shading

(下接 计算机图形学入门VI)

夏。 Pid:63754669


计算机图形学入门V
https://baifabaiquan.cn/2021/02/20/计算机图形学入门V/
作者
白发败犬
发布于
2021年2月20日
许可协议