首页 > 其他分享 > 对IBL的specular部分的思考

对IBL的specular部分的思考

时间:2023-02-08 19:06:19浏览次数:58  
标签:采样 反射 IBL env 波瓣 BRDF specular 思考 部分

背景知识

​https://learnopengl-cn.github.io/07 PBR/03 IBL/02 Specular IBL/​​ 这篇文章,讲到虚幻提供的分割法,把完整计算分为两部分
第一部分是重要性采样生成mipmap
第二部分是BRDF,提出F项,剩下部分预计算放在一张纹理中
第一部分,可以通过描述看出来,他大概是算出了波瓣宽度不一样,采样出来的图片该是啥样
第二部分,他总体就是BRDF项啊

思考

也就是说,第一部分,可以不管了,而第二部分,我们可以产生一些思考
第一个思考,他给的模型,是不是最好看的,最逼真的,那不一定,也就是说如果我们能找到别的模型,换上,会得到不同的效果
第二个思考,如果材质是多层材质,那么从表面来看,是不是入射光线打中之后,首先是第一层,本身有一套BRDF+env采样,然后一部分进去内部,最终看见的是他反射出来的颜色,那是另外一个BRDF+env采样,再下一层也是类似
那么假如只考虑两层,第一层的反射部分就直接是之前那套计算,那进去透射然后反射回来的怎么计算呢
假定第二层会全部反射,不会吸收掉能量
那么第二层的按道理会根据粗糙度把第一层传递下来的光线给变成波瓣,也就是说第一层传递下来的是小波瓣的话,直接就变成大波瓣,如果在粗糙一点,讲道理波瓣会变更大,那么这里无论波瓣多大,对应的env采样都能采样到正确结果,如果那套重要性采样没啥问题的话,我们假定他是对的,那么一要计算出射粗糙度,二还需要计算BRDF,这里怎么算??小波瓣和大波瓣有线性关系吗?没有啊。

总结

我们总结一下,要决定第二层采样env的mipmaplevel,其实就要算出最终他反射出来对应的粗糙度,采样方向还是视线和法线的反射方向
第二层的BRDF,找到一个关系,才能算出来。to be continue

标签:采样,反射,IBL,env,波瓣,BRDF,specular,思考,部分
From: https://blog.51cto.com/u_11889343/6044699

相关文章

  • 由一次生产事故思考队列在实际项目中的应用价值
    话说从一名.Neter转到Java开发也已经有3年多时间了,期间也积累了一些经验。今天就来谈谈RabbitMQ在实际项目中的应用。那是2020年的某个周末,突然收到反馈,商城页......
  • 关于一次close socket函数bug事故引发的思考
    前因后果昨天一下午肝完了作业1-12全部部分,就剩下13了。这次作业整体上较为简单,就是写一个webserver,然后用各种IO和IPC去实现多线程,多进程以及线程和进程的通信。这完全属......
  • SecureCRT--解决Key exchange failed.No compatible key-exchange method
    简介    本文介绍SecureCrt连接Linux的报错问题:Keyexchangefailed.Nocompatiblekey-exchangemethod问题复现我在使用SecureCrt连接Linux时,报了如下错误:K......
  • 12.6用程序来表示人类的思考方式
    到目前为止,我们已经用程序表示了直觉、想法、习惯以及经验等。不过,除此之外,人类还有一个思考方式。思考方式是思考方法的节奏。人类大脑中有类似于“石头、石头、布、剪刀......
  • 让计算机”思考“——12.1作为”工具“的程序和为了”思考“的程序
    程序就如同是由计算机执行的各种指令罗列起来的文章。计算机内部的CPU,通过对该文章的内容进行解析和运行,来控制连接到计算机的各种外围设备。具体来说,控制就是指CPU和各......
  • 12.2用程序来表示人类的思考方式
    那么,如何才能让计算机思考呢?接下来,我们就一边用C语言制作《猜拳游戏》,一边来尝试各种思考方式。在猜拳游戏中,程序需要让计算机像猜拳选手一样来思考。因此,为了制作该游......
  • 12.3用程序来表示人类的思考习惯
    即使是成年人,可能偶尔也会像代码清单12-1这样猜拳时随意决定出什么。不过,并不是所有人都如此。例如,“小A同学喜欢出石头”,像这样,出拳习惯是因人而异的。习惯也是人类的......
  • 学习方法:尼古拉斯·卢曼的思考方法(思考的方法:卡片法)
    学习方法:尼古拉斯·卢曼的思考方法(思考的方法:卡片法)    一、翻译内容: 尼古拉斯·卢曼的思考方法(思考的方法:卡片法) 总结: 1、频繁地、深入地思考“话题(......
  • B - Reversible Cards(树与图的基础)
    题目https://atcoder.jp/contests/arc111/tasks/arc111_b题意输入n(≤2e5)和一个n行2列的矩阵,矩阵元素范围[1,4e5]从每行中恰好选一个数,最多能选出多少个不......
  • ansible—playbook剧本编写
    一、playbooks组成Tasks:任务,即通过 task调用ansible的模板将多个操作组织在一个playbook中运行Variables:变量Templates:模板Handlers:处理器,当changed状态条件满足......