【计算机图形学】高级外观建模

news/2024/5/4 11:29:48/文章来源:https://blog.csdn.net/m0_57714486/article/details/126612254

文章目录

  • 高级外观建模 Advanced Appearance Modeling
    • 参与介质 Participating Media
    • 毛发外观 Hair Appearance
      • Marschner Model
      • Double Cylinder Model
    • 颗粒材料 Granular Material
    • 透光材质 Translucent Material
      • Dipole Approximation
    • 布料 Cloth
      • 当作表面进行渲染
      • 当作参与介质渲染
      • 当作实际纤维渲染
    • 波动光学 Wave Optics
    • 程序化表面 Procedural Appearance

高级外观建模 Advanced Appearance Modeling

参与介质 Participating Media

光线传播途中遇到参与介质,可能被吸收或者分散。

用相位函数 Phase Function 来描述如何散射。

如何渲染?

  1. 随机选择一个方向弹射
  2. 随机选择一定距离传播
  3. 连接每一个着色点形成光路

毛发外观 Hair Appearance

Marschner Model

在 Marschner Model 中,光线与毛发有三种作用:R(直接反射)、TT(直接穿透)与TRT(穿透一层反射再穿透)。

用来表现人的头发最终效果非常好

Double Cylinder Model

Marschner Model 用在动物毛发上效果并不好

这是因为动物毛发与人的头发在生理结构上有一定差别

头发由表皮 Cuticle、皮层 Cortex 和髓质 Medulla 组成,其中髓质分散光线,表皮吸收光线。我们发现美洲豹的髓质比人大得多。所以有了双层圆柱模型:

其中 TTs 与 TRTs 是穿过髓质形成散射的项。

颗粒材料 Granular Material

我们可以避免显示地对每一个颗粒进行建模吗?是可以的,每一个单元认为是以不同比例成分组成的。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YjKb575H-1661863497232)(assets/1661222286315.png)]

透光材质 Translucent Material

许多表面的视觉特征,这是由于光的入射点与出射点不一致所造成的,光在进入透光材质内部后不断散射后才出射,这与 BRDF 的基本假设相违背。

为了描述这一种现象,引入 BSSRDF :由一点辐射照度引起的另一点出射辐射亮度
S(xi,wi;xo,wo)S(x_i, w_i;x_o,w_o) S(xi,wi;xo,wo)
渲染方程的推广:对表面上所有点和所有方向进行积分
L(xo,ωo)=∫A∫H2S(xi,ωi,xo,ωo)Li(xi,ωi)cos⁡θidωidAL\left(x_{o}, \omega_{o}\right)=\int_{A} \int_{H^{2}} S\left(x_{i}, \omega_{i}, x_{o}, \omega_{o}\right) L_{i}\left(x_{i}, \omega_{i}\right) \cos \theta_{i} \mathrm{~d} \omega_{i} \mathrm{~d} A L(xo,ωo)=AH2S(xi,ωi,xo,ωo)Li(xi,ωi)cosθi dωi dA

Dipole Approximation

通过引入两点光源近似光扩散。

布料 Cloth

扭曲的纤维 fiber 组成股 Ply,股再组成线 Yarn

当作表面进行渲染

给定编织模式,利用 BRDF 渲染

当作参与介质渲染

单根光纤的特性及其分布得到其散射参数

在这里插入图片描述

当作实际纤维渲染

显示渲染每一根纤维。

波动光学 Wave Optics

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1JqBGCLE-1661863497234)(assets/1661224673668.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CGZJRWaF-1661863497234)(assets/1661224707291.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RVcu13Iw-1661863497235)(assets/1661224722861.png)]

一个光源照射的实际照片放大后发现每一个像素并不是一个颜色,这是得用波动光学来解释的

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-17XNYKJD-1661863497235)(assets/1661224789143.png)]

利用波动光学得到的 BRDF 与几何光学得到的相比,波动光学的是不连续的

程序化表面 Procedural Appearance

除了纹理,我们还可以用噪声函数定义表面(直接查)。

阈值转换法计算二进制噪声

if noise(x, y, z) > threshold:reflectance = 1
else:reflectance = 0

可用于生成山体、水体

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

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

阿里云dataworks中业务流程中问题(odps2)

bigdate形式的数据在odps的2.0版本中无法隐式转换,应将一个参数改为false如下 setproject odps.sql.type.system.odps2false; 上面的语句应该与insert …table 表名 select …一起使用 例如 setproject odps.sql.type.system.odps2false; INSERT OVERWRITE TABLE y…

PC端 Rockchip RKNN-Toolkit 连接 Rockchip NPU 设备

PC端 Rockchip RKNN-Toolkit 连接 Rockchip NPU 设备 flyfish 安装Windows版的Rockchip RKNN-Toolkit 可以使用anaconda简化安装,如果是linux请参考 瑞芯微 Rockchip RKNN-Toolkit 环境搭建 前提 Windows下已经安装Rockchip RKNN-Toolkit 1 物理连接 物理上先…

无锅一身轻,IT资产账号密码就该这么管理

身为运维工程师、公司的IT资产都在你的管理范围。每天疲于奔命、忙于解决各种问题、救火式运维让多少运维兄弟的身体被掏空、姑娘看了都直摇头。 账号密码管理不善、往往是运维兄弟背锅的首要原因。 1、针对外包商的账号管理问题 随着网络越来越发达、像下图中这样的泄密事件也…

B+树结构与索引<一> _ 结构与索引

目录 一、B树结构 1. 二分查找法 2. 二叉查找树 3. 平衡二叉树 4. 平衡多路查找树(B-Tree) 5. B树 二、操作B树 1. 插入操作 2. 删除操作 三、B树索引类型 1. 聚集索引(clustered index) 2. 辅助索引(seco…

JS(WebAPI部分)

文章目录DOMDOM 简介获取元素事件基础事件三要素执行事件的步骤操作元素ROMMDN文档链接: https://developer.mozilla.org/zh-CN/docs/Web/APIDOM DOM 简介 文档对象模型(Document Object Model,简称 DOM),是 W3C 组织…

CogView中网络结构的总体构建

入门小菜鸟,希望像做笔记记录自己学的东西,也希望能帮助到同样入门的人,更希望大佬们帮忙纠错啦~侵权立删。 目录 一、构建图 二、代码解析 1、__init__ (1)参数设定 (2)Word embeddings …

UVA 10271 佳佳的筷子 Chopsticks [DP的基本运用]

佳佳的筷子 Chopsticks 题面翻译 定义一个三元组(a,b,c)(a⩽b⩽c)(a,b,c)(a\leqslant b\leqslant c)(a,b,c)(a⩽b⩽c),它的权值为 (a−b)2(a-b)^2(a−b)2 。 给定 n(n⩽5000)n(n\leqslant5000)n(n⩽5000) 个数,要求选出 k8k8k8 个三元组,使…

2、操作系统基本原理

操作系统基本原理 软件设计师需要有扎实的理论知识,而操作系统作为计算机科学最为基本的理论基础和分支领域之一,是软件设计师必须重点掌握的知识。本章将介绍操作系统相关的考点,并辅以练习题,以便考生切实掌握相关内容。 根据考…

【python经验总结】我与bug的那些日子

【python经验总结】我与bug的那段岁月 💖💖💖💕💕💕欢迎来到本博客💕💕💕💖💖💖 . 🎁支持:如果觉得博主的文章…

猿创征文|【Typescript】搭建TS的编译环境

多一些不为什么的坚持🤳 贤蛋 🥚大眼萌 ,一名很普通但不想普通的程序媛🙊 📝本文章收录于专栏:Typescript学习 搭建TS的编译环境🎈 认识Typescript💊 Typescript 的编译环境&#x1…

110道Java初级面试题及答案(最新Java初级面试题大汇总)

史上最全Java初中级面试题,发现网上很多Java初级面试题都没有答案,所以花了很长时间搜集整理出来了这套Java面试题大全,希望对大家有帮助哈~ 本人发现网上虽然有不少Java相关的面试题,但第一未必全,第二未必有答案&am…

windows系统使用docker-compose

windows系统使用docker-compose 为什么使用docker-compose? 使用 Docker Compose 可以轻松、高效的管理容器,它是一个用于定义和运行多容器 Docker 的应用程序工具 1、新建docker-compose.yml文件 在windows系统找到docker的安装目录:C:P…

2022 IDC中国数字金融论坛 | 筑基金融信创 共话金融科技新愿景

2022年8月18日,第十届“IDC中国数字金融论坛”于北京举行。本届论坛以“开放融合、数字信任、智慧金融”为主题,基于IDC对全球金融科技发展及行业趋势的研究,发布对金融行业趋势的解读与对数字金融发展的洞见,为金融领域资深专家及…

怎么把PDF转换成CAD文件格式呢?

我们在工作中难免会遇到各种文件格式,而每种格式都有其独特的优点。比如PDF文件格式比其他文件格式更稳定,基本上所有系统都可以打开,内容不容易修改。而CAD文件格式,在工程建设中,尤其是设计阶段被广泛应用。那么当我…

27、CityNeRF

简介 主页:https://city-super.github.io/citynerf/ CityNeRF能够将城市尺度的3D场景打包到一个统一的模型中,它能够保存从卫星到地面不等尺度的高质量细节。顶部:使用边缘颜色蓝色(L1)、绿色(L2)和橙色(L3)来表示从最远到最近的三个等级,P…

L73.linux命令每日一练 -- 第十章 Linux网络管理命令 -- dig和host

10.19 dig:域名查询工具 10.19.1 命令详解 ​ 【命令星级】 ★★★★☆ ​ 【功能说明】 ​ dig命令是常用的域名查询工具,可以用于测试域名系统的工作是否正常。 ​ 【语法格式】 dig [option] dig [选项]​ **说明:**在dig命令及后面…

Debian/Ubuntu/Kali 如何安装 Spotify 音乐白嫖神器

How to install Spotify on Debian/Ubuntu/Kali Linux 可能有小伙伴不了解,什么是Spotify?博主照搬维基百科来做 简要介绍: Spotify(/ˈspɒtɪfaɪ/),中文译作“声田”),是一家瑞典…

如何图片批量重命名编号不要汉字?

如何图片批量重命名编号不要汉字?如果你是一个摄影发烧友,或者你是一名从事摄影相关工作的朋友,那么肯定经常会将拍摄好的照片转移到电脑上,然后进行批量重命名。其实不管什么时候,我们经常会遇到图片批量重命名的操作…

group by后,使用nvl失效问题

原因 首先,这篇博客写出了这个问题出现的原因: 链接: nvl(sum(字段),0) 的时候,能展示数据0,但是group by 下某个伪列的时候,查不到数据(转载) 这里我也总结下原因:没有记录返回则…

使用Kibana进行数据可视化

使用 Kibana 进行数据可视化 使用 ELK 堆栈(Elasticsearch、Logstash 和 Kibana)和 Elastic Stack 的一部分 Kibana 可视化和分析数据。 课程英文名:Data Visualization with Kibana 此视频教程共21.0小时,中英双语字幕&#x…