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


相关推荐

  • c++读写文件的几种方法_include有什么用

    c++读写文件的几种方法_include有什么用在看C++编程思想中,每个练习基本都是使用ofstream,ifstream,fstream,以前粗略知道其用法和含义,在看了几位大牛的博文后,进行整理和总结:这里主要是讨论fstream的内容:#includeofstream//文件写操作内存写入存储设备ifstream//文件读操作,存储设备读区到内存中fstrea

    2022年9月19日
  • Awvs详细使用教程「建议收藏」

    Awvs详细使用教程「建议收藏」Awvs的是一款非常好用的web漏洞扫描工具,他的扫描速度比较快,可以自己选择扫描速度,比较灵活。Awvs分为老的版本和新版本,下面我介绍的是新版本的功能和用法。功能介绍如下:仪表盘(监视器)功能,添加目标功能,漏洞排序功能,扫描功能,发现功能,用户功能,扫描配置功能,网络扫描功能,追踪器功能,防火墙设置,邮件设置,引擎,时间排除功能,代理功能,常规设置主要使用的功能是前面的6个,后面的根据个人的需要进行配置详细介绍如下:Dashboard功能:翻译意思仪表盘(监视器),可以对扫描对扫描

    2022年10月22日
  • html a标签打开新窗口_a标签自动跳转

    html a标签打开新窗口_a标签自动跳转<ahref=”javascript:void(0);”onclick=”window.top.open(\”+url+’\’,\’_blank\’)”><iclass=”fafa-file-pdf-o”aria-hidden=”true”></i></a>

    2022年10月25日
  • 3D编程软件(3d动画需要编程吗)

    本篇文章中,我们学习了UnityShader的基本写法框架,以及学习了Shader中Properties(属性)的详细写法,光照、材质与颜色的具体写法。写了6个Shader作为本文Shader讲解的实战内容,最后创建了一个逼真的暴风雪场景进行了Shader的测试。依旧是国际惯例先上本文配套程序的截图。先是一张远眺图:

    2022年4月11日
  • 蓝牙键盘鼠标连接手提电脑无响应/罗技K380/雷柏鼠标「建议收藏」

    蓝牙键盘鼠标连接手提电脑无响应/罗技K380/雷柏鼠标「建议收藏」最近买了罗技的K380蓝牙键盘,支持连接三种设备,可以通过按键切换。另外也入手了雷柏的一款鼠标,同样也是支持三种设备切换。今天拿到办公室,连接手提的时候,第一次连接显示匹配错误,然后再搜索一直搜索不到了。经过排查以后,发现是蓝牙设备已经配对,但是没有连接成功,在蓝牙选项里的已配对设备里,把设备删除,重新搜索连接就可以了!转载于:https://www.cnblogs.com/miketian/…

    2022年9月13日
  • ny55 懒省事的小明

    ny55 懒省事的小明

    2021年8月24日

发表回复

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

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