计算机图形学---阴影相关知识

本文详细介绍了计算机图形学中阴影的相关概念,包括接受物、本影、半影和阴影的分类。硬阴影和软阴影的区别在于光源的性质,前者在点光源下呈现二值状态,后者更接近真实世界的阴影效果。阴影的生成方法主要包括自身阴影和投影阴影,其中自身阴影通过变换视点来区分向光面和背光面,而投影阴影则涉及复杂的光源和景物形状计算。经典阴影算法有投影阴影、阴影图和阴影体方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文整理自西安交通大学软件学院祝继华老师的计算机图形学课件,请勿转载

阴影相关术语

  • 接受物:可能接受光源照射的物体 。
  • 本影:任意一点均无法观察到光源任何部分。
  • 半影:任意一定可观察到部分光源。
  • 阴影:即任意一点不能完全地观察到整个光源。
  • 遮挡物:可遮挡光源中任意一点的物体。

Hard 阴影 vs Soft阴影

  • Hard阴影:点光源照射下,阴影问题是个二值状态
    • 在计算机图形学中,很容易生成点光源,并且有一些生成Hard阴影的实时算法;
    • Hard阴影真实感较差。
  • Soft阴影:几乎不存在真正意义上的点光源
    • 如太阳,其实也不是真正意义上的点光源,其所对应的阴影也不属于Hard阴影;
    • 对于非点光源,计算本影和半影区域是非常复杂的过程。

image-20220216201355033

阴影分类

自身阴影:光源被景物遮挡而在该景物本身;

投影阴影:在其后面产生的较暗的区域。

image-20220216201442660

自身阴影

点光源下,生成产生具有自身阴影的步骤:

  • 将视点移到光源位置,将景物的面分成向光面和背光面;
  • 将视点移到原来的观察位置,对景物的向光面和背光面进行消隐,选用一种光照模型计算景物各面的亮度
  • 如果面在阴影区域,那么该面的光强就只有环境光那一项,其他的那几项光强都为零,否则就用正常的模型计算光强

阴影算法与消隐算法相似

  • 消隐算法是根据视点看过去确定哪些面是可见的(前向面)或是不可见的(后向面)
  • 而阴影算法则要确定哪些面从光源位置看过去是亮的(向光面)或暗的(背光面)

投影阴影

投射阴影的区域和形态与光源及景物的形状有很大的关系

在光源的照射下,景物A在屏幕上产生了3个区域:本影区、半影区和无影区

image-20220216201702887

投射阴影区域:实际上是将光源作为观察方向时景物在与光源反向的某一平面上的落影区;

投射平面可以是场景中另一景物的表面或是一个非场景范畴的基面,如建筑物所在的地平面或屏幕等

经典的三种本影阴影方法:

  • 投影阴影;
  • 阴影图(Shadow Map)的方法;
  • 阴影体(Shadow Volume)的方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hydrion-Qlz

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值