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


相关推荐

  • main(argc,argv)中参数含义_c语言int char

    main(argc,argv)中参数含义_c语言int char这篇文章主要介绍了C语言中intmain(intargc,char*argv[])的两个参数详解的相关资料,需要的朋友可以参考下:转载自:https://www.jb51.net/article/107168.htm        https://www.cnblogs.com/ruixingw/p/3705918.htmlC语言中intmain(inta…

    2025年6月3日
    5
  • PHP生成随机数(昵称随机生成器)

    <?php/***@paramint$type1生成昵称,2生成姓名*//汉语-给用户自动生成昵称*/functionnickname($type=1){/***随机昵称形容词*/$nicheng_tou=[‘迷你的’,’鲜艳的’,’飞快的’,’真实的’,’清新的’,’幸福的’,’可耐的’,’快乐的’,’冷静的’,’醉熏的’,’潇洒的’,’糊涂的’,’积极的’,’冷酷的’,’深情的’,’粗暴的’,’温

    2022年4月11日
    82
  • centos filezilla

    centos filezilla

    2021年8月11日
    83
  • ajax asmx 404,ajax webservice asmx 401未经授权的错误(ajax webservice asmx 401 unauthorized error)…

    ajax asmx 404,ajax webservice asmx 401未经授权的错误(ajax webservice asmx 401 unauthorized error)…ajaxwebserviceasmx401未经授权的错误(ajaxwebserviceasmx401unauthorizederror)我有一个内部网站,需要登录才能让人们在会议期间记录笔记和其他信息。我试图通过AJAX调用将数据发布到同一服务器上的Web服务,在同一文件夹中。我收到401未经授权的错误。使用Javascript:functionsaveNotes(){var…

    2022年4月30日
    33
  • 【C#】 Mutex简单示例

    【C#】 Mutex简单示例Mutex简单示例:namespaceMutexTest{classProgram{//用于Mutex的TeststaticvoidMain(string[]args){System.Security.Cryptography.MD5md5=newSystem.Securi…

    2022年6月26日
    30
  • python游戏代码200行_python 贪吃蛇

    python游戏代码200行_python 贪吃蛇python语言,总所周知是比较简单的,而且代码也不会像java那样多,下面就使用python的第三方库pygame进行开发一个贪吃蛇游戏。1.pygame的安装直接在cmd当中使用pipinstallpygame进行安装。或者在pycharm当中自动导入安装也OK2.全局变量的定义在代码当中会使用到很多这种变量的值,直接在最开始进行定义,后面获取变量即可W=600#屏幕宽H=400#高fps=12#帧率size=(W,H)ROW=

    2022年8月11日
    11

发表回复

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

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