Shadows实时阴影原理

文章目录

  • 一、Shadows Mapping
    • 1.第一个Pass:从光源Light射出方向出发,记录到达像素(片元)最浅的距离
    • 2.第二个Pass:从眼睛(摄像头)看向方向出发,渲染场景得到像素(片元),如片元A
  • 二、Shadows Mapping 由于数值精度会出现的问题 Shadows Bias:

一、Shadows Mapping

最主流的阴影算法,分俩趟Pass渲染。

1.第一个Pass:从光源Light射出方向出发,记录到达像素(片元)最浅的距离

在这里插入图片描述
得到一张Texture,也就是深度图:0-1 黑-白 物体离得越近越黑。
在这里插入图片描述

2.第二个Pass:从眼睛(摄像头)看向方向出发,渲染场景得到像素(片元),如片元A

在这里插入图片描述

计算这些片元(如A)到光源的距离:黄线,和Pass1的距离一样,说明光源可见 A没有被遮挡,没有阴影。
在这里插入图片描述

如果片元A到光源的距离,黄线比在Pass1深度图记录的距离(B到光源)更远,则说明片源A被遮挡,A处有阴影。
在这里插入图片描述

二、Shadows Mapping 由于数值精度会出现的问题 Shadows Bias:

在这里插入图片描述
由于光源离地平线越近,光源到像素的距离1和摄像头到像素的距离2就会不一致,地面就会出现类似摩尔纹的阴影错误。
在这里插入图片描述
通常可以增加一个根据角度改变的偏移距离Bias值来解决摩尔纹的阴影错误。
但如果Bias过大就会又出现如图脚步阴影悬空的问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/177816.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【广州华锐互动】地震防灾减灾科普3D虚拟展厅:向公众普及地震安全知识

在面对自然灾害时,我们都需要有足够的知识和准备来保护自己和他人。这就是为什么地震安全知识的普及如此重要。然而,传统的教育方法可能无法满足所有人的需求,特别是在这个数字化的时代。为了解决这个问题,广州华锐互动制作开发了…

人工智能基础_机器学习035_多项式回归升维实战2_使用sklearn的PolynomialFeatures进行升维---人工智能工作笔记0075

我们再来做一个升维处理,这里我们不再自己去对数据进行比如,相乘操作,来给数据手动添加维度了, 这里我们用sklearn库提供的PolynomialFeatures来自动对数据进行升维. from sklearn.linear_model import LinearRegression # PolynowlalFeatures,多项式升维处理 from sklearn.…

音画欣赏|《纯洁的梦乡》

《纯洁的梦乡》 80x60cm 陈可之2021年绘 题龙阳县青草湖 【元】唐温如 西风吹老洞庭波,一夜湘君白发多。 醉后不知天在水,满船清梦压星河。 车遥遥篇 【宋】范成大 车遥遥,马憧憧。 君游东山东复东,安得奋飞逐西风。 愿我如星…

notpad++正则化,利用关键字符删除整行

首先,ctrlf,选中[替换],勾选正则表达式(可以勾选[匹配大小写],不用勾选[匹配新行])。在[查找目标]框输入[^(.*)"car_no_clean"(.*)$\n]。在$后加上\n,可以将被替换的行直接删除,不加则…

如何做好测试用例设计

1、测试用例设计 1.1、确定测试范围 1、必须有完整的需求文档 2、需求已经组织评审和澄清 3、必须有完整的功能列表 1.2、用例设计原则 1、遵循“边界值”全覆盖原则 2、遵循”等价类划分场景“全覆盖原则 3、遵循”测试用例路径唯一“原则 当出现多个路径时,需要新…

精益管理3个阶段,如何实现高效企业管理?

在现今竞争激烈的市场环境下,企业需要不断提高经营效率和降低成本来保持竞争力。其中,精益管理是一种不错的管理方式,在各大企业得到广泛的运用。今天我们来了解一下精益管理的3个阶段,以及如何使用精益管理工具来实现高效企业管理…

高项备考葵花宝典-十大知识领域五大过程组-知识点综合归纳-考试技巧

不要怕,高项是比较难的一个考试。 项目管理总体一览口诀: 项目执行(指导与管理项目工作)数据(工作绩效数据)请收集,项目控制有依据,范围要认(检查),也要核(偏差分析),进度、成本、 采购要审查(绩效审查)&am…

【mujoco】Ubuntu20.04配置mujoco210

【mujoco】Ubuntu20.04配置mujoco210 文章目录 【mujoco】Ubuntu20.04配置mujoco2101. 安装mujoco2102. 安装mujoco-py3.使用render时报错Reference 本文简要介绍一下如何在ubuntu20.04系统中配置mujoco210,用于强化学习。 1. 安装mujoco210 在官方资源里找到http…

【Python】逆向与爬虫的故事

目录 一、前言 二、爬虫 1、什么是爬虫? 2、Python 爬虫的主要工具 3、爬虫的基本流程 4、实例代码 三、逆向 1、什么是逆向? 2、Python 逆向的主要工具 3、逆向的基本流程 4、实例代码 四、总结 一、前言 随着互联网技术的发展&#xff0c…

Pikachu漏洞练习平台之CSRF(跨站请求伪造)

本质:挟制用户在当前已登录的Web应用程序上执行非本意的操作(由客户端发起) 耐心看完皮卡丘靶场的这个例子你就明白什么是CSRF了 CSRF(get) 使用提示里给的用户和密码进行登录(这里以lili为例) 登录成功后显示用户…

STM32F407: CMSIS-DSP库的移植(基于库文件)

目录 1. 源码下载 2. DSP库源码简介 3.基于库的移植(DSP库的使用) 3.1 实验1 3.2 实验2 4. 使用V6版本的编译器进行编译 上一篇:STM32F407-Discovery的硬件FPU-CSDN博客 1. 源码下载 Github地址:GitHub - ARM-software/CMSIS_5: CMSIS Version 5…

Uniapp导出的iOS应用上架详解

目录 Uniapp导出的iOS应用上架详解 摘要 引言 苹果审核标准 苹果调试 注意事项和建议 总结 摘要 本文将探讨Uniapp导出的iOS应用能否成功上架的问题。我们将从苹果审核标准、性能影响、调试流程等多个方面进行深入分析,以及向开发者提供相关注意事项和建议。…