GAMES101(13节Ray Tracing)

news2024/11/15 14:03:45

Ray Tracing

基本原理:

我们知道为什么会看到物体的颜色,因为光线照射物体,未被吸收的光线反射到人眼,因此,我们看到的颜色,就是光的一部分,光线追踪就是模拟这个过程

光线假设:

延直线传播,光线间不会碰撞,光线会反射和折射,可逆性:人眼(相机)可以发射光线经过一系列反射传回光源

基本原理

假设从摄像机(一个位置)发射光线primaryRay,穿过摄像机前平面的每个像素,投射到世界场景中(找到第一个投射到的物体)point,

可能和场景相交也可能不相交,其中相交的和光源做连线shadowRay,如果没有物体遮挡即对光源可见,

如果可见,point位于非阴影,根据光照模型算法计算着色,写入这个像素

whitted-style光线追踪

whitted-style光线追踪:

穿过一个像素的光线primaryRay,投射到世界包含反射和折射secondaryRay,每次交点和光源连线shadowRay,只要这个光线路径未被遮挡,就将计算交点的着色颜色值加到像素中

求primaryRay与世界交点:

从光源(相机)的射线:o光源起点 + td(t:0---无穷参数,d是光方向)的线性插值

球几何的隐式函数:从表面任何点p到圆心距离平方 == 半径的平方

如何求交点?应即在光线又在球体表面的某个点,也就是同时满足这两个方程,即将ray表示某个点,传入球函数中,仅有一个参数t是未知的

根据数学公式,变换为2次多项式,有3中光线和球体的可能(相交相切相离),其中相交取首次的交点,相切取交点

其中结果需要为实数不能为虚数,并且结果需要为正数

如果用显示描述方法如何判断点(光线起点)是否和几何内,从光线向任意方向发送射线,看焦点个数,如果为偶数,则在几何外,为奇数在几何内

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

DHCP协议原理(网络协议)

DHCP简介 定义 DHCP(动态主机配置协议)是一种网络管理协议,能够自动为局域网中的每台计算机分配IP地址及其他网络配置参数,包括子网掩码、默认网关和DNS服务器等。这一机制极大简化了网络管理,尤其在大型局域网中&am…

聊聊AUTOSAR:基于Vector MICROSAR的TC8测试开发方案

技术背景 车载以太网技术作为汽车智能化和网联化的重要组成部分,正逐步成为现代汽车网络架构的核心,已广泛应用于汽车诊断(如OBD)、ECU软件更新、智能座舱系统、高清摄像头环视泊车系统等多个领域。 在这个过程中,ET…

CSS 的元素显示模式简单学习

目录 1. 元素显示模式 1.1 概述 1.2 块元素 1.3 行元素 1.4 行内块元素 1.5 元素显示模式总结 2. 元素显示模式转换 3. 单行文字垂直居中 4. 案例演示 1. 元素显示模式 1.1 概述 1.2 块元素 1.3 行元素 1.4 行内块元素 1.5 元素显示模式总结 2. 元素显示模式转换 3. 单…

通过markdown表格批量生成格式化的word教学单元设计表格

素材: 模板: 代码: import pandas as pd from python_docx_replace import docx_replace,docx_get_keys from docx import Document from docxcompose.composer import Composerdef parse_markdown_tables(file_path):with open(file_path,…

DOCKER 数据库管理软件自己开发--———未来之窗行业应用跨平台架构

- 数据异地容灾服务--未来之窗智慧数据服务 DATA REMOTE DISASTER RECOVERY SERVICE -CyberWin Future Docker-数据查看 CyberWin DATA Viewer 1.docker 样式 mysqli://root:密码172.17.0.2:端口/数据库 阿雪技术观 拥抱开源与共享,见证科技进步奇迹,…

AMD小胜!锐龙7 9700X VS. i7- 14700K网游对比

一、前言:两款高端处理器的网游对比测试 半个月前,我们做了锐龙5 9600X与i5-14600K的网游帧率测试,结果有点意外,几款游戏平均下来,锐龙5 9600X比i5-14600K竟然强了19%之多。 今天我们将会对锐龙7 9700X和i7-14700K进行…

【高阶数据结构】二叉搜索树的插入、删除和查找(精美图解+完整代码)

🤡博客主页:醉竺 🥰本文专栏:《高阶数据结构》 😻欢迎关注:感谢大家的点赞评论关注,祝您学有所成! ✨✨💜💛想要学习更多《高阶数据结构》点击专栏链接查看&a…

【鸿蒙】HarmonyOS NEXT开发快速入门教程之ArkTS语法装饰器(上)

文章目录 前言一、ArkTS基本介绍1、 ArkTS组成2、组件参数和属性2.1、区分参数和属性的含义2.2、父子组件嵌套 二、装饰器语法1.State2.Prop3.Link4.Watch5.Provide和Consume6.Observed和ObjectLink代码示例:示例1:(不使用Observed和ObjectLi…

Windows11家庭版修改用户密码策略为永不过期。

今天有个朋友找到我说,他的电脑密码老是过期然后需要修改,让我帮忙改一下密码策略,改为永不过期。 下面就来操作一下吧。 这里有个小小的坑,就是win11的家庭版是没有 gpedit.msc的,也就不能直接cmd打开本地策略便器&…

【WebGis开发 - Cesium】获取视野中心点,并设置顶视图视角

引言 项目开发过程中遇到一个需求,通过一个按钮切换视角为顶视图。 分析了一下这个模糊的需求,首先没有给出切换顶视图后俯视的区域范围,其次没有给出俯视点的高度。 这里可以粗略的认为当前的侧俯视的角度下观看的范围即为俯视的区域范围&am…

视频美颜SDK核心功能解析:打造高效直播美颜工具方案详解

随着直播行业的迅猛发展,用户对于直播画质和个人形象的要求越来越高。视频美颜SDK作为一项关键技术,已经成为各大直播平台和短视频应用的重要组成部分。通过实时美颜技术,用户能够在直播过程中呈现出更加理想的形象,从而提升直播体…

实验一:Windows下的IIS服务器配置和管理

第一次实验隐藏关很多,稍不留神服务器就寄了。 实验一完成后会有联网问题,问题解决详见番外篇。 实验内容 任务一: 1、建立一个基于主机名www.study.com的站点,站点的主目录为C:\inetpub\wwwroot,给站点建立一个虚拟…

Codeforces Round 973 (Div. 2) F1. Game in Tree (Easy Version)(思维题 博弈)

题目 思路来源 乱搞ac 题解 两个人的策略是一样的,把1到u的路径标记, 如果能走旁边的链(也就是当前点,刨去标记链以外的子树中最长的链), 使得对面走剩余的连通块无法比你大,就走旁边的链&…

业务资源管理模式语言16

示例: 图25 描述了PayForTheResourceTransaction 的一个实例。其中,“Sale”扮演“Resource Transaction”,“Accounts Receivable”扮演“Payment”。 图25——PayForTheResourceTransaction 模式实例 相关模式: PayForTheRes…

特殊类的设计与类型转换

特殊类的设计 1.请设计一个不能被拷贝的类 拷贝只会放生在两个场景中:拷贝构造函数以及赋值运算符重载,因此想要让一个类禁止拷贝,只需让该类不能调用拷贝构造函数以及赋值运算符重载即可。 C98 C98是怎么设计的呢? class Cop…

从零开始讲DDR(3)——DDRC与DDRPYH

一、DDR的使用 在之前的文章中我们介绍了DDR的基本概念,但是DDR内存的操作不仅仅是简单的数据读取和写入,它包括许多时序要求和信号调度。为了让DDR内存有效运作,系统需要在逻辑层和物理层之间进行大量的协作。我们拿出一张DDR的操作简化状态…

MySQL程序

目录 MySQL程序 常用的MySQL的程序 mysqld程序 mysql客户端 客户端命令的常用的选项 配置文件 配置文件语法 MySQL客户端命令 ​编辑 .sql 文件中执行SQL语句 mysqlcheck (表维护程序) Mysqldump(数据库备份程序) mysql…

单片机项目合集列表——Excel合集列表目录查阅(持续更新)

阿齐Archie《单片机项目合集》专栏项目 为方便查找本专栏的项目,特整理Excel合集列表供查阅(可搜索或按系列查找) 持续更新链接如下: 阿齐单片机项目合集 (kdocs.cn)https://www.kdocs.cn/l/cmrxCxJN05YN 打开链接如下Exce表所…

【开源免费】基于SpringBoot+Vue.JS网上购物商城(JAVA毕业设计)

本文项目编号 T 041 ,文末自助获取源码 \color{red}{T041,文末自助获取源码} T041,文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析5.4 用例设计 六、核…

代码随想录Day50|图论Part01,leetcode题目:98. 所有可达路径

提示:DDU,供自己复习使用。欢迎大家前来讨论~ 文章目录 图论理论基础Part01图的基本概念图的种类 连通性连通图强连通图连通分量强连通分量 图的构造邻接矩阵邻接表 图的遍历方式 深度优先搜索理论基础DFS 与 BFS 区别dfs 搜索过程代码框架深搜三部曲为…