ray tracing in one weekend_rocket用法

ray tracing in one weekend_rocket用法RayTracing文章目录RayTracing光线追踪Whitted-StyleRayTracing求交点加速求交点BoundingVolumes包围盒BVHBasicradiometry(辐射度量学)RadiantfluxintensityIrradianceRadianceBRDF双向反射分布函数概率论回顾蒙特卡洛路径追踪蒙特卡洛积分路径追踪光线追踪1.光沿直线传播2.光线不会发生碰撞3.光路可逆性Whitted-StyleRayTracing递归算法,包括了光

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

Ray Tracing

光线追踪

在这里插入图片描述

在这里插入图片描述
1.光沿直线传播
2.光线不会发生碰撞
3.光路可逆性

Whitted-Style Ray Tracing

递归算法,包括了光线的反射与折射
在这里插入图片描述
在这里插入图片描述

求交点

在这里插入图片描述
在这里插入图片描述
交点必定满足两个方程,则可以通过参数化解出来t(t > 0 射线),则可以求出交点。

光线与三角形求交点:
在这里插入图片描述
求解公式:
在这里插入图片描述
MT算法:用重心坐标表示三角形内的点,如果t>0,并且b1,b2,1-b1-b2 >=0,求出的解才有意义。

加速求交点

在这里插入图片描述
复杂图片,计算量会很大!

Bounding Volumes 包围盒

在这里插入图片描述
和包围盒的面求交:
在这里插入图片描述
只有当所有对面都进入,光线才真正进入;
光线离开任意一对对面,光线就离开;
在这里插入图片描述

满足求解条件:
在这里插入图片描述

BVH

主要思想:把物体分隔开,求取它的包围盒,保证物体不会重复出现在多个包围盒中,但是,它对空间的划分没有那么严格,有可能在空间上会重叠。
在这里插入图片描述在这里插入图片描述

划分方法:
想法1:选择最长的维度进行划分
想法2:取最中间的物体,进行划分,保持树高度上的平衡(可采用快速选择算法)
在这里插入图片描述
BVH数据结构:
在这里插入图片描述
伪代码:
在这里插入图片描述
KDtree 与 BVH:
在这里插入图片描述

Basic radiometry(辐射度量学)

在这里插入图片描述
辐射通量、辐射强度、 辐照度、辐射亮度
在这里插入图片描述

Radiant flux

在这里插入图片描述

辐射能力、接收能量、传播中的能量
在这里插入图片描述

intensity

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
LED灯的60W并不是60W,而是相当于60W的白炽灯
在这里插入图片描述

Irradiance

在这里插入图片描述
面积是垂直法线的面积:
在这里插入图片描述

Radiance

在这里插入图片描述

ray tracing in one weekend_rocket用法
在这里插入图片描述

BRDF 双向反射分布函数

在这里插入图片描述
反射方程:
在这里插入图片描述
困难:光线不止弹射一次,(递归)
在这里插入图片描述

渲染方程:
在这里插入图片描述
面光源采用积分;
对于其他物体发射出来的光,可以视为一个新的光源;
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

概率论回顾

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

蒙特卡洛路径追踪

蒙特卡洛积分

在这里插入图片描述

在这里插入图片描述
例子:均匀采样
在这里插入图片描述

在这里插入图片描述
1.样本越多,越接近
2.在x上采样,在x上积分
在这里插入图片描述

路径追踪

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
直接光照伪代码:
在这里插入图片描述
引出间接光照:
在这里插入图片描述

在这里插入图片描述
问题:
在这里插入图片描述
N=1为路径追踪
在这里插入图片描述
在像素内发射多条路径:
在这里插入图片描述
ray tracing in one weekend_rocket用法
问题2:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
从光源采样:
在这里插入图片描述

ray tracing in one weekend_rocket用法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/213951.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 大学学姐给学弟学妹们的寄语_怎么去大厂工作

    大学学姐给学弟学妹们的寄语_怎么去大厂工作很多小伙伴问我进大厂到底需要怎样的技术能力,经过几天的思考和总结,终于梳理出一份相对比较完整的技能清单,太顶了,建议收藏!!

    2022年8月23日
    7
  • bwapp之sql注入_sql注入语句入门

    bwapp之sql注入_sql注入语句入门步骤下面简要介绍手工注入(非盲注)的步骤。1.判断是否存在注入,注入是字符型还是整数型2.猜解SQL查询语句中的字段数(orderby)3.确定显示的字段顺序4.获取当前数据库(爆库)5.获取数据库中的表(爆表)6.获取表中的字段名(爆字段)7.下载数据(爆数据)0x01SQLInjection(GET/Search)…

    2022年9月23日
    2
  • XXLFRESHMAN_Registrationanddownload-Step1of3

    XXLFRESHMAN_Registrationanddownload-Step1of3 Afreerapidsharepremiumlinkgenerator,veryusefullforfreeusersofrapidshare.Persiteyouhaveadownloadlimitof10filesperday.Enjoyit.Dontsaythatthisisnotworking,yo

    2025年9月28日
    4
  • 继电器模块典型电路图

    继电器模块典型电路图当控制端电压为0时,Q1基极电压为(12-0.7=11.3V),改变R1的大小便可改变基极电流,当基极电流足够大时,三极管饱合。为了验证以上的分析,我们搭了一个电路,R1取4.7K,此时基极电流为2.4ma,测得Q1ec电压为0.2V,继电器两端电压为11.8V。注意:R1的取值不能太小,要保证基极电流在安全范围,也不能太大,要保证三极管能完全饱合,这个可以通过电压和电阻算出

    2022年6月24日
    38
  • (小米系统系列一)小米/红米BL解锁,解BL锁方法(亲测可用)

    (小米系统系列一)小米/红米BL解锁,解BL锁方法(亲测可用)文章参考自原作者,原作者链接:https://www.bilibili.com/read/cv3305336/,https://www.xiaomi.cn/post/17982230第一步:解锁bootloader手机端操作????设置->关于手机->全部参数->猛戳MIUI版本>成功变身开发者模式;设置->更多设置->开发者选项->设备…

    2022年6月9日
    121
  • Redis源码编译与调试

    Redis源码编译与调试Redis 是目前最常用的缓存数据库 C 语言编写的 这里我用 Clion 编译调试 Clion 安装 CLion 是 JetBrains 推出的全新的 C C 跨平台集成开发环境 用来阅读 Redis 源码再合适不过了 函数调用查询 跳转都很方便 从官网下载安装即可 下载源码首先从官网下载源码下载后解压即可 编译 Clion 里用 CMake 编译 因此需要安装 CMake Mac 上直接命令安装即可 brewinstallc 源码有多个模

    2025年7月4日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号