高级光线传播与高级外观建模

一.高级光线传播

1、无偏的

①有偏VS无偏

  • 蒙特卡洛估计出的结果的期望永远是对的

eg:PT中不管有多少样本,期望都是定积分的值

  • 有偏的:估计出的结果的期望和积分的值不一样
    • 一个特殊情况(一致的):极限定义下,会收敛到正确值

②双向路径追踪(BDPT)

  • 优点:光线传播在光源半边好算时,效果好
  • 缺点:慢

③Metropolis光线传播(MLT)

  • 用马尔科夫链的方法采样
  • 局部(local)做法
  • 优点:适合做复杂的光路(用一条光路作为种子)
  • 缺点
    • 不知道收敛的速度(无法预估渲染时间)
    • 局部→ 看起来脏

2、有偏的

①光子映射(Photon Mapping)

  • 非常擅长处理高光漫反射(SDS)路径并产生焦散
  • 两步做法
    举例一种:


    Stage1:从光源触发,知道打到diffuse表面,停在那里
    Stage:从camera开始,也打到diffuse停下,
    //Stage1&2合起来:局部密度估计,对于任意一个着色点,取n个最近的光子,计算占据的面积,然后计算光子密度
  • 细说光子映射

②VCM (Vertex Connection and Merging)

结合了光子映射和双向路径追踪

3、Instant Radiosity实时辐射度算法

  • 已经照亮的面都认为是光源,再照亮其他地方
  • 优点:快,能处理分散的场景
  • 缺点:不能做gloosy的物体

二.高级外观建模

1.非表面

①Participating media (如,云、雾):散射介质

  • 用Phase 函数定义光线如何折射
  • 如何渲染?

②Hair/fur/fiber(BCSDF)

·头发有色和无色的高光是怎么来的?

·以上效果不对→ 因为光线能穿过头发 →

·Marschner Model

·动物毛发(fur):引入骨髓质

③Granular material(颗粒材质)

.表面

①Translucent material (BSSRDF)半透明材质:

与传统的半透明材质有些不同,光线进入物体之后又发生了多次散射之后从另一个地方发射出去,这种散射方式叫做次表面散射,这个BSSRDF相比于BRDF中间的SS就是次表面散射

  • 如,玉石、水母

光线打到次表面散射的材质表面,就好像物体的底下有一个光源,为了物理上的真实,对应的上方也应该有一个光源。

BRDF与BSSRDF对比:

Cloth布料

  • 原理:不同纤维缠绕而来(fiber → Ply → Yarn )

  • 具体做法:
    • 当做表面(图1)
    • 当做Participating Media(图2)
    • 当成真正的纤维(图3)

③Detailed material (non-statistical BRDF)复杂/细节的材质

·对微表面模型的BRDF进行完善(加上现实中有的statistical normals)
    • D(h)项,正态分布和现实并不一样(图2)
    • 解决方法:一个pixel对应一个微表面(图3)

·不同的法线贴图有不同效果

  • 到此为止了? → No → 光的波动性(太难了)

3.程序化生成材质

  • 可以不用texture定义细节 → Noise function(定义在空间上的)
  • 给定任意空间中xyz,会返回一个值,可以用来生成地形,水面等等

  • 程序化生成:用一定的方式指导材质的生成,而不需要真正的生成,可以动态的查询他。
  • Houdini是先程序化生成,再拿来用。这个不用生成,直接去查询

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

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

相关文章

数字电路 第三章—第八节(组合电路中的竞争冒险)

一、竞争冒险的概念及其产生原因 1、竞争冒险的概念 (1)在组合逻辑电路中,当输入信号改变状态时,输出端可能出现虚假信号——过渡干扰脉冲的现象,叫做竞争冒险。 (2)如果负载是对脉冲信号十分…

Ubuntu上Jenkins自动化部署Gitee上SpringBoot项目

文章目录 安装安装JDK安装Maven安装GitNodeJS安装(可选)安装Jenkins 配置Jenkins为Jenkins更换插件源设置jenkins时区安装插件全局工具配置添加Gitee凭证Gitee项目配置 部署后端1.新建任务2.配置源码管理3.构建触发器4.到Gitee中添加WebHook5.构建环境6.…

MATLAB环境下基于分形理论的图像处理研究

分形理论的提出走出了传统整数维度空间的束缚,对物体的描述更加符合自然事物的复杂性与多样性。传统的维度空间是整数的,人们会将空间认为是三维的,平面认定为是二维的,直线是一维的,点被认为是零维的。而这种维度空间…

算法【线性表的查找-顺序查找】

线性表的查找-顺序查找 顺序查找基本思想应用范围顺序表的表示数据元素类型定义查找算法示例分析 时间效率分析顺序查找的特点如何提高查找效率 顺序查找 基本思想 在表的多种结构定义方式中,线性表是最简单的一种。而顺序查找是线性表查找中最简单的一种。 顺序查…

设计模式-结构型模式-组合模式

组合模式(Composite Pattern):组合多个对象形成树形结构以表示具有“部分—整体”关系的层次结构。组合模式对单个对象(即叶子对象)和组合对象(即容器对象)的使用具有一致性,又可以称…

Vue 实现页面导出A4标准大小的PDF文件,以及处理图片跨域不能正常展示的问题等

效果预览: 代码流程:首先在utils文件夹下创建htmlToPdf的js工具文件,然后在main.js中注册引用 htmlToPdf.js // 导出页面为PDF格式 import html2Canvas from html2canvas import JsPDF from jspdfexport default {install(Vue, options) {V…

【生成式AI】ChatGPT 原理解析(2/3)- 预训练 Pre-train

Hung-yi Lee 课件整理 预训练得到的模型我们叫自监督学习模型(Self-supervised Learning),也叫基石模型(foundation modle)。 文章目录 机器是怎么学习的ChatGPT里面的监督学习GPT-2GPT-3和GPT-3.5GPTChatGPT支持多语言…

SkyWalking微服务链路追踪实战

目录 skywalking是什么? Skywalking主要功能特性 Skywalking整体架构 SkyWalking 环境搭建部署 SkyWalking快速开始 SkyWalking Agent追踪微服务 通过jar包方式接入 在IDEA中使用Skywalking Skywalking跨多个微服务追踪 Skywalking集成日志框架 Skywalki…

简单聊聊现在的AI

简单聊聊现在的AI 前言主要的AI模型和形式LLM - Large Language Model(大语言模型)BOT(机器人)LAM - Large Action Models(大行动模型)Agent(智能体) 结尾 前言 好久没回来写博客&a…

华为云软件开发生产线CodeArts前端DevOps实践

原文链接:CodeArts前端DevOps实践_软件开发生产线 CodeArts_理论实践_DevOps概览 本文主要以CodeArts产品自身为背景,简要介绍一些在前端性能优化方面的优秀实践方法和常见问题。 在开始本文的内容之前,先简单介绍一下华为云CodeArts。Code…

【Linux】head命令使用

head命令 head是一个在 Unix 和 Unix-like 操作系统中常用的命令行工具,用于输出文件的前 n 行。默认为 10,即显示 10 行的内容。 语法 head [options] [file(s)] head命令 -Linux手册页 选项及作用 执行令 : head --help 执行命令结果…

Linux按键输入实验-创建按键的设备节点

一. 简介 Linux内核针对 GPIO驱动开发,提供了 pinctrl子系统与gpio子系统,方便了 GPIO驱动程序的开发。 本文开始学习如何利用 Linux内核的 pinctrl子系统,与 gpio子系统提供的 API函数,开发按键驱动。 这里主要学习在设备树文件中创建按键的设备节点。 二. Linux按键…

Springboot中如何记录好日志

Springboot中如何记录日志 日志体系整体介绍 日志一直在系统中占据这十分重要的地位,他是我们在系统发生故障时用来排查问题的利器,也是我们做操作审计的重要依据。那么如何记录好日志呢?选择什么框架来记录日志,是不是日志打越…

全域增长方法论:帮助品牌实现科学经营,助力长效生意增长

前两年由于疫情反复、供给需求收缩等条件制约,品牌业务均受到不同程度的影响。以双十一和618电商大促为例,就相比往年颇显“惨淡”,大多品牌营销都无法达到理想预期。 随着市场环境不断开放,2023年营销行业开始从低迷期走上了高速…

Flutter SDK 常见问题

镜像配置 配置pub服务的镜像地址: export PUB_HOSTED_URLhttps://pub.flutter-io.cn export FLUTTER_STORAGE_BASE_URLhttps://storage.flutter-io.cn 第一次运行项目很慢,搜索整个Flutter SDK项目,使用以下内容替换google和mavenCentral仓…

逆序或者正序打印一个数的每一位数,递归实现(C语言)

从键盘上输入一个不多于5位(包括5位)的正整数,要求 (1)求出它是几位数;(2)分别输出每一位数字(3)按逆序输出各位数字 (1)求出它是几位…

时间序列分析实战(五):ARIMA加法(疏系数)模型建模

🍉CSDN小墨&晓末:https://blog.csdn.net/jd1813346972 个人介绍: 研一|统计学|干货分享          擅长Python、Matlab、R等主流编程软件          累计十余项国家级比赛奖项,参与研究经费10w、40w级横向 文…

React PureComponent 和 React.memo()区别

1 注意 ● PureComponent和memo仅作为性能优化的方式存在 ● 不要依赖它来阻止渲染,会产生BUG ● PureComponnet 和memo 都是通过对 props 值的浅比较来决定该组件是否需要更新的。 2 PureComponent 和React.memo() 区别 PureComponent 和React.memo()都是React优化…

基于Springboot + Vue 母婴商城系统

末尾获取源码作者介绍:大家好,我是墨韵,本人4年开发经验,专注定制项目开发 更多项目:CSDN主页YAML墨韵 学如逆水行舟,不进则退。学习如赶路,不能慢一步。 目录 一、项目简介 二、开发技术与环…

国家电网相关信息收集

国家电网有限公司招聘平台--首页 (sgcc.com.cn) 这是官方唯一招聘网站平台 国家电网最新组织机构(总部、分部、27家省公司、40家直属单位) - 知乎 (zhihu.com) 总部招聘: 我的评价:总部在北京,而且只招几个&#xff…