Games101作业7 蒙特卡洛路径追踪

news2024/10/5 22:15:18

文章目录

    • 基本思想
    • 基本代码
    • 问题1:我们采取每次弹射都弹射N跟光线,此时会发生指数爆炸
    • 问题2:这是一个递归的过程,递归的终止条件我们还没规定
    • 优化,对光源直接进行采样

本文不涉及:蒙特卡洛积分的原理以及渲染方程是如何推到出来,而是一步一步阐述蒙特卡洛路径追踪是如何解渲染方程的。

基本思想

渲染方程告诉我们的是,我们需要在物体表面的半球上进行积分,才能解出这个渲染方程,但是在半球上进行积分计算机不擅长做这个事情,因此我们采用蒙特卡洛积分解决这个问题

在这里插入图片描述

在这里插入图片描述
根据蒙特卡洛积分的原理,我们可以把连续的积分,转化成对离散的数值进行求和

在这里插入图片描述

基本代码

  1. 从摄像机打出的光线直接打到了光源

在这里插入图片描述
2. 从摄像机打出的光线,打到了物体,光线经过弹射打到光源,根据蒙特卡洛积分,我们每次弹射都弹射N跟光线

在这里插入图片描述

这样我们就得到了基本的代码
在这里插入图片描述

问题1:我们采取每次弹射都弹射N跟光线,此时会发生指数爆炸

在这里插入图片描述
我们如何解决这个问题呢?
令N=1即可
在这里插入图片描述
但这样得到的图像噪声是很大的,我们仅需在一个像素内,打多根光线就行解决这个问题
在这里插入图片描述

在这里插入图片描述

问题2:这是一个递归的过程,递归的终止条件我们还没规定

解决方法1:我们人为的规定光线能弹射的最大次数,但这样做会有能量的损失,这里就不展开来说了

解决方法2:引入俄罗斯轮盘赌的方法
光线是否继续弹射,我们规定一个概率,从0到1进行随机选取一个数,若小于则继续进行光线的弹射
在这里插入图片描述
其实到这里,蒙特卡洛路径积分就已经完成了,为了加快收敛的速度,我们需选取更为合适的pdf

优化,对光源直接进行采样

在下面这种情况下,当光源面积很大时,我们仅需很少的光线就能得到想要的效果,而当光源面积很小时,需要很多的光线才能打到光源,因此为了能尽快的打到光源,我们需要采取合适的pdf,直接对光源进行采样
在这里插入图片描述

因为蒙特卡洛积分要求对谁积分就要在谁上面进行采样,所以渲染方程进行改写,从对dω积分改为对dA积分,我们只需要知道dω和dA的关系然后替换即可。怎么替换?我们想想立体角的定义,面积除以距离平方,那我们只需要把dA这块面积投影到球面上然后除以着色点x和光源处点x’距离的平方即可,面积投影可以用cosθ’求得。而采样分布函数p(X)就是1/A,因为我们在光源上进行均匀的采样。这样一来我们就把渲染方程改为了对光源的积分。
在这里插入图片描述
这样我们就加速了积分的收敛速度

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

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

相关文章

长胜证券:全球年内最大IPO“首秀”,标普香港创业板指数即将归零?

当地时间周四,美股三大股指团体上涨。到收盘,道指涨0.96%,报34907.11点;标普500指数涨0.84%,报4505.10点;纳指涨0.81%,报13926.05点。 美国8月PPI数据、零售出售月率双双超预期。美国8月PPI同比…

【Feign】feignclient发送formdata请求

文章目录 前言实操示例代码注意 常见问题formdata类型的post请求,为什么参数会被拼到url上?分析总结 RequestPart只可以接收文件吗?分析一些示例注意 前言 小伙伴们在使用feign进行远程调用时,会遇到formdata类型的post请求&…

5.docker可视化工具(Portainer)

本文操作,在 192.168.204.102 机器执行 安装最新版 portainer,请使用 portainer/portainer-ce 镜像。图片来源:https://hub.docker.com/r/portainer/portainer。   来这里可查看最新版本:https://github.com/portainer/p…

SQL 注入攻击的原理是什么

什么是 SQL 注入攻击,SQL 注入攻击的原理是什么 SQL 注入攻击是一种常见的网络安全漏洞,攻击者可以通过注入恶意 SQL 语句来攻击 Web 应用程序。本篇文章将介绍 SQL 注入攻击的原理和如何防范 SQL 注入攻击,并提供一些代码示例。 什么是 SQL…

数据库逻辑透明-架构真题(二十九)

(2020年)假设某计算机字长为32位,该计算机文件管理系统磁盘空间管理采用位示图(bitmap)记录磁盘的使用情况。若磁盘的容量为300GB,物理块大小为4MB,那么位示图的大小为()…

LeetCode LCR 026. 重排链表

LCR 026. 重排链表 中等 128 相关企业 给定一个单链表 L 的头节点 head ,单链表 L 表示为: L0 → L1 → … → Ln-1 → Ln 请将其重新排列后变为: L0 → Ln → L1 → Ln-1 → L2 → Ln-2 → … 不能只是单纯的改变节点内部的值&#xff0c…

服务拓扑串联难?eBPF为滴滴可观测带来解题新思路

上篇文章我们讲到可观测性在滴滴的实践与落地,更多关注的是不同观测信号之间的关联关系。那服务与服务之间的关系又如何串联,业界当前爆火的 ebpf 又在滴滴有着怎样的应用,本文为你揭晓。 背景 业务介绍:业务接口调用观测 滴滴可观…

基于Linux对MySQL数据库的安全加固指南(超实用--实战版)

👨‍🎓博主简介 🏅云计算领域优质创作者   🏅华为云开发者社区专家博主   🏅阿里云开发者社区专家博主 💊交流社区:运维交流社区 欢迎大家的加入! 🐋 希望大家多多支…

零基础学前端(四)重点讲解 CSS

1. 该篇适用于从零基础学习前端的小白 2. 初学者不懂代码得含义也要坚持模仿逐行敲代码,以身体感悟带动头脑去理解新知识 3. 初学者切忌,不要眼花缭乱,不要四处找其它文档,要坚定一个教授者的方式,将其学通透&#xff…

柏曼的护眼台灯怎么样?明基、书客、柏曼护眼台灯测评对比

台灯是最常见的一种照明灯具,基本每家每户都有着一台,大多数是给孩子学习使用的。而且现在的孩子学习压力都非常繁重,导致很多孩子早早就开始近视了。不少家长也开始重视孩子的视力健康,给孩子挑选护眼台灯。不过市面上的护眼台灯…

抖去推爆款视频生成器怎么制作开发?--短视频矩阵系统研发

在当今的数字时代,短视频已经成为一种非常受欢迎的内容形式。人们通过观看短视频来获取娱乐、学习和营销信息。然而,制作优秀的爆款视频并不容易,这需要创意、技能和时间。为了简化这一过程,抖去推推出了一款爆款视频生成器&#…

无CDN场景下的传统架构接入阿里云WAF防火墙的配置实践

文章目录 1.配置网站接入WAF防火墙1.1.配置网站接入方式1.2.填写网站的信息1.3.WAF防火墙生成CNAME地址 2.配置WAF防火墙HTTPS证书3.修改域名DNS解析记录到WAF防火墙4.验证网站是否接入WAF防火墙 传统架构接入WAF防火墙非常简单,配置完WAF网站接入后,将得…

KPM算法

概念 KMP(Knuth–Morris–Pratt)算法是一种字符串匹配算法,用于在一个主文本字符串中查找一个模式字符串的出现位置。KMP算法通过利用模式字符串中的重复性,避免无意义的字符比较,从而提高效率。 KMP算法的核心思想是…

【持续记录】深度学习环境配置

1080面对Transformer连勉强也算不上了,还是要去用小组公用的卡 完整记一个环境配置,方便后面自用✍️ nvidia-smi查看GPU信息 ** CUDA版本12.2 conda -V查询conda版本 22.9.0 新建conda环境 准备装python3.8 conda create --name caiman python3.8.2激…

Apollo自动驾驶平台的未来展望:从智能出行到城市管理

引言: 自动驾驶技术已经从科幻概念变为现实,而Baidu的Apollo自动驾驶平台正处于这一技术浪潮的前沿。但Apollo的潜力远远不止于此,它有可能引领整个城市的未来发展。本文将探讨Apollo自动驾驶平台在未来的展望,从智能出行到城市管…

VS Code用AI写代码:Codeium插件

文章目录 Codeiumchat代码生成 Codeium Codeium是基于边缘计算的代码AI工具,提供超过70种编程语言的代码补全、对话、搜索等功能,相当霸道。 在插件栏搜索到Codeium之后,需要科学上网安装,安装完成后会提示注册。注册之后&#…

这应该是Linux用户与用户组最详细的知识了吧!

【微|信|公|众|号:厦门微思网络】 Linux学习专栏​ 1、用户和用户组文件 在 linux 中,用户帐号,用户密码,用户组信息和用户组密码均是存放在不同的配置文件中的。 在 linux 系统中,所创建的用户帐号和其相关信息 (密…

考虑可再生能源消纳的建筑综合能源系统日前经济调度模型(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

基于智能远程监考方案,云上组考打造考试新范式

热潮兴起,「云上组考」是怎样炼成的? 疫情以来,改变了很多场景形态,“考试”是其中之一。 越来越多的学校开始采用云上组考模式,提高考试效率,节省人力、物力成本,规范考试管理,引发…

掌握Linux服务器:构建、管理和优化稳健的互联网基础设施

💂 个人网站:【工具大全】【游戏大全】【神级源码资源网】🤟 前端学习课程:👉【28个案例趣学前端】【400个JS面试题】💅 寻找学习交流、摸鱼划水的小伙伴,请点击【摸鱼学习交流群】 引言 Linux服务器是构建…