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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • spring 笔记_spring实战pdf

    spring 笔记_spring实战pdfSpring实战1:Spring初探

    2022年4月21日
    73
  • kafka和mq的应用场景_kafka和mq

    kafka和mq的应用场景_kafka和mqkafka为什么有高的吞吐量?快来看看吧!~~~

    2022年10月13日
    1
  • 爱的最高境界

    爱的最高境界

    2021年7月26日
    67
  • lldp协议代码阅读_LLDP链路层发现协议详解

    lldp协议代码阅读_LLDP链路层发现协议详解LLDP(链路层发现协议)是定义在802.1ab中的一个二层协议,接入网络的设备可以通过其,将管理地址、设备标识、接口标识等信息发送给同一个局域网络的其它设备。LLDP帧格式封装有LLDPDU的报文称为LLDP帧,其封装格式有两种:EthernetII和SNAP(SubnetworkAccessProtocol,子网访问协议)。EthernetII格式封装的LLDP帧…

    2022年6月1日
    54
  • python求和怎么编程_python字符串数字求和

    python求和怎么编程_python字符串数字求和广告关闭腾讯云11.11云上盛惠,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元!的和实现环境:python3编辑器:pycharm分析:1、阶乘的计算就是比较麻烦的一部分,用递归函数实现是比较好的方案,先定义一个递归函数实现求阶乘功能。defrecursion(n):定义递归函数实现求阶乘功能ifn==1:return1else:returnn*recurs…

    2025年8月9日
    3
  • 模仿学习–技术综述[通俗易懂]

    模仿学习–技术综述[通俗易懂]概念:局限性:2.1数据的可获得性影子模式可以有效的解决数据的可获得性,但是其中的数据也包括了不值得提倡的司机行为;2.2模型的有效性端到端的特性:1)可解释性较差;可解释性上刚刚有所进展(可解释机器学习?-文档)2)难以在中间过程中,接收信息和指令;应用方式:1)基于规则的规划、控制模块,还是基础的功能实现方案;2)强化学习、模仿学习,作为规划、控制模块的备份方案,在极端场景下-connercase或规则无法覆盖的场景,能够有效的实现相应功能模块。论文及学习..

    2025年12月9日
    3

发表回复

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

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